From 14a7aa699f0eafd9325e2228e26c31cc2ba9f0bd Mon Sep 17 00:00:00 2001 From: Yury Shuvakin Date: Mon, 1 Aug 2022 21:53:36 +0300 Subject: [PATCH] Initial commit (project based on widgets) --- .gitignore | 9 + ENNOID-BMS-Tool.pro | 176 + README.md | 20 + akbmonitorpage.cpp | 496 + akbmonitorpage.h | 90 + akbmonitorpage.ui | 1520 + android/AndroidManifest.xml | 74 + android/build.gradle | 55 + android/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54213 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + android/gradlew | 172 + android/res/drawable-hdpi/icon.png | Bin 0 -> 546 bytes android/res/drawable-ldpi/icon.png | Bin 0 -> 363 bytes android/res/drawable-mdpi/icon.png | Bin 0 -> 421 bytes android/res/values/libs.xml | 25 + bleuart.cpp | 301 + bleuart.h | 89 + bmsinterface.cpp | 894 + bmsinterface.h | 214 + bmsservicepage.cpp | 97 + bmsservicepage.h | 60 + bmsservicepage.ui | 281 + bmssettings.cpp | 646 + bmssettings.h | 89 + bmssettings.ui | 2201 ++ bmssettingswidget.cpp | 572 + bmssettingswidget.h | 62 + bmssettingswidget.ui | 2135 ++ cellsmonitorcheckboxdelegate.cpp | 116 + cellsmonitorcheckboxdelegate.h | 64 + cellsmonitorlabelvoltagedelegate.cpp | 104 + cellsmonitorlabelvoltagedelegate.h | 75 + cellsmonitorpage.cpp | 458 + cellsmonitorpage.h | 113 + cellsmonitorpage.ui | 353 + commands.cpp | 744 + commands.h | 131 + configparam.cpp | 101 + configparam.h | 71 + configparams.cpp | 1559 + configparams.h | 151 + configparamsgetter.cpp | 189 + configparamsgetter.h | 18 + configurationpage.cpp | 535 + configurationpage.h | 119 + configurationpage.ui | 707 + connectandenterpage.cpp | 384 + connectandenterpage.h | 94 + connectandenterpage.ui | 733 + customlefttabbarbutton.cpp | 76 + customlefttabbarbutton.h | 32 + datatypes.h | 469 + debugprintpage.cpp | 58 + debugprintpage.h | 39 + debugprintpage.ui | 233 + digitalfiltering.cpp | 313 + digitalfiltering.h | 48 + historylineeditbox.cpp | 108 + historylineeditbox.h | 48 + hoverablecombobox.cpp | 9 + hoverablecombobox.h | 35 + images/IMAGE01.png | Bin 0 -> 68746 bytes images/IMAGE02.png | Bin 0 -> 98876 bytes languageselectorbutton.cpp | 39 + languageselectorbutton.h | 32 + main.cpp | 146 + mainwindow.cpp | 883 + mainwindow.h | 170 + mainwindow.ui | 550 + mainwindownew.cpp | 2272 ++ mainwindownew.h | 209 + mainwindownew.ui | 930 + mobile/AdcMap.qml | 219 + mobile/ConfigPageCell.qml | 286 + mobile/ConfigPageDisplay.qml | 203 + mobile/ConfigPageGeneral.qml | 308 + mobile/ConfigPageSignal.qml | 244 + mobile/ConfigPageSwitch.qml | 209 + mobile/ConnectBle.qml | 393 + mobile/ConnectBle2.qml | 110 + mobile/ConnectBleForm.ui.qml | 159 + mobile/Controls.qml | 456 + mobile/CustomGauge.qml | 217 + mobile/DetectBldc.qml | 262 + mobile/DetectFocEncoder.qml | 194 + mobile/DetectFocHall.qml | 204 + mobile/DetectFocParam.qml | 367 + mobile/DoubleSpinBox.qml | 69 + mobile/FilePicker.qml | 214 + mobile/FwUpdate.qml | 601 + mobile/NrfPair.qml | 173 + mobile/PairingDialog.qml | 358 + mobile/ParamEditBool.qml | 139 + mobile/ParamEditDouble.qml | 200 + mobile/ParamEditEnum.qml | 151 + mobile/ParamEditInt.qml | 210 + mobile/ParamEditSeparator.qml | 48 + mobile/ParamEditString.qml | 148 + mobile/ParamEditors.qml | 72 + mobile/PpmMap.qml | 193 + mobile/ProgressBar.qml | 70 + mobile/RtData.qml | 270 + mobile/RtData2.qml | 224 + mobile/RtDataSetup.qml | 240 + mobile/RtProgressBar.qml | 60 + mobile/Terminal.qml | 124 + mobile/fwhelper.cpp | 135 + mobile/fwhelper.h | 48 + mobile/main.qml | 498 + mobile/mobile.pri | 13 + mobile/qml.qrc | 31 + mobile/qmlui.cpp | 70 + mobile/qmlui.h | 54 + mobile/qtquickcontrols2.conf | 17 + orig.zip | Bin 0 -> 3469400 bytes packet.cpp | 192 + packet.h | 62 + pages/pageconnection.cpp | 276 + pages/pageconnection.h | 75 + pages/pageconnection.ui | 628 + pages/pagedataanalysis.cpp | 59 + pages/pagedataanalysis.h | 53 + pages/pagedataanalysis.ui | 31 + pages/pagedebugprint.cpp | 54 + pages/pagedebugprint.h | 52 + pages/pagedebugprint.ui | 88 + pages/pagefirmware.cpp | 368 + pages/pagefirmware.h | 66 + pages/pagefirmware.ui | 308 + pages/pagemastercell.cpp | 110 + pages/pagemastercell.h | 52 + pages/pagemastercell.ui | 81 + pages/pagemasterdisplay.cpp | 60 + pages/pagemasterdisplay.h | 52 + pages/pagemasterdisplay.ui | 58 + pages/pagemastergeneral.cpp | 119 + pages/pagemastergeneral.h | 52 + pages/pagemastergeneral.ui | 84 + pages/pagemastersettings.cpp | 118 + pages/pagemastersettings.h | 52 + pages/pagemastersettings.ui | 31 + pages/pagemastersignals.cpp | 75 + pages/pagemastersignals.h | 52 + pages/pagemastersignals.ui | 58 + pages/pagemasterswitch.cpp | 67 + pages/pagemasterswitch.h | 52 + pages/pagemasterswitch.ui | 58 + pages/pagertdata.cpp | 584 + pages/pagertdata.h | 109 + pages/pagertdata.ui | 354 + pages/pages.pri | 65 + pages/pagesettings.cpp | 61 + pages/pagesettings.h | 55 + pages/pagesettings.ui | 92 + pages/pagesetupcalculators.cpp | 62 + pages/pagesetupcalculators.h | 57 + pages/pagesetupcalculators.ui | 81 + pages/pageslavefan.cpp | 52 + pages/pageslavefan.h | 52 + pages/pageslavefan.ui | 31 + pages/pageslavegeneral.cpp | 62 + pages/pageslavegeneral.h | 52 + pages/pageslavegeneral.ui | 45 + pages/pageslaveio.cpp | 60 + pages/pageslaveio.h | 52 + pages/pageslaveio.ui | 58 + pages/pageslavesettings.cpp | 60 + pages/pageslavesettings.h | 52 + pages/pageslavesettings.ui | 31 + pages/pageslaveswitch.cpp | 61 + pages/pageslaveswitch.h | 52 + pages/pageslaveswitch.ui | 31 + pages/pageterminal.cpp | 81 + pages/pageterminal.h | 60 + pages/pageterminal.ui | 142 + pages/pagewelcome.cpp | 59 + pages/pagewelcome.h | 58 + pages/pagewelcome.ui | 86 + parametereditor.cpp | 589 + parametereditor.h | 86 + parametereditor.ui | 1214 + res.qrc | 160 + res/CHANGELOG | 30 + res/WARRANTY | 5 + res/b0L.png | Bin 0 -> 6403 bytes res/b0R.png | Bin 0 -> 6525 bytes res/bg.png | Bin 0 -> 1215 bytes res/bootloaders/CHANGELOG | 2 + res/bootloaders/generic.bin | Bin 0 -> 12788 bytes res/cbox-arrow-down-black-15.png | Bin 0 -> 3012 bytes res/cbox-arrow-down-black-big.png | Bin 0 -> 3214 bytes res/cbox-arrow-down-black-old.png | Bin 0 -> 2892 bytes res/cbox-arrow-down-black.png | Bin 0 -> 2947 bytes res/cbox-arrow-down-gray.png | Bin 0 -> 303 bytes res/cbox-arrow-down.png | Bin 0 -> 2892 bytes res/cbox-arrow-up-green-15.png | Bin 0 -> 3093 bytes res/cbox-arrow-up-green-big.png | Bin 0 -> 3246 bytes res/cbox-arrow-up-green.png | Bin 0 -> 2988 bytes res/checkbox_checked-green.png | Bin 0 -> 1526 bytes res/checkbox_checked-next.png | Bin 0 -> 3794 bytes res/checkbox_checked-rect - копия.png | Bin 0 -> 3864 bytes res/checkbox_checked-rect.png | Bin 0 -> 3864 bytes res/checkbox_checked.png | Bin 0 -> 4034 bytes res/config.xml | 2586 ++ res/config/1.1/info.xml | 533 + res/config/1.1/parameters_bmsconf.xml | 2361 ++ res/cubo-verde-logo-green.png | Bin 0 -> 18032 bytes res/cubo-verde-logo-white.png | Bin 0 -> 6728 bytes res/ennoidbmstool-version.html | 1 + res/firmwares/CHANGELOG | 38 + res/firmwares/ENNOID-HV/ENNOID-BMS_HV.bin | Bin 0 -> 84832 bytes res/firmwares/ENNOID-LV/ENNOID-BMS_LV.bin | Bin 0 -> 84812 bytes .../ENNOID-SS-LITE/ENNOID-BMS_SS_LITE.bin | Bin 0 -> 85316 bytes res/firmwares/ENNOID-SS/ENNOID-BMS_SS.bin | Bin 0 -> 85308 bytes res/firmwares/ENNOID/ENNOID-BMS.bin | Bin 0 -> 84832 bytes res/fonts/Artifakt-Element.ttf | Bin 0 -> 114476 bytes res/fonts/DejaVuSans-Bold.ttf | Bin 0 -> 704128 bytes res/fonts/DejaVuSans-BoldOblique.ttf | Bin 0 -> 641720 bytes res/fonts/DejaVuSans-Oblique.ttf | Bin 0 -> 633840 bytes res/fonts/DejaVuSans.ttf | Bin 0 -> 756072 bytes res/fonts/DejaVuSansMono-Bold.ttf | Bin 0 -> 331536 bytes res/fonts/DejaVuSansMono-BoldOblique.ttf | Bin 0 -> 253116 bytes res/fonts/DejaVuSansMono-Oblique.ttf | Bin 0 -> 251472 bytes res/fonts/DejaVuSansMono.ttf | Bin 0 -> 340240 bytes res/icons/3ph_sine.png | Bin 0 -> 7213 bytes res/icons/About-96.png | Bin 0 -> 504 bytes res/icons/Anchor-96.png | Bin 0 -> 1136 bytes res/icons/Brake Warning-96.png | Bin 0 -> 1554 bytes res/icons/Bug-96.png | Bin 0 -> 1027 bytes res/icons/Calculator-96.png | Bin 0 -> 501 bytes res/icons/Cancel-96.png | Bin 0 -> 1056 bytes res/icons/Car Battery-96.png | Bin 0 -> 497 bytes res/icons/Circled Play-96.png | Bin 0 -> 1375 bytes res/icons/Connected-96.png | Bin 0 -> 858 bytes res/icons/Console-96.png | Bin 0 -> 634 bytes res/icons/Controller-96.png | Bin 0 -> 979 bytes res/icons/Data Backup-96.png | Bin 0 -> 2093 bytes res/icons/Delete-96.png | Bin 0 -> 396 bytes res/icons/Disconnected-96.png | Bin 0 -> 907 bytes res/icons/Down-96.png | Bin 0 -> 560 bytes res/icons/Download-96.png | Bin 0 -> 445 bytes res/icons/Electronics-96.png | Bin 0 -> 576 bytes res/icons/Help-96.png | Bin 0 -> 1768 bytes res/icons/Home-96.png | Bin 0 -> 631 bytes res/icons/Horizontal Settings Mixer-96.png | Bin 0 -> 447 bytes res/icons/Line Chart-96.png | Bin 0 -> 997 bytes res/icons/Ok-96.png | Bin 0 -> 1088 bytes res/icons/Online-96.png | Bin 0 -> 1248 bytes res/icons/Open Folder-96.png | Bin 0 -> 617 bytes res/icons/Outgoing Data-96.png | Bin 0 -> 603 bytes res/icons/Plus Math-96.png | Bin 0 -> 237 bytes res/icons/Potentiometer-96.png | Bin 0 -> 1462 bytes res/icons/Process-96.png | Bin 0 -> 1126 bytes res/icons/Refresh-96.png | Bin 0 -> 714 bytes res/icons/Restart-96.png | Bin 0 -> 1284 bytes res/icons/Restart-97-Black.png | Bin 0 -> 6367 bytes res/icons/Restart-97-White.png | Bin 0 -> 5714 bytes res/icons/Rs 232 Male-96.png | Bin 0 -> 851 bytes res/icons/Save as-96.png | Bin 0 -> 680 bytes res/icons/Save-96.png | Bin 0 -> 573 bytes res/icons/Send File-96.png | Bin 0 -> 671 bytes res/icons/Settings-96.png | Bin 0 -> 1146 bytes res/icons/Shutdown-96.png | Bin 0 -> 1173 bytes res/icons/Speed-96.png | Bin 0 -> 1138 bytes res/icons/Stop Sign-96.png | Bin 0 -> 1331 bytes res/icons/Stop-96.png | Bin 0 -> 269 bytes res/icons/Toggle Off-96_2.png | Bin 0 -> 965 bytes res/icons/Toggle On-96_2.png | Bin 0 -> 845 bytes res/icons/Up-96.png | Bin 0 -> 588 bytes res/icons/Upload-96.png | Bin 0 -> 461 bytes res/icons/User Group Man Man-96.png | Bin 0 -> 849 bytes res/icons/Wii-96.png | Bin 0 -> 1184 bytes res/icons/Wizard-96.png | Bin 0 -> 964 bytes res/icons/alive_off.png | Bin 0 -> 2540 bytes res/icons/alive_on.png | Bin 0 -> 7578 bytes res/icons/app_default.png | Bin 0 -> 1979 bytes res/icons/app_down.png | Bin 0 -> 1407 bytes res/icons/app_up.png | Bin 0 -> 1369 bytes res/icons/appconf.png | Bin 0 -> 3434 bytes res/icons/apply.png | Bin 0 -> 5206 bytes res/icons/arrow_down.png | Bin 0 -> 1200 bytes res/icons/arrow_l.png | Bin 0 -> 930 bytes res/icons/arrow_r.png | Bin 0 -> 922 bytes res/icons/arrow_up.png | Bin 0 -> 1190 bytes res/icons/batteries-96.png | Bin 0 -> 1304 bytes res/icons/bldc.png | Bin 0 -> 713 bytes res/icons/can_off.png | Bin 0 -> 3234 bytes res/icons/can_on.png | Bin 0 -> 7987 bytes res/icons/collapse_off.png | Bin 0 -> 1057 bytes res/icons/collapse_on.png | Bin 0 -> 4366 bytes res/icons/expand_off.png | Bin 0 -> 1112 bytes res/icons/expand_on.png | Bin 0 -> 4319 bytes res/icons/expand_v_off.png | Bin 0 -> 1266 bytes res/icons/expand_v_on.png | Bin 0 -> 4320 bytes res/icons/fan-96.png | Bin 0 -> 2772 bytes res/icons/ic_folder_open_black_48dp.png | Bin 0 -> 242 bytes res/icons/ic_insert_drive_file_black_48dp.png | Bin 0 -> 273 bytes res/icons/keys_off.png | Bin 0 -> 2369 bytes res/icons/keys_on.png | Bin 0 -> 6333 bytes res/icons/lambda.png | Bin 0 -> 1950 bytes res/icons/mcconf.png | Bin 0 -> 5486 bytes res/icons/motor.png | Bin 0 -> 5699 bytes res/icons/motor_default.png | Bin 0 -> 1992 bytes res/icons/motor_down.png | Bin 0 -> 1379 bytes res/icons/motor_up.png | Bin 0 -> 1351 bytes res/icons/rl.png | Bin 0 -> 1869 bytes res/icons/rt_app_off.png | Bin 0 -> 1913 bytes res/icons/rt_app_on.png | Bin 0 -> 4985 bytes res/icons/rt_off.png | Bin 0 -> 2600 bytes res/icons/rt_on.png | Bin 0 -> 7827 bytes res/icons/sampl_trigger_start.png | Bin 0 -> 6465 bytes res/icons/sample_trigger_fault.png | Bin 0 -> 2843 bytes res/icons/sample_trigger_fault_nosend.png | Bin 0 -> 3601 bytes res/icons/sample_trigger_start_nosend.png | Bin 0 -> 7535 bytes res/icons/size_off.png | Bin 0 -> 1512 bytes res/icons/size_on.png | Bin 0 -> 4570 bytes res/icons_textedit/Add Image-96.png | Bin 0 -> 498 bytes res/icons_textedit/Align Center-96.png | Bin 0 -> 280 bytes res/icons_textedit/Align Justify-96.png | Bin 0 -> 279 bytes res/icons_textedit/Align Left-96.png | Bin 0 -> 279 bytes res/icons_textedit/Align Right-96.png | Bin 0 -> 278 bytes res/icons_textedit/Bold-96.png | Bin 0 -> 1105 bytes res/icons_textedit/Bulleted List-96.png | Bin 0 -> 388 bytes res/icons_textedit/Copy-96.png | Bin 0 -> 578 bytes res/icons_textedit/Cut-96.png | Bin 0 -> 1073 bytes res/icons_textedit/Fill Color-96.png | Bin 0 -> 1346 bytes res/icons_textedit/Indent-96.png | Bin 0 -> 520 bytes res/icons_textedit/Italic-96.png | Bin 0 -> 605 bytes res/icons_textedit/Link-96.png | Bin 0 -> 1211 bytes res/icons_textedit/Menu 2-96.png | Bin 0 -> 393 bytes res/icons_textedit/Numbered List-96.png | Bin 0 -> 866 bytes res/icons_textedit/Outdent-96.png | Bin 0 -> 505 bytes res/icons_textedit/Paste-96.png | Bin 0 -> 791 bytes res/icons_textedit/Redo-96.png | Bin 0 -> 1018 bytes res/icons_textedit/Strikethrough-96.png | Bin 0 -> 286 bytes res/icons_textedit/Text Color-96.png | Bin 0 -> 1136 bytes res/icons_textedit/Undo-96.png | Bin 0 -> 1041 bytes res/images/vedder_nunchuk.jpg | Bin 0 -> 16228 bytes res/info.xml | 542 + res/language-eng.png | Bin 0 -> 11778 bytes res/language-russ.png | Bin 0 -> 3533 bytes res/logo.png | Bin 0 -> 22681 bytes res/logo_white.png | Bin 0 -> 32865 bytes res/menu-akb-monitor.png | Bin 0 -> 4660 bytes res/menu-cells-monitor.png | Bin 0 -> 3552 bytes res/menu-configuration.png | Bin 0 -> 11962 bytes res/menu-exit.png | Bin 0 -> 6262 bytes res/menu-history.png | Bin 0 -> 12899 bytes res/menu-serive-of-bms.png | Bin 0 -> 16995 bytes res/menu-settings-extra.png | Bin 0 -> 2965 bytes res/menu-visualization.png | Bin 0 -> 7142 bytes settingsextrapage.cpp | 100 + settingsextrapage.h | 53 + settingsextrapage.ui | 677 + utility.cpp | 258 + utility.h | 62 + vbytearray.cpp | 248 + vbytearray.h | 62 + visualizationchart.cpp | 723 + visualizationchart.h | 219 + visualizationchartexperiments.cpp | 883 + visualizationpage.cpp | 1433 + visualizationpage.h | 336 + visualizationpage.ui | 1680 + widgets/aspectimglabel.cpp | 46 + widgets/aspectimglabel.h | 43 + widgets/displaybar.cpp | 142 + widgets/displaybar.h | 59 + widgets/displaypercentage.cpp | 147 + widgets/displaypercentage.h | 54 + widgets/helpdialog.cpp | 86 + widgets/helpdialog.h | 50 + widgets/helpdialog.ui | 94 + widgets/historylineedit.cpp | 109 + widgets/historylineedit.h | 47 + widgets/imagewidget.cpp | 54 + widgets/imagewidget.h | 46 + widgets/mrichtextedit.cpp | 707 + widgets/mrichtextedit.h | 102 + widgets/mrichtextedit.ui | 704 + widgets/mtextedit.cpp | 101 + widgets/mtextedit.h | 40 + widgets/pagelistitem.cpp | 103 + widgets/pagelistitem.h | 57 + widgets/paramdialog.cpp | 64 + widgets/paramdialog.h | 57 + widgets/paramdialog.ui | 65 + widgets/parameditbool.cpp | 101 + widgets/parameditbool.h | 55 + widgets/parameditbool.ui | 112 + widgets/parameditdouble.cpp | 200 + widgets/parameditdouble.h | 73 + widgets/parameditdouble.ui | 102 + widgets/parameditenum.cpp | 107 + widgets/parameditenum.h | 56 + widgets/parameditenum.ui | 101 + widgets/parameditint.cpp | 210 + widgets/parameditint.h | 73 + widgets/parameditint.ui | 102 + widgets/parameditstring.cpp | 82 + widgets/parameditstring.h | 54 + widgets/parameditstring.ui | 61 + widgets/paramtable.cpp | 80 + widgets/paramtable.h | 36 + widgets/qcustomplot.cpp | 30121 ++++++++++++++++ widgets/qcustomplot.h | 6659 ++++ widgets/rtdatatext.cpp | 304 + widgets/rtdatatext.h | 55 + widgets/vtextbrowser.cpp | 61 + widgets/vtextbrowser.h | 41 + widgets/widgets.pri | 52 + 411 files changed, 95119 insertions(+) create mode 100644 .gitignore create mode 100644 ENNOID-BMS-Tool.pro create mode 100644 README.md create mode 100644 akbmonitorpage.cpp create mode 100644 akbmonitorpage.h create mode 100644 akbmonitorpage.ui create mode 100644 android/AndroidManifest.xml create mode 100644 android/build.gradle create mode 100644 android/gradle/wrapper/gradle-wrapper.jar create mode 100644 android/gradle/wrapper/gradle-wrapper.properties create mode 100644 android/gradlew create mode 100644 android/res/drawable-hdpi/icon.png create mode 100644 android/res/drawable-ldpi/icon.png create mode 100644 android/res/drawable-mdpi/icon.png create mode 100644 android/res/values/libs.xml create mode 100644 bleuart.cpp create mode 100644 bleuart.h create mode 100644 bmsinterface.cpp create mode 100644 bmsinterface.h create mode 100644 bmsservicepage.cpp create mode 100644 bmsservicepage.h create mode 100644 bmsservicepage.ui create mode 100644 bmssettings.cpp create mode 100644 bmssettings.h create mode 100644 bmssettings.ui create mode 100644 bmssettingswidget.cpp create mode 100644 bmssettingswidget.h create mode 100644 bmssettingswidget.ui create mode 100644 cellsmonitorcheckboxdelegate.cpp create mode 100644 cellsmonitorcheckboxdelegate.h create mode 100644 cellsmonitorlabelvoltagedelegate.cpp create mode 100644 cellsmonitorlabelvoltagedelegate.h create mode 100644 cellsmonitorpage.cpp create mode 100644 cellsmonitorpage.h create mode 100644 cellsmonitorpage.ui create mode 100644 commands.cpp create mode 100644 commands.h create mode 100644 configparam.cpp create mode 100644 configparam.h create mode 100644 configparams.cpp create mode 100644 configparams.h create mode 100644 configparamsgetter.cpp create mode 100644 configparamsgetter.h create mode 100644 configurationpage.cpp create mode 100644 configurationpage.h create mode 100644 configurationpage.ui create mode 100644 connectandenterpage.cpp create mode 100644 connectandenterpage.h create mode 100644 connectandenterpage.ui create mode 100644 customlefttabbarbutton.cpp create mode 100644 customlefttabbarbutton.h create mode 100644 datatypes.h create mode 100644 debugprintpage.cpp create mode 100644 debugprintpage.h create mode 100644 debugprintpage.ui create mode 100644 digitalfiltering.cpp create mode 100644 digitalfiltering.h create mode 100644 historylineeditbox.cpp create mode 100644 historylineeditbox.h create mode 100644 hoverablecombobox.cpp create mode 100644 hoverablecombobox.h create mode 100644 images/IMAGE01.png create mode 100644 images/IMAGE02.png create mode 100644 languageselectorbutton.cpp create mode 100644 languageselectorbutton.h create mode 100644 main.cpp create mode 100644 mainwindow.cpp create mode 100644 mainwindow.h create mode 100644 mainwindow.ui create mode 100644 mainwindownew.cpp create mode 100644 mainwindownew.h create mode 100644 mainwindownew.ui create mode 100644 mobile/AdcMap.qml create mode 100644 mobile/ConfigPageCell.qml create mode 100644 mobile/ConfigPageDisplay.qml create mode 100644 mobile/ConfigPageGeneral.qml create mode 100644 mobile/ConfigPageSignal.qml create mode 100644 mobile/ConfigPageSwitch.qml create mode 100644 mobile/ConnectBle.qml create mode 100644 mobile/ConnectBle2.qml create mode 100644 mobile/ConnectBleForm.ui.qml create mode 100644 mobile/Controls.qml create mode 100644 mobile/CustomGauge.qml create mode 100644 mobile/DetectBldc.qml create mode 100644 mobile/DetectFocEncoder.qml create mode 100644 mobile/DetectFocHall.qml create mode 100644 mobile/DetectFocParam.qml create mode 100644 mobile/DoubleSpinBox.qml create mode 100644 mobile/FilePicker.qml create mode 100644 mobile/FwUpdate.qml create mode 100644 mobile/NrfPair.qml create mode 100644 mobile/PairingDialog.qml create mode 100644 mobile/ParamEditBool.qml create mode 100644 mobile/ParamEditDouble.qml create mode 100644 mobile/ParamEditEnum.qml create mode 100644 mobile/ParamEditInt.qml create mode 100644 mobile/ParamEditSeparator.qml create mode 100644 mobile/ParamEditString.qml create mode 100644 mobile/ParamEditors.qml create mode 100644 mobile/PpmMap.qml create mode 100644 mobile/ProgressBar.qml create mode 100644 mobile/RtData.qml create mode 100644 mobile/RtData2.qml create mode 100644 mobile/RtDataSetup.qml create mode 100644 mobile/RtProgressBar.qml create mode 100644 mobile/Terminal.qml create mode 100644 mobile/fwhelper.cpp create mode 100644 mobile/fwhelper.h create mode 100644 mobile/main.qml create mode 100644 mobile/mobile.pri create mode 100644 mobile/qml.qrc create mode 100644 mobile/qmlui.cpp create mode 100644 mobile/qmlui.h create mode 100644 mobile/qtquickcontrols2.conf create mode 100644 orig.zip create mode 100644 packet.cpp create mode 100644 packet.h create mode 100644 pages/pageconnection.cpp create mode 100644 pages/pageconnection.h create mode 100644 pages/pageconnection.ui create mode 100644 pages/pagedataanalysis.cpp create mode 100644 pages/pagedataanalysis.h create mode 100644 pages/pagedataanalysis.ui create mode 100644 pages/pagedebugprint.cpp create mode 100644 pages/pagedebugprint.h create mode 100644 pages/pagedebugprint.ui create mode 100644 pages/pagefirmware.cpp create mode 100644 pages/pagefirmware.h create mode 100644 pages/pagefirmware.ui create mode 100644 pages/pagemastercell.cpp create mode 100644 pages/pagemastercell.h create mode 100644 pages/pagemastercell.ui create mode 100644 pages/pagemasterdisplay.cpp create mode 100644 pages/pagemasterdisplay.h create mode 100644 pages/pagemasterdisplay.ui create mode 100644 pages/pagemastergeneral.cpp create mode 100644 pages/pagemastergeneral.h create mode 100644 pages/pagemastergeneral.ui create mode 100644 pages/pagemastersettings.cpp create mode 100644 pages/pagemastersettings.h create mode 100644 pages/pagemastersettings.ui create mode 100644 pages/pagemastersignals.cpp create mode 100644 pages/pagemastersignals.h create mode 100644 pages/pagemastersignals.ui create mode 100644 pages/pagemasterswitch.cpp create mode 100644 pages/pagemasterswitch.h create mode 100644 pages/pagemasterswitch.ui create mode 100644 pages/pagertdata.cpp create mode 100644 pages/pagertdata.h create mode 100644 pages/pagertdata.ui create mode 100644 pages/pages.pri create mode 100644 pages/pagesettings.cpp create mode 100644 pages/pagesettings.h create mode 100644 pages/pagesettings.ui create mode 100644 pages/pagesetupcalculators.cpp create mode 100644 pages/pagesetupcalculators.h create mode 100644 pages/pagesetupcalculators.ui create mode 100644 pages/pageslavefan.cpp create mode 100644 pages/pageslavefan.h create mode 100644 pages/pageslavefan.ui create mode 100644 pages/pageslavegeneral.cpp create mode 100644 pages/pageslavegeneral.h create mode 100644 pages/pageslavegeneral.ui create mode 100644 pages/pageslaveio.cpp create mode 100644 pages/pageslaveio.h create mode 100644 pages/pageslaveio.ui create mode 100644 pages/pageslavesettings.cpp create mode 100644 pages/pageslavesettings.h create mode 100644 pages/pageslavesettings.ui create mode 100644 pages/pageslaveswitch.cpp create mode 100644 pages/pageslaveswitch.h create mode 100644 pages/pageslaveswitch.ui create mode 100644 pages/pageterminal.cpp create mode 100644 pages/pageterminal.h create mode 100644 pages/pageterminal.ui create mode 100644 pages/pagewelcome.cpp create mode 100644 pages/pagewelcome.h create mode 100644 pages/pagewelcome.ui create mode 100644 parametereditor.cpp create mode 100644 parametereditor.h create mode 100644 parametereditor.ui create mode 100644 res.qrc create mode 100644 res/CHANGELOG create mode 100644 res/WARRANTY create mode 100644 res/b0L.png create mode 100644 res/b0R.png create mode 100644 res/bg.png create mode 100644 res/bootloaders/CHANGELOG create mode 100644 res/bootloaders/generic.bin create mode 100644 res/cbox-arrow-down-black-15.png create mode 100644 res/cbox-arrow-down-black-big.png create mode 100644 res/cbox-arrow-down-black-old.png create mode 100644 res/cbox-arrow-down-black.png create mode 100644 res/cbox-arrow-down-gray.png create mode 100644 res/cbox-arrow-down.png create mode 100644 res/cbox-arrow-up-green-15.png create mode 100644 res/cbox-arrow-up-green-big.png create mode 100644 res/cbox-arrow-up-green.png create mode 100644 res/checkbox_checked-green.png create mode 100644 res/checkbox_checked-next.png create mode 100644 res/checkbox_checked-rect - копия.png create mode 100644 res/checkbox_checked-rect.png create mode 100644 res/checkbox_checked.png create mode 100644 res/config.xml create mode 100644 res/config/1.1/info.xml create mode 100644 res/config/1.1/parameters_bmsconf.xml create mode 100644 res/cubo-verde-logo-green.png create mode 100644 res/cubo-verde-logo-white.png create mode 100644 res/ennoidbmstool-version.html create mode 100644 res/firmwares/CHANGELOG create mode 100644 res/firmwares/ENNOID-HV/ENNOID-BMS_HV.bin create mode 100644 res/firmwares/ENNOID-LV/ENNOID-BMS_LV.bin create mode 100644 res/firmwares/ENNOID-SS-LITE/ENNOID-BMS_SS_LITE.bin create mode 100644 res/firmwares/ENNOID-SS/ENNOID-BMS_SS.bin create mode 100644 res/firmwares/ENNOID/ENNOID-BMS.bin create mode 100644 res/fonts/Artifakt-Element.ttf create mode 100644 res/fonts/DejaVuSans-Bold.ttf create mode 100644 res/fonts/DejaVuSans-BoldOblique.ttf create mode 100644 res/fonts/DejaVuSans-Oblique.ttf create mode 100644 res/fonts/DejaVuSans.ttf create mode 100644 res/fonts/DejaVuSansMono-Bold.ttf create mode 100644 res/fonts/DejaVuSansMono-BoldOblique.ttf create mode 100644 res/fonts/DejaVuSansMono-Oblique.ttf create mode 100644 res/fonts/DejaVuSansMono.ttf create mode 100644 res/icons/3ph_sine.png create mode 100644 res/icons/About-96.png create mode 100644 res/icons/Anchor-96.png create mode 100644 res/icons/Brake Warning-96.png create mode 100644 res/icons/Bug-96.png create mode 100644 res/icons/Calculator-96.png create mode 100644 res/icons/Cancel-96.png create mode 100644 res/icons/Car Battery-96.png create mode 100644 res/icons/Circled Play-96.png create mode 100644 res/icons/Connected-96.png create mode 100644 res/icons/Console-96.png create mode 100644 res/icons/Controller-96.png create mode 100644 res/icons/Data Backup-96.png create mode 100644 res/icons/Delete-96.png create mode 100644 res/icons/Disconnected-96.png create mode 100644 res/icons/Down-96.png create mode 100644 res/icons/Download-96.png create mode 100644 res/icons/Electronics-96.png create mode 100644 res/icons/Help-96.png create mode 100644 res/icons/Home-96.png create mode 100644 res/icons/Horizontal Settings Mixer-96.png create mode 100644 res/icons/Line Chart-96.png create mode 100644 res/icons/Ok-96.png create mode 100644 res/icons/Online-96.png create mode 100644 res/icons/Open Folder-96.png create mode 100644 res/icons/Outgoing Data-96.png create mode 100644 res/icons/Plus Math-96.png create mode 100644 res/icons/Potentiometer-96.png create mode 100644 res/icons/Process-96.png create mode 100644 res/icons/Refresh-96.png create mode 100644 res/icons/Restart-96.png create mode 100644 res/icons/Restart-97-Black.png create mode 100644 res/icons/Restart-97-White.png create mode 100644 res/icons/Rs 232 Male-96.png create mode 100644 res/icons/Save as-96.png create mode 100644 res/icons/Save-96.png create mode 100644 res/icons/Send File-96.png create mode 100644 res/icons/Settings-96.png create mode 100644 res/icons/Shutdown-96.png create mode 100644 res/icons/Speed-96.png create mode 100644 res/icons/Stop Sign-96.png create mode 100644 res/icons/Stop-96.png create mode 100644 res/icons/Toggle Off-96_2.png create mode 100644 res/icons/Toggle On-96_2.png create mode 100644 res/icons/Up-96.png create mode 100644 res/icons/Upload-96.png create mode 100644 res/icons/User Group Man Man-96.png create mode 100644 res/icons/Wii-96.png create mode 100644 res/icons/Wizard-96.png create mode 100644 res/icons/alive_off.png create mode 100644 res/icons/alive_on.png create mode 100644 res/icons/app_default.png create mode 100644 res/icons/app_down.png create mode 100644 res/icons/app_up.png create mode 100644 res/icons/appconf.png create mode 100644 res/icons/apply.png create mode 100644 res/icons/arrow_down.png create mode 100644 res/icons/arrow_l.png create mode 100644 res/icons/arrow_r.png create mode 100644 res/icons/arrow_up.png create mode 100644 res/icons/batteries-96.png create mode 100644 res/icons/bldc.png create mode 100644 res/icons/can_off.png create mode 100644 res/icons/can_on.png create mode 100644 res/icons/collapse_off.png create mode 100644 res/icons/collapse_on.png create mode 100644 res/icons/expand_off.png create mode 100644 res/icons/expand_on.png create mode 100644 res/icons/expand_v_off.png create mode 100644 res/icons/expand_v_on.png create mode 100644 res/icons/fan-96.png create mode 100644 res/icons/ic_folder_open_black_48dp.png create mode 100644 res/icons/ic_insert_drive_file_black_48dp.png create mode 100644 res/icons/keys_off.png create mode 100644 res/icons/keys_on.png create mode 100644 res/icons/lambda.png create mode 100644 res/icons/mcconf.png create mode 100644 res/icons/motor.png create mode 100644 res/icons/motor_default.png create mode 100644 res/icons/motor_down.png create mode 100644 res/icons/motor_up.png create mode 100644 res/icons/rl.png create mode 100644 res/icons/rt_app_off.png create mode 100644 res/icons/rt_app_on.png create mode 100644 res/icons/rt_off.png create mode 100644 res/icons/rt_on.png create mode 100644 res/icons/sampl_trigger_start.png create mode 100644 res/icons/sample_trigger_fault.png create mode 100644 res/icons/sample_trigger_fault_nosend.png create mode 100644 res/icons/sample_trigger_start_nosend.png create mode 100644 res/icons/size_off.png create mode 100644 res/icons/size_on.png create mode 100644 res/icons_textedit/Add Image-96.png create mode 100644 res/icons_textedit/Align Center-96.png create mode 100644 res/icons_textedit/Align Justify-96.png create mode 100644 res/icons_textedit/Align Left-96.png create mode 100644 res/icons_textedit/Align Right-96.png create mode 100644 res/icons_textedit/Bold-96.png create mode 100644 res/icons_textedit/Bulleted List-96.png create mode 100644 res/icons_textedit/Copy-96.png create mode 100644 res/icons_textedit/Cut-96.png create mode 100644 res/icons_textedit/Fill Color-96.png create mode 100644 res/icons_textedit/Indent-96.png create mode 100644 res/icons_textedit/Italic-96.png create mode 100644 res/icons_textedit/Link-96.png create mode 100644 res/icons_textedit/Menu 2-96.png create mode 100644 res/icons_textedit/Numbered List-96.png create mode 100644 res/icons_textedit/Outdent-96.png create mode 100644 res/icons_textedit/Paste-96.png create mode 100644 res/icons_textedit/Redo-96.png create mode 100644 res/icons_textedit/Strikethrough-96.png create mode 100644 res/icons_textedit/Text Color-96.png create mode 100644 res/icons_textedit/Undo-96.png create mode 100644 res/images/vedder_nunchuk.jpg create mode 100644 res/info.xml create mode 100644 res/language-eng.png create mode 100644 res/language-russ.png create mode 100644 res/logo.png create mode 100644 res/logo_white.png create mode 100644 res/menu-akb-monitor.png create mode 100644 res/menu-cells-monitor.png create mode 100644 res/menu-configuration.png create mode 100644 res/menu-exit.png create mode 100644 res/menu-history.png create mode 100644 res/menu-serive-of-bms.png create mode 100644 res/menu-settings-extra.png create mode 100644 res/menu-visualization.png create mode 100644 settingsextrapage.cpp create mode 100644 settingsextrapage.h create mode 100644 settingsextrapage.ui create mode 100644 utility.cpp create mode 100644 utility.h create mode 100644 vbytearray.cpp create mode 100644 vbytearray.h create mode 100644 visualizationchart.cpp create mode 100644 visualizationchart.h create mode 100644 visualizationchartexperiments.cpp create mode 100644 visualizationpage.cpp create mode 100644 visualizationpage.h create mode 100644 visualizationpage.ui create mode 100644 widgets/aspectimglabel.cpp create mode 100644 widgets/aspectimglabel.h create mode 100644 widgets/displaybar.cpp create mode 100644 widgets/displaybar.h create mode 100644 widgets/displaypercentage.cpp create mode 100644 widgets/displaypercentage.h create mode 100644 widgets/helpdialog.cpp create mode 100644 widgets/helpdialog.h create mode 100644 widgets/helpdialog.ui create mode 100644 widgets/historylineedit.cpp create mode 100644 widgets/historylineedit.h create mode 100644 widgets/imagewidget.cpp create mode 100644 widgets/imagewidget.h create mode 100644 widgets/mrichtextedit.cpp create mode 100644 widgets/mrichtextedit.h create mode 100644 widgets/mrichtextedit.ui create mode 100644 widgets/mtextedit.cpp create mode 100644 widgets/mtextedit.h create mode 100644 widgets/pagelistitem.cpp create mode 100644 widgets/pagelistitem.h create mode 100644 widgets/paramdialog.cpp create mode 100644 widgets/paramdialog.h create mode 100644 widgets/paramdialog.ui create mode 100644 widgets/parameditbool.cpp create mode 100644 widgets/parameditbool.h create mode 100644 widgets/parameditbool.ui create mode 100644 widgets/parameditdouble.cpp create mode 100644 widgets/parameditdouble.h create mode 100644 widgets/parameditdouble.ui create mode 100644 widgets/parameditenum.cpp create mode 100644 widgets/parameditenum.h create mode 100644 widgets/parameditenum.ui create mode 100644 widgets/parameditint.cpp create mode 100644 widgets/parameditint.h create mode 100644 widgets/parameditint.ui create mode 100644 widgets/parameditstring.cpp create mode 100644 widgets/parameditstring.h create mode 100644 widgets/parameditstring.ui create mode 100644 widgets/paramtable.cpp create mode 100644 widgets/paramtable.h create mode 100644 widgets/qcustomplot.cpp create mode 100644 widgets/qcustomplot.h create mode 100644 widgets/rtdatatext.cpp create mode 100644 widgets/rtdatatext.h create mode 100644 widgets/vtextbrowser.cpp create mode 100644 widgets/vtextbrowser.h create mode 100644 widgets/widgets.pri diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4bdb4ba --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +*.user +*.o +moc_*.cpp +moc_*.h +qrc_*.cpp +qrc_*.h +ui_*.h +Makefile +ENNOID-BMS-ToolV* diff --git a/ENNOID-BMS-Tool.pro b/ENNOID-BMS-Tool.pro new file mode 100644 index 0000000..bf032ef --- /dev/null +++ b/ENNOID-BMS-Tool.pro @@ -0,0 +1,176 @@ +#------------------------------------------------- +# +# Project created by QtCreator 2016-08-12T21:55:19 +# +#------------------------------------------------- +INCLUDEPATH += $$PWD +# Version +DT_VERSION = 1.3 +DEFINES += DT_VERSION=$$DT_VERSION + +!android: { + # Serial port available + DEFINES += HAS_SERIALPORT +} + +CONFIG += c++11 +QMAKE_CXXFLAGS += -Wno-deprecated-copy + +# Options +#Build mobile GUI +#CONFIG += build_mobile + + +# Bluetooth available +DEFINES += HAS_BLUETOOTH + +QT += core gui +QT += widgets +QT += printsupport +QT += network +QT += bluetooth +QT += quick +QT += quickcontrols2 +QT += charts + +contains(DEFINES, HAS_SERIALPORT) { + QT += serialport +} + +android: QT += androidextras + +android: TARGET = ENNOID-BMS-Tool +!android: TARGET = ENNOID-BMS-ToolV$$DT_VERSION + +TEMPLATE = app + +release_win { + DESTDIR = build/win + OBJECTS_DIR = build/win/obj + MOC_DIR = build/win/obj + RCC_DIR = build/win/obj + UI_DIR = build/win/obj +} + +release_lin { + # http://micro.nicholaswilson.me.uk/post/31855915892/rules-of-static-linking-libstdc-libc-libgcc + # http://insanecoding.blogspot.se/2012/07/creating-portable-linux-binaries.html + QMAKE_LFLAGS += -static-libstdc++ -static-libgcc + DESTDIR = build/lin + OBJECTS_DIR = build/lin/obj + MOC_DIR = build/lin/obj + RCC_DIR = build/lin/obj + UI_DIR = build/lin/obj +} + +release_android { + DESTDIR = build/android + OBJECTS_DIR = build/android/obj + MOC_DIR = build/android/obj + RCC_DIR = build/android/obj + UI_DIR = build/android/obj +} + +build_mobile { + DEFINES += USE_MOBILE +} + +SOURCES += main.cpp\ + akbmonitorpage.cpp \ + bmsservicepage.cpp \ + bmssettings.cpp \ + bmssettingswidget.cpp \ + cellsmonitorcheckboxdelegate.cpp \ + cellsmonitorlabelvoltagedelegate.cpp \ + cellsmonitorpage.cpp \ + configparamsgetter.cpp \ + configurationpage.cpp \ + connectandenterpage.cpp \ + customlefttabbarbutton.cpp \ + debugprintpage.cpp \ + historylineeditbox.cpp \ + hoverablecombobox.cpp \ + languageselectorbutton.cpp \ + mainwindow.cpp \ + mainwindownew.cpp \ + packet.cpp \ + settingsextrapage.cpp \ + vbytearray.cpp \ + commands.cpp \ + configparams.cpp \ + configparam.cpp \ + parametereditor.cpp \ + digitalfiltering.cpp \ + bleuart.cpp \ + utility.cpp \ + bmsinterface.cpp \ + visualizationchart.cpp \ + visualizationpage.cpp + +HEADERS += mainwindow.h \ + akbmonitorpage.h \ + bmsservicepage.h \ + bmssettings.h \ + bmssettingswidget.h \ + cellsmonitorcheckboxdelegate.h \ + cellsmonitorlabelvoltagedelegate.h \ + cellsmonitorpage.h \ + configparamsgetter.h \ + configurationpage.h \ + connectandenterpage.h \ + customlefttabbarbutton.h \ + debugprintpage.h \ + historylineedit.h \ + historylineeditbox.h \ + hoverablecombobox.h \ + languageselectorbutton.h \ + mainwindownew.h \ + packet.h \ + settingsextrapage.h \ + vbytearray.h \ + commands.h \ + datatypes.h \ + configparams.h \ + configparam.h \ + parametereditor.h \ + digitalfiltering.h \ + bleuart.h \ + utility.h \ + bmsinterface.h \ + visualizationchart.h \ + visualizationpage.h + +FORMS += mainwindow.ui \ + akbmonitorpage.ui \ + bmsservicepage.ui \ + bmssettings.ui \ + bmssettingswidget.ui \ + cellsmonitorpage.ui \ + configurationpage.ui \ + connectandenterpage.ui \ + debugprintpage.ui \ + mainwindownew.ui \ + parametereditor.ui \ + settingsextrapage.ui \ + visualizationpage.ui + +include(pages/pages.pri) +include(widgets/widgets.pri) +include(mobile/mobile.pri) + +RESOURCES += res.qrc + + + +DISTFILES += \ + android/AndroidManifest.xml \ + android/gradle/wrapper/gradle-wrapper.jar \ + android/gradlew \ + android/res/values/libs.xml \ + android/build.gradle \ + android/gradle/wrapper/gradle-wrapper.properties + +ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android + +ANDROID_ABIS = x86 + diff --git a/README.md b/README.md new file mode 100644 index 0000000..eedbfda --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# ENNOID-BMS Tool (based on DieBieMS-Tool) + +The ENNOID-BMS tool can be used to configure the ENNOID-BMS, update the firmware. + +![alt text](images/IMAGE01.png) + +![alt text](images/IMAGE02.png) + +Latest compiled version can be found in the release tab: +[ENNOID-BMS Tool](https://github.com/EnnoidMe/ENNOID-BMS-Tool/releases/tag/V1.1) + +# Other parts of this project: + +[ENNOID-BMS Hardware](https://github.com/EnnoidMe/ENNOID-BMS) + +[ENNOID-BMS Bootloader](https://github.com/EnnoidMe/DieBieMS-Bootloader) Same as DieBieMS bootloader Can be flashed with the ENNOID-BMS Tool in the firmware tab or with an STlink-V2. + +[ENNOID-BMS Firmware](https://github.com/EnnoidMe/ENNOID-BMS-Firmware/tree/ENNOID) Can be flashed with the ENNOID-BMS Tool in the firmware tab. + +The compiled build .bin and hex files can be found in the MDK-ARM folder [Firmware files](https://github.com/EnnoidMe/ENNOID-BMS-Firmware/blob/master/MDK-ARM/DieBieMS/ENNOID-BMS.bin) \ No newline at end of file diff --git a/akbmonitorpage.cpp b/akbmonitorpage.cpp new file mode 100644 index 0000000..0dfdfb6 --- /dev/null +++ b/akbmonitorpage.cpp @@ -0,0 +1,496 @@ +#include "akbmonitorpage.h" +#include "ui_akbmonitorpage.h" + +#include +#include +#include +#include + +#include "configparamsgetter.h" + +AkbMonitorPage::AkbMonitorPage(QWidget *parent) : + QFrame(parent), + ui(new Ui::AkbMonitorPage) +{ + ui->setupUi(this); + + ui->pbLoadDataFromBmsMemory->hide(); + + // L + ui->lbCellNumberLeft->hide(); + ui->lbCellNumberLeftDots->hide(); + ui->editCellNumberLeft->hide(); + // R + ui->lbCellNumberRight->hide(); + ui->lbCellNumberRightDots->hide(); + ui->editCellNumberRight->hide(); + + // 1 // L + ui->editBatteryChargeLevel ->setValidator( new QIntValidator(-1000, 1000, this) ); // mValues.soC + ui->editBatteryVoltage ->setValidator( new QIntValidator(-1000, 1000, this) ); // mValues.packVoltage + ui->editNominalCapacity ->setValidator( new QIntValidator(-1000, 1000, this) ); //, mDieBieMS->bmsConfig(), "batteryCapacity"); + ui->editBatteryTemperature ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.tempBattHigh + // 1 // R + ui->editModulesNumber ->setValidator( new QIntValidator(-1000, 1000, this) ); //, mDieBieMS->bmsConfig(), "cellMonitorICCount"); + ui->editCellsNumber ->setValidator( new QIntValidator(-1000, 1000, this) ); //, mDieBieMS->bmsConfig(), "noOfCellsSeries"); + ui->editActualCapacity ->setValidator( new QIntValidator(-1000, 1000, this) ); // NOT IN SETTINGS + ui->editBmsTemperature ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.tempBMSHigh + // + // 2 // L ->clear(); + ui->editMaxVoltageOnCell ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.cVHigh + ui->editCellNumberLeft ->setValidator( new QIntValidator(-1000, 1000, this) ); // NOT IN SETTINGS + ui->editCircuit ->setValidator( new QIntValidator(-1000, 1000, this) ); // mValues.packCurrent + // 2 // R ->clear(); + ui->editMinVoltageOnCell ->setValidator( new QDoubleValidator(-100, 100, 2, this) ); // mValues.cVLow + ui->editCellNumberRight ->setValidator( new QIntValidator(-100, 1000, this) ); // NOT IN SETTINGS + + + mTimer = new QTimer(this); + mTimer->start(1000); + + connect(mTimer, &QTimer::timeout,this, &AkbMonitorPage::timerSlot); + + clearControlls(); +} + +AkbMonitorPage::~AkbMonitorPage() +{ + delete ui; +} + + + + +BMSInterface *AkbMonitorPage::bms() const +{ + return mDieBieMS; +} + +void AkbMonitorPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + connect(mDieBieMS->commands(), &Commands::valuesReceived,this, &AkbMonitorPage::valuesReceived); + //connect(mDieBieMS->commands(), &Commands::cellsReceived,this, &VisualizationPage::cellsReceived); + connect(mDieBieMS->bmsConfig(), &ConfigParams::updated, this, &AkbMonitorPage::onLoadParams); + } +} + + +void AkbMonitorPage::timerSlot() +{ + // + // We will start revieve Data WHEN + // SEE - void MainWindowNew::onTimerSlot() + // one of those left-tab-bar buttons are selected (ui->pbMainMenuBarVisualization->isChecked() || ui->pbMainMenuBarVisualization->isChecked()) + // + + ////////////////////////////////////////////////////////////////////////////////////// + + // 1 // L + if(!mSoc.empty()) + ui->editBatteryChargeLevel->setText(QString::number(mSoc.last())); // mValues.soC + + if(!mPackVoltage.empty()) { + //ui->editBatteryVoltage->setText(QString::number(mPackVoltage.last())); // mValues.packVoltage + ui->editBatteryVoltage->setText(QString::number(mPackVoltage.last(), 'f', 2)); // mValues.packVoltage + } + + //addParamRow(ui->editNominalCapacity, mDieBieMS->bmsConfig(), "batteryCapacity"); + + ////////////////////////////////////////////////////////////////////////////////////// + + if(!mTempBattHigh.empty()) + ui->editBatteryTemperature->setText(QString::number((int)mTempBattHigh.last())); // mValues.tempBattHigh + //ui->editBatteryTemperature->setText(QString::number(mTempBattHigh.last(), 'f', 2)); // mValues.tempBattHigh + + // 1 // R + //addParamRow(ui->editModulesNumber, mDieBieMS->bmsConfig(), "cellMonitorICCount"); + //addParamRow(ui->editCellsNumber, mDieBieMS->bmsConfig(), "noOfCellsSeries"); + //// ui->editActualCapacity // NOT IN SETTINGS // AND NOT IN BMS_VALUES - valuesReceived(BMS_VALUES values) + if(!mTempBMSHigh.empty()) + ui->editBmsTemperature->setText(QString::number((int)mTempBMSHigh.last())); // mValues.tempBMSHigh + //ui->editBmsTemperature->setText(QString::number(mTempBMSHigh.last(), 'f', 2)); // mValues.tempBMSHigh + + ////////////////////////////////////////////////////////////////////////////////////// + + // 2 // L + if(!mCellVHigh.empty()) + ui->editMaxVoltageOnCell->setText(QString::number(mCellVHigh.last(), 'f', 2)); // mValues.cVHigh + + //// ui->editCellNumberLeft // NOT IN SETTINGS // AND NOT IN BMS_VALUES - valuesReceived(BMS_VALUES values) + + if(!mPackCurrent.empty()) + ui->editCircuit->setText(QString::number(mPackCurrent.last())); // mValues.packCurrent + // 2 // R + + if(!mCellVLow.empty()) + ui->editMinVoltageOnCell->setText(QString::number(mCellVLow.last(), 'f', 2)); // mValues.cVLow + + //// ui->editCellNumberRight // NOT IN SETTINGS // AND NOT IN BMS_VALUES - valuesReceived(BMS_VALUES values) + + ////////////////////////////////////////////////////////////////////////////////////// + + //if (mUpdateValPlot) + //{ + /* + int dataSize = mPackVoltage.size(); + + QVector xAxis(dataSize); + for (int i = 0;i < mSeconds.size();i++) { + xAxis[i] = mSeconds[i]; + } + */ + + /* + // Current and duty-plot + ///int graphIndex = 0; + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mPackVoltage); + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadVoltage); + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadCurrent); + + ///graphIndex = 0; + ///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadVoltage); + ///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadCurrent); + + ///graphIndex = 0; + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); + + ///graphIndex = 0; + ///mTempBMSLow.fill(0,1); + ///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSHigh); + ///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSAverage); + ///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSLow); + */ + + // V + /* + double valVMax = mHCLoadVoltage.last(); + double valVMid = mPackVoltage.last(); + double valVMin = mLCLoadVoltage.last(); + */ + /*// increas X + chartV->appendNextX(); + // then set all new Ys + chartV->appendYToSeries(VoltageMax, valVMax); + chartV->appendYToSeries(VoltageMid, valVMid); + chartV->appendYToSeries(VoltageMin, valVMin); + + ui->lbVMaxLegendVal->setText(QString("%1").arg(valVMax)); + ui->lbVMidLegendVal->setText(QString("%1").arg(valVMid)); + ui->lbVMinLegendVal->setText(QString("%1").arg(valVMin)); + + chartV->update(); + ui->chartViewVoltage->repaint(); + */ + + // A + /* + double valAMax = mHCLoadCurrent.last(); + double valAMid = mMCLoadCurrent_.last(); + double valAMin = mLCLoadCurrent.last(); + */ + /*// increas X + chartA->appendNextX(); + // then set all new Ys + chartA->appendYToSeries(AmperageMax, valAMax); + chartA->appendYToSeries(AmperageMid, valAMid); + chartA->appendYToSeries(AmperageMin, valAMin); + + ui->lbAMaxLegendVal->setText(QString("%1").arg(valAMax)); + ui->lbAMidLegendVal->setText(QString("%1").arg(valAMid)); + ui->lbAMinLegendVal->setText(QString("%1").arg(valAMin)); + + chartA->update(); + ui->chartViewAmperage->repaint(); + */ + + // T + /* + double valTMax = mTempBattHigh.last(); + double valTMid = mTempBattAverage.last(); + double valTMin = mTempBattLow_.last(); + */ + /*mTempBattLow_.fill(0,1); + // increas X + chartT->appendNextX(); + // then set all new Ys + chartT->appendYToSeries(TemperatureMax, valTMax); + chartT->appendYToSeries(TemperatureMid, valTMid); + chartT->appendYToSeries(TemperatureMin, valTMin); + + ui->lbTMaxLegendVal->setText(QString("%1").arg(valTMax)); + ui->lbTMidLegendVal->setText(QString("%1").arg(valTMid)); + ui->lbTMinLegendVal->setText(QString("%1").arg(valTMin)); + + chartT->update(); + ui->chartViewTemperature->repaint(); + */ + + // C + /* + double valCMax = mCellVHigh.last(); + double valCMid = mCellVAverage.last(); + double valCMin = mCellVLow.last(); + */ + /*// increas X + chartC->appendNextX(); + // then set all new Ys + chartC->appendYToSeries(CellsMax, valCMax); + chartC->appendYToSeries(CellsMid, valCMid); + chartC->appendYToSeries(CellsMin, valCMin); + + ui->lbCMaxLegendVal->setText(QString("%1").arg(valCMax)); + ui->lbCMidLegendVal->setText(QString("%1").arg(valCMid)); + ui->lbCMinLegendVal->setText(QString("%1").arg(valCMin)); + + chartC->update(); + ui->chartViewCells->repaint(); + */ + + + /* + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattLow); + + ///if (ui->autoscaleButton->isChecked()) + { + ///ui->ivLCGraph->rescaleAxes(); + ///ui->ivHCGraph->rescaleAxes(); + ///ui->cellGraph->rescaleAxes(); + ui->tempGraph->rescaleAxes(); + } + + ///ui->ivLCGraph->replot(); + ///ui->ivHCGraph->replot(); + ///ui->cellGraph->replot(); + ui->tempGraph->replot(); + ///ui->cellBarGraph->replot(); + + mUpdateValPlot = false; + */ + //} +} + + +void AkbMonitorPage::valuesReceived(BMS_VALUES values) +{ + //ui->rtText->setValues(values); + + const int maxS = 500; + + appendDoubleAndTrunc(&mSoc, values.soC, maxS); + appendDoubleAndTrunc(&mPackCurrent, values.packCurrent, maxS); + appendDoubleAndTrunc(&mPackVoltage, values.packVoltage, maxS); + + appendDoubleAndTrunc(&mLCLoadVoltage, values.loadLCVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadCurrent, values.loadLCCurrent, maxS); + + appendDoubleAndTrunc(&mHCLoadVoltage, values.loadHCVoltage, maxS); + appendDoubleAndTrunc(&mHCLoadCurrent, values.loadHCCurrent, maxS); + + appendDoubleAndTrunc(&mAuxVoltage, values.auxVoltage, maxS); + appendDoubleAndTrunc(&mAuxCurrent, values.auxCurrent, maxS); + + appendDoubleAndTrunc(&mCellVHigh, values.cVHigh, maxS); + appendDoubleAndTrunc(&mCellVAverage, values.cVAverage, maxS); + appendDoubleAndTrunc(&mCellVLow, values.cVLow, maxS); + + appendDoubleAndTrunc(&mTempBMSHigh, values.tempBMSHigh, maxS); + appendDoubleAndTrunc(&mTempBMSAverage, values.tempBMSAverage, maxS); + //appendDoubleAndTrunc(&mTempBMSLow_, values.tempBMSLow_, maxS); + + appendDoubleAndTrunc(&mTempBattHigh, values.tempBattHigh, maxS); + appendDoubleAndTrunc(&mTempBattAverage, values.tempBattAverage, maxS); + //appendDoubleAndTrunc(&mTempBattLow_, values.tempBattLow_, maxS); + + + qint64 tNow = QDateTime::currentMSecsSinceEpoch(); + + double elapsed = (double)(tNow - mLastUpdateTime) / 1000.0; + if (elapsed > 1.0) { + elapsed = 1.0; + } + + mSecondCounter += elapsed; + + appendDoubleAndTrunc(&mSeconds, mSecondCounter, maxS); + + mLastUpdateTime = tNow; + + mUpdateValPlot = true; +} + +/* +void AkbMonitorPage::cellsReceived(int cellCount, QVector cellVoltageArray) +{ + QVector dataxNew; + dataxNew.clear(); + QVector datayNormal; + datayNormal.clear(); + QVector datayBalance; + datayBalance.clear(); + QVector labels; + int indexPointer; + + double cellHardUnder = mDieBieMS->bmsConfig()->getParamDouble("cellHardUnderVoltage"); + double cellHardOver = mDieBieMS->bmsConfig()->getParamDouble("cellHardOverVoltage"); + + for(indexPointer = 0; indexPointer < cellCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(cellVoltageArray[indexPointer] < 0.0){ + datayNormal.append(0.0); + datayBalance.append(fabs(cellVoltageArray[indexPointer])); + }else{ + datayNormal.append(fabs(cellVoltageArray[indexPointer])); + datayBalance.append(0.0); + } + + QString voltageString = QStringLiteral("%1V (C").arg(fabs(cellVoltageArray[indexPointer]), 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer) + ")"); + } + + //QSharedPointer textTicker(new QCPAxisTickerText); + //textTicker->addTicks(dataxNew, labels); + + //ui->cellBarGraph->xAxis->setTicker(textTicker); + //ui->cellBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + //ui->cellBarGraph->yAxis->setRange(cellHardUnder, cellHardOver); + //barsNormal->setData(dataxNew, datayNormal); + //barsBalance->setData(dataxNew, datayBalance); +} +*/ + +void AkbMonitorPage::appendDoubleAndTrunc(QVector *vec, double num, int maxSize) +{ + vec->append(num); + + if(vec->size() > maxSize) { + vec->remove(0, vec->size() - maxSize); + } +} + + + +void AkbMonitorPage::clearControlls() +{ + // 1 // L + ui->editBatteryChargeLevel ->clear(); // mValues.soC + ui->editBatteryVoltage ->clear(); // mValues.packVoltage + ui->editNominalCapacity ->clear(); //, mDieBieMS->bmsConfig(), "batteryCapacity"); + ui->editBatteryTemperature ->clear(); // mValues.tempBattHigh + // 1 // R ->clear(); + ui->editModulesNumber ->clear(); //, mDieBieMS->bmsConfig(), "cellMonitorICCount"); + ui->editCellsNumber ->clear(); //, mDieBieMS->bmsConfig(), "noOfCellsSeries"); + ui->editActualCapacity ->clear(); // NOT IN SETTINGS + ui->editBmsTemperature ->clear(); // mValues.tempBMSHigh + // ->clear(); + // 2 // L ->clear(); + ui->editMaxVoltageOnCell ->clear(); // mValues.cVHigh + ui->editCellNumberLeft ->clear(); // NOT IN SETTINGS + ui->editCircuit ->clear(); // mValues.packCurrent + // 2 // R ->clear(); + ui->editMinVoltageOnCell ->clear(); // mValues.cVLow + ui->editCellNumberRight ->clear(); // NOT IN SETTINGS +} + +void AkbMonitorPage::onLoadParams() +{ + ///QHash mParams; + + //addParamRow(ui->editPointZeroDetectorValue, mDieBieMS->bmsConfig(), "shuntLCFactor"); + //ui->specificationsTab->addRowSeparator(tr("Pack configuration")); + + // Серийный номер * //ui->editSerialNumber + getSerialNumber(ui->editSerialNumber, mDieBieMS->bmsConfig(), "notUsedCurrentThreshold"); + // 1 // L + // ui->editBatteryChargeLevel // mValues.soC + // ui->editBatteryVoltage // mValues.packVoltage + addParamRow(ui->editNominalCapacity, mDieBieMS->bmsConfig(), "batteryCapacity"); + // ui->editBatteryTemperature // mValues.tempBattHigh + // 1 // R + addParamRow(ui->editModulesNumber, mDieBieMS->bmsConfig(), "cellMonitorICCount"); + addParamRow(ui->editCellsNumber, mDieBieMS->bmsConfig(), "noOfCellsSeries"); + //// ui->editActualCapacity // NOT IN BMS_CONFIG + // ui->editBmsTemperature // mValues.tempBMSHigh + + // 2 // L + // ui->editMaxVoltageOnCell // mValues.cVHigh + //// ui->editCellNumberLeft // NOT IN BMS_CONFIG + // ui->editCircuit // mValues.packCurrent + // 2 // R + // ui->editMinVoltageOnCell // mValues.cVLow + //// ui->editCellNumberRight // NOT IN BMS_CONFIG +} + +/* +bool AkbMonitorPage::addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + + if (editor) { + //int row = rowCount(); + //setRowCount(row + 1); + //QTableWidgetItem *item = new QTableWidgetItem(name); + //item->setFlags(item->flags() & ~Qt::ItemIsEditable); + //setItem(row, 0, item); + //setCellWidget(row, 1, editor); + //edit->setText(editor->); + + auto vtype = editor->property("type"); + auto type = vtype.toInt(); + //CFG_T_UNDEFINED = 0, + if(type == 1) // CFG_T_DOUBLE, + { + auto vval = editor->property("value"); + auto val = vval.toDouble(); + edit->setText(QString::number(val)); + } + else if(type == 2) // CFG_T_INT, + { + auto vval = editor->property("value"); + auto val = vval.toInt(); + edit->setText(QString::number(val)); + } + else if(type == 3) // CFG_T_QSTRING, + { + auto vval = editor->property("value"); + auto val = vval.toString(); + edit->setText(val); + } + else if(type == 4) // CFG_T_ENUM, + { + auto vval = editor->property("value"); + auto val = vval.toInt(); + edit->setText(QString::number(val)); + } + else if(type == 5) // CFG_T_BOOL + { + auto vval = editor->property("value"); + auto val = vval.toBool(); + edit->setText(val ? "true" : "false"); + } + + auto vsuffix = editor->property("suffix"); + auto suffix = vsuffix.toString(); + auto veditorDecimalsDouble = editor->property("editorDecimalsDouble"); + auto editorDecimalsDouble = veditorDecimalsDouble.toDouble(); + auto veditAsPercentage = editor->property("editAsPercentage"); + auto editAsPercentage = veditAsPercentage.toBool(); + + res = true; + //resizeColumnToContents(0); + //resizeRowsToContents(); + } + + return res; +} +//*/ + diff --git a/akbmonitorpage.h b/akbmonitorpage.h new file mode 100644 index 0000000..d147fcd --- /dev/null +++ b/akbmonitorpage.h @@ -0,0 +1,90 @@ +#ifndef AKBMONITORPAGE_H +#define AKBMONITORPAGE_H + +#include +#include +#include + +#include "bmsinterface.h" + + +namespace Ui { +class AkbMonitorPage; +} + +class AkbMonitorPage : public QFrame +{ + Q_OBJECT + +public: + explicit AkbMonitorPage(QWidget *parent = nullptr); + ~AkbMonitorPage(); + + void clearControlls(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +public slots: + void onLoadParams(); + +private slots: + void timerSlot(); + void valuesReceived(BMS_VALUES values); + // void cellsReceived(int cellCount, QVector cellVoltageArray); + +private: + Ui::AkbMonitorPage *ui; + + BMSInterface *mDieBieMS; + + +// bool addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName); + + // + QVector mSoc; + + QVector mPackVoltage; + QVector mPackCurrent; + + QVector mLCLoadVoltage; + QVector mLCLoadCurrent; + + QVector mHCLoadVoltage; + QVector mHCLoadCurrent; + + QVector mChargerVoltage; + + QVector mAuxVoltage; + QVector mAuxCurrent; + + QVector mCellVHigh; + QVector mCellVAverage; + QVector mCellVLow; + + QVector mTempBMSHigh; + QVector mTempBMSAverage; + QVector mTempBMSLow; + + QVector mTempBattHigh; + QVector mTempBattAverage; + QVector mTempBattLow; + + QVector mHumidity; + + QVector mSeconds; + + double mSecondCounter; + qint64 mLastUpdateTime; + bool mUpdateValPlot; + + QTimer* mTimer; + + void initForPlot(); + + void initForCharts(); + + void appendDoubleAndTrunc(QVector *vec, double num, int maxSize); +}; + +#endif // AKBMONITORPAGE_H diff --git a/akbmonitorpage.ui b/akbmonitorpage.ui new file mode 100644 index 0000000..6b02050 --- /dev/null +++ b/akbmonitorpage.ui @@ -0,0 +1,1520 @@ + + + AkbMonitorPage + + + + 0 + 0 + 1071 + 755 + + + + Form + + + /*QWidget#AkbMonitorPage +{ + background: green; +} +*/ + +/*------------------*/ +/* +QGroupBox#gbSerialNumberLocal, +QGroupBox#gbBatteryModulesCellsAkbBmsParameters, +QGroupBox#gbCellMinMaxVoltageNumberAmperageParameters +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} +*/ + + + + + + + 30 + 30 + 291 + 41 + + + + + 26 + 75 + true + + + + Монитор АКБ + + + + + + 29 + 90 + 1001 + 121 + + + + QGroupBox#gbSerialNumberLocal, +QGroupBox#gbBatteryModulesCellsAkbBmsParameters, +QGroupBox#gbCellMinMaxVoltageNumberAmperageParameters +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + + + + + + + + 30 + 30 + 281 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Серийный номер + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 540 + 30 + 411 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-radius: 6px; + padding-left: 18px; + + background-color: #F0F1F4; + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 230 + 1001 + 231 + + + + QGroupBox#gbSerialNumberLocal, +QGroupBox#gbBatteryModulesCellsAkbBmsParameters, +QGroupBox#gbCellMinMaxVoltageNumberAmperageParameters +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + + + + + + + false + + + + 920 + 20 + 51 + 41 + + + + + -1 + 75 + true + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 1 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 540 + 30 + 181 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Количество модулей + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 540 + 80 + 181 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Количество ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 540 + 130 + 181 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Реальная ёмкость, A/h + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 540 + 180 + 181 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Температура BMS, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 920 + 70 + 51 + 41 + + + + + -1 + 75 + true + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 8 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + false + + + + 910 + 120 + 61 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 144 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + false + + + + 890 + 170 + 81 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 25 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + false + + + + 380 + 170 + 81 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 25 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 30 + 80 + 221 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Напряжение батареи, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 180 + 221 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Температура батареи, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 380 + 70 + 81 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + font-weight:bold; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding: 8px; + + + + 8,25 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + false + + + + 400 + 120 + 61 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 144 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 30 + 130 + 221 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Номинальная ёмкость, A/h + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 221 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Степень заряда батареи, % + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 400 + 20 + 61 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 1 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 710 + 170 + 261 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 230 + 170 + 231 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 250 + 120 + 211 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 230 + 70 + 231 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 250 + 20 + 211 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 710 + 20 + 261 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 690 + 70 + 281 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 720 + 120 + 251 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + lbNominalCapacityDots + lbBatteryChargeLevelDots + lbBatteryVoltageDots + lbCellsNumberDots + lbBatteryTemperatureDots + lbModulesNumberDots + lbBmsTemperatureDots + lbActualCapacityDots + editModulesNumber + lbModulesNumber + lbCellsNumber + lbActualCapacity + lbBmsTemperature + editCellsNumber + editActualCapacity + editBmsTemperature + editBatteryTemperature + lbBatteryVoltage + lbBatteryTemperature + editBatteryVoltage + editNominalCapacity + lbNominalCapacity + lbBatteryChargeLevel + editBatteryChargeLevel + + + + + 30 + 480 + 1001 + 181 + + + + QGroupBox#gbSerialNumberLocal, +QGroupBox#gbBatteryModulesCellsAkbBmsParameters, +QGroupBox#gbCellMinMaxVoltageNumberAmperageParameters +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + + + + + + + + 30 + 30 + 321 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Максимальное напряжение на ячейке, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 540 + 80 + 91 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Номер, № + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 410 + 70 + 51 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 3 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + false + + + + 920 + 70 + 51 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 5 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 30 + 80 + 91 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Номер, № + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 130 + 31 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Ток + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 370 + 20 + 91 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 3,23 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 540 + 30 + 321 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + Минимальное напряжение на ячейке, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 890 + 20 + 81 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 3,21 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + false + + + + 400 + 120 + 61 + 41 + + + + + -1 + 75 + true + + + + + color:black; + font-size:18px; + border-color: white; + border-style: solid; + border-width: 1px; + border-radius: 6px; + font-weight:bold; + padding: 8px; + + + + 84 + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 360 + 25 + 101 + 21 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 120 + 69 + 341 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 60 + 120 + 401 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 630 + 70 + 341 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + + + + 860 + 20 + 111 + 31 + + + + + Segoe WP SemiLight + 13 + 50 + false + false + false + + + + color:#869098; + + + ..................................................................................................... + + + Qt::AlignCenter + + + lbCellNumberRightDots + lbMinVoltageOnCellDots + lbMaxVoltageOnCellDots + lbCircuitDots + lbCellNumberLeftDots + lbMaxVoltageOnCell + lbCellNumberRight + editCellNumberLeft + editCellNumberRight + lbCellNumberLeft + lbCircuit + editMaxVoltageOnCell + lbMinVoltageOnCell + editMinVoltageOnCell + editCircuit + + + + + 30 + 680 + 271 + 51 + + + + QPushButton#pbLoadDataFromBmsMemory +{ + color:black; + background-color:#f7f8fc; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbLoadDataFromBmsMemory:hover:pressed +{ + background-color:lightgrey; +} + + + + Выгрузить данные +из памяти BMS + + + + + + diff --git a/android/AndroidManifest.xml b/android/AndroidManifest.xml new file mode 100644 index 0000000..709cd26 --- /dev/null +++ b/android/AndroidManifest.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/android/build.gradle b/android/build.gradle new file mode 100644 index 0000000..2ac6918 --- /dev/null +++ b/android/build.gradle @@ -0,0 +1,55 @@ +buildscript { + repositories { + jcenter() + } + + dependencies { + classpath 'com.android.tools.build:gradle:2.2.3' + } +} + +allprojects { + repositories { + jcenter() + } +} + +apply plugin: 'com.android.application' + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) +} + +android { + /******************************************************* + * The following variables: + * - androidBuildToolsVersion, + * - androidCompileSdkVersion + * - qt5AndroidDir - holds the path to qt android files + * needed to build any Qt application + * on Android. + * + * are defined in gradle.properties file. This file is + * updated by QtCreator and androiddeployqt tools. + * Changing them manually might break the compilation! + *******************************************************/ + + compileSdkVersion androidCompileSdkVersion.toInteger() + buildToolsVersion androidBuildToolsVersion + sourceSets { + main { + manifest.srcFile 'AndroidManifest.xml' + java.srcDirs = [qt5AndroidDir + '/src', 'src', 'java'] + aidl.srcDirs = [qt5AndroidDir + '/src', 'src', 'aidl'] + res.srcDirs = [qt5AndroidDir + '/res', 'res'] + resources.srcDirs = ['src'] + renderscript.srcDirs = ['src'] + assets.srcDirs = ['assets'] + jniLibs.srcDirs = ['libs'] + } + } + + lintOptions { + abortOnError false + } +} diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2b338a935b508eb6286ed4b84a91176ee5fb93c5 GIT binary patch literal 54213 zcmaI7W3XjgkTrT(b!^+VZQHhOvyN@swr$(CZTqW^?*97Se)qi=aD0)rp{0Dyr3n3s!40Q|jx{^R!d0{?5$!b<$q;xZz%zyNapa2&?V6XpHup!C=N zhX0SFG{20vh_Ip(jkL&v^yGw;BsI+(v?Mjf^yEx~0^K6x?$P}u^{Dui^c1By6(GcU zuu<}1p$2&?Dsk~)p}}Z>6UIf_t;3xI;Q!-+n*Zy~K>j|^*1_~2FZI8DApgt9)Is0K z%J~1+74e_0t`7QkcE%3>uaNcc5Wo>I0D#25{$&3iqWYhq!fwWf&Q7)tG=^6Cj*dyH zVV;O9@IO^?RPO3fqiD7CVF17a@${~(@kp48o9}Yem=+7e>XMe8VU@@g$h%DD0v?5D z+Ut$@U9uh{je2vf;M{rAHy=Ddu|8Su9hE8ud5;e#FWa4IFBu0@lbT)kIjFk7YO#M{ z_UhnpU=OAk&ToalWXHkwGoip`@1`{c+$_;-A@{BrvWGd1n0C?8BkXAcUB}hJ9ifTd zXmGZt20UMPJ>A`K9d~etf4lL_aN-^=h4i~6pTIuc#?fUTya6@joGghByrRwEp6ns& zd&Qr~-rb(T@gNSHuKk&*dp$9}97J6mjOctPsOd%;PFee`sqIx2e8rg2HGO8p@5D2N zJx=u&A7;Ik{?$cw0C8-bXwMvJD{jWVnSq0IeuaU4jg5tdi++wN3k_ZD5gaT^Ec7l@ zUa~ZunVxelrCFSv!-1zS-V#TvVX@6od@PY3xJ>bsOEg6JdG z+K!pzxd`b3k$evQeZqTUAhmZe`x3ix`C8_(`>+zEQ}shDw<}~?e3?djT#2A`La?}p zj0O5dtyyJ+H zqUrjYQ4e+(l4AV;pwtqZhOgYr#WFAg%Zl0&ZaMV`k(g8ES^@~SDWgW;9h;u?1=8tr zhoiZ1-y%eL8TN8Sq8K9aFLZim@CgG=D^T~Tb1d}pBShxg|^!mT2n2oXVB%PHm=LAMNN;P01p$$>)?(n+ zt_o!OLxHg0))2ibNbMM!m!??fAwd5`p_L`rU%9-n#*mCH`H8X7;!s8YR z7UZrCqE{W1h4i|mwPjfp^5UjtSi?jhvKz5ei8I0GPZvW3W6GIH3k2?0@tX3AV4CQ< z{qH~842S+LBE*9hht~B2_$?~!>HbXJ(&b;_>F%_5bd|ftS_R))_HLz#Esy9^RdnFu zBgJN*TpZ%VLaeq_Hqj=~1P{T;OVbKxRz>M$deAaQe4Xw1sB`Oqv5TsUHs%!O)+OCZF->(mdYr{;SrB4(jk^ zHZpUJJoL;_=KPKz?N{}Y^7pJ`JJ&N>Z z4bP_VWj74DedTUNKgk1mDPJK;g;5OgKb8A-ZeQTO^LBGyQvwBnMU;rV9wTj}MRDg$ zt|n+v8Y6kiEZ0i2U!2cO(&cn2?=X_Hr!>#iWxdijtGQ0swst>+l#{rbdxYt6E`)(l zK-pE2f}6?2XA9U0G`_uiH`uQ_pKQsee6%AMX{ncaa3&0wZcrqdm$>LNm6iVfiptW$ zyn7m8(>gfzQYFKW{#7zG9^e^<0i0MFp*w9&FtQoL=-)E%@@9Cc zP9_=$*WH0TVDAK@nl1s3ydV_122<5;>(ebz*twQa8o!2`5X@d4!f}PF8SWX5KQ<#O zZuQ|zNK9)>s#<)>#vY)+HTMZch!(bdU^n;EbZH+w)yAsxiM?!Iz9LKQaW76UeCfZ& z&G{g4dIN;I!b>@<2;XBvbcCH!LUaV3T0*)*P6u#2xaYWWJO~LkbIq~$aHvhr*O_SX zx4chD#{l!&zjREIRfzCw^;)IPsP~fnr3%Vm`Gyh-~&Y^4uB1MIJgVi9;LZdkV z;tGh}#^1RI=8T+!GDV6U_DZU8wUcFcLli|4uc)bS%8C-A%%PD+f~?Q(%_TW)0`NvR z)12Xrfts1p=!g*RQ4@C>tJZR5clwKQ*@H@hGwcIRlg6vo5%{FB88gio7O9D-+%d&0 z88=QAENyEV-ZX`EH9c>0KW}#-rJiyvuVq|ZO+gFPZf$Rv-B=@dX3*w4^SSj5J@fQ! zyC%Z-xP)EC?5lHyq#n4UCeO7-b*}O80=5`}y2v@X#xL5mk8=;U#Z-IJ>cn`b_W5KE z0CM~Q;A0JfZpNUVt}7Ba0OqS2fQ$$co!Dhg^Hs9>#H-mGEY9I_uQA^8j`@An8P0IV)J8- zy=Fx~&V9q*kLhS%Fn}efjT>!tx9S08$5~Sujy`}~Wv58)7+=-SAo(hE0+24Ok0-gn zDneFf@Xcl`&(3wUx?cyqL?>3gxsW9~sZ05O(GKM5b^N_0gKg|Ym@ZzM=4I}()T{vg zrx$~)J*tpI0N$#&Ey_zDF~7gE$)>m(Ij*=`;-$>MU(O~yDbLqqCM$i7pAi$c`N7oJ zdW!qfp6-&3jDMiev3r3X_wb=9q=YLZ;Chc-ij#gUZjQfuvasr__nS{NKdAbBw zSDX-k4sib4(T^BnR5U0 zmtS(P^I{9gar_Fr)O1zXpI|rtduN&QQ%za5UiEwLWQlkA@FBy)z5_LB_0?d~u%ATI z=&Ne#|M)~xcXC8A5=2)8zUGE5S7LS{HSs4~AZ{Ih=Pp=_0Bd!!YT8I+Wj_lwPAzR6 zpC*s$B>OJ-0{##F`wysfa;fH6{ucyo{567q2SegQwyri-w)#f@34?^A`XKu0pn`uU z&yJDcJ0WzQ4DLEBAb|Ph9(7t6SR^>lop>^S7xeejx%YRDg-tV;;U^L$S0<$n8I>TczV;H-4&5 zT?qE8Wh52_lPc7X-{!*wGh_7M8q&5&tUV`2v=T*r7aS{w@Y%`zZVN=wny{91zFK{> zy6N=={^v>!Ud<^_e*pkszyJV{{QFAf^qtK39UYCW4Xlj+8}zBX>0Xp`1 zhMan0#!`s*faP1m*3$dQl+6eriIhV!0w|3r7okb@9rbyt9&OS$l-%>}FWw2uahtQU z51v1z%{yz_lDVNIZ~Qk?p6RR)SvQjzEkEBg7e7FDFh7xdT#JZI0K}&V`w}< zsKW1!;WMM3YiKeDjtpKpL)OT;q5Bc^M7Ih^x(G+K6Sv6pkIHe~C_^j8-y%pmk^7qT zUYI-ZC$yq>TV&m&q`E41-pIUic2@0;)u^P>BTZ9H;g-o%pc>2dP@egvoY8w^Y|idJ zRt_E(&gS|SK2PITHWtqM_B@=9>ik~s!9I#JNX`|p>bZawbmhCZLSqhETMj8t219ao zMm9drVP#=M?`4Fbnlq?T#3Qvei7dhctcJ-9F&V-EBm^<($!9tWv)Nc$Dsbs!M`bQf z>y43Vf}fDD##=1L*jB-t&x zZVPr;U3yaKpab^Ek8cvubvkv@uAB)QAFNLUmK)VdrW;N6pb&;!btC7C%kAPrpa02d1c|Oku&)PqpeJo(Q^Yqz{aX zwfQ4OM$+(OzPlm>p=%MVdvklYGFuiQ2U zm(W$DcEay%?jVKdU zk06WOukkk%?Yl!sQ<+^@&8ktWZZp4pYjDk1B0ok{8I!iEr9&)Mu5JbIVG#cD+jvE*J7r-E?MQ<%4G4G`tU(9*$7eXT%)KXb$%^bJIqk3)f!GHu^U3FG`}z z5*qT@rr07#9n_Q;%Zbu6S+PO8=!A#unVJ|I80$N>;M!hX8t%flkZ7(vH#uUji6`72 zAE!j~(RAe?BR`X~F~@HWFwMZQffSth&eD&$r~d_sJD@h9(%Dnha$nohXX#lcZ}yYSa6@i6&aNd=PJiVs`JzkN0P8>}?&4(-C28Wwp_$Kj6H_R5{ch}o{u!yvk ziY8X1E2udz4&M*NTO<(Z4)&E@l+f*>Cr;!?j7LI;zWPbaU6yHEGOygY0ykb1Yymb? z7`(tNL=)_iS3RmbhXHd%(5xW%TU7%&wZ9g19U0e&yKy6xfV&deCr8JGX5H&245TR#;AZ$ZrRyRc=NhTka0F zE(C)7ZH#x0-{o$0q%9GH5}#0vOFzM;Z%~Tg)!v&?_E@674X=&rKhEB$ydk?^=)b`{ z=tE*|g?_)KjR4hU7IlUa)27F9yu(v@o^Bix!^ZMRT9da_JAGOq1IIjV^Rsm&*xXd@ zZ$azq>oCbOC@wT+5*{>U{{;FrU*|#MK5>;Us`V+?jJ}=0z1EjeyLgO_2)5yi_w^R> zaA2*YpF?u14h=xZkfNibNv7JHMHVKk9yD%`O2}?m!e;AZS=qDsDc2Y<=@8t}s_(gq z@BR>HBZ`nL+!-MU)ZnGJM>J2g(Yp^i1?%b_1v@YT) zb@oI~8=DSUb|;&&zE|gMCZFzIz4OpGM>1zh7KGPE7AE}ZxTg(w?WW$k1BOB_VQs~{ zB?zK3pgi1ZwR^Op9q^fM9hP${R+Ba-8%?YjDny#OpWAkYTwRG-$Guen2jy2h^M%;a z45j9D1Qj{qr?$0;dMq--dyT1Q zRP=pw0f)|e|K4k{*`lrc&ZGAEvJe=wA%BTPt*GcQ^#}oBlO=PL9noEQGu3Yb!j0sV znN^-RcL;?V+cxAHj3L~xE3G?cpDpYubLvLQYF44x7?#8#L+?U4SOWr^?7s^3(X~s z%p~`biV0K9W+<%UiXXq2TLKCW_cS67S^bSVh*b!m_fs<32}rK`F!*53Bj!(siro(! znHl{eD?PLoXsmvHU_mx2y~^mV-j%!X-hzvq-LT**r9#_X%-3Q+)jMhg^Hp+MwAW@1 zv|(uAnmuRW9r*#*JC3#6-r=|4itP&tB_Ppzoq@8{YSdI?T@61b%jEHTb#;?e_pt}* zA)6PevRssjAMI4Z zDSI3|iA14*Dw%?Ho{H`E7R#DO;Sb%N16^Qr#heT@o2&raa9+KaN6!oP8a6o3n1eXX zLma;mu>gyBau7dETp8)Hw^L(`XH$cwR`lvp1z$Pe2v#*=T$aZt9*XRd2w`r7M>nbs#qq8*v)eA)1U+rP4NW+42jP+P480(80rJ zW%u&i%#&A%2cvw59mZ}m1_q0d6=okiJ2eg?d$1%Q7d#IWzB;i0Z6#;eluVel4g%p6 zXi!lybOy_Upf2!m(%MX`nRRZi#L+DOfhDp*uybli@s6b3X1_GOV@J3o-P6WE54?+! zdaK)7Dc@_A6U9^t2IFTX6vVcfxdD5$>v>&CVh3GCFMfUQV**; z!W)R4dkC13NlYnE8pvxGujq$orL9fsq${&dVzzbU^9K?)9Ot-J)Jl<&f`Ei!?>ja< z&0M)=MU65R;zJx*IIu)LB}ENBLbygQfB1Y!y+Ktyi&ZVB#SW_FR{ax${qq;$E49d6 z;WEPT=^YWzAo(XI=x4~)M-N-T2U$4UG&ppEkiEoX0iMfV@7fW*2s7aIrT#sH zF{ZDcPee;m$W!(f*%osjh_3>pJ3v2gbLR42VYe`5Jpq1KtGZuX5F-hDZ$WSk@MDd) zXXl8E^S*wLR9+Om{42ZKSV(TLcl#e)(TcSZHiV8}Vu7@jGRRqDHwFalcMfLVISgBw zGy7T>byEB4Nxw5;_oTjX|Jm(X;90~r0s;W200RK9{d)!bN4G~LWoxK!C1mdC# z>|}0h^IxRDf~F)UKhpQK$<~rng?&@=x@Mz$sO81_zNREU0tkL%5DKmrnN&Q!O#2#i zf^@`>M4#Mk9&azMG8bd;d?}pQYMSE*jpOP>52`Of=THUvq+S&mtgQ6oB-V^~=c7Ey zt2Ogzj8YEW&S`iKfr@%(4Z@qxW;vzw?Y$v$=_MQsM%witHuZW~q_6qhjU=`&{M+5O z9-ilvkj1b&u2T7ZOkmgf|cRsdlxFgQK#UMv&f*VLyvem7U&n9E@eaiR4vUe=EKBt!`1hVgqQ zmdb~my*pk-J~J*mBn&~mG9#*W7+VC`x6G4EPOMfhT2W0xxkpTyM~^^(M-z~j$O{-0 zs*p7K$wlKuSSoz}FiK++Ln@TFfT+l1L&5@^MjU~!*Twak08I>c85=^jSPR9q)LQSs2!5vFzQ3~zGU=`whAtT?(orpa$#q_1 zp!jv7j0T|$>DEFSs#q?$ zbgvQ43cUA(eB%^&uQTd{CbqrFrJ37byNTctGXJ5#OiHI442Ah7@WuVp+a+ga%Ti{r zM+1zu{NU)BLTPe4Dj$aL3KQ42oy5HaN9)b#bB;uTK@Ov!R)}#jYM^Fixkc_WIcnP> zpx%0t3l=kdM{AdE85ag=#h$cTYGc`)2@NV zKs41wCN9OTw>rK;N~ZCqU!lN;Y2d~X@ETKgc7_%WXV7C( z?P@%os#ef5?Dv)*nyOhS+91RkL)C>xWra(4ACw6;-#8r77t<62T-<+!R=R&rFhzGqCu8fs+4WbC zbTT(~6w|l)D`x%|#T2EYsi>)p^vxp9hL1Jg#U!R#*c7O#Kr2SvNP$Fz3`7i8q;rm+ zNfHw5xIZQiX#4c8p^IgD9$*VI%{IN5LN^-e{UTbnBSUbwJZ@C~yl(03dDYa@v?BBU z{t?3q*coc;eL7U=PmX&|cQ)WGMVWfnM;K-MmaC^CL!i)+w`&dR2yyIf)?bJ!&rTy& zM>Zslt3)O4RtZ1hRsv6{mb9O|d032U$+J1!q0mV>^nvisPk6m62%7Hi?AN@iVdd`e zJ-t8QPcZZ-b%+w>n6d6noj5-!M0UIyoCXHTB&}{TJSSx;ENSfQ_YOY5lxYc6-P;@f z$8&r=x5<5)?#ax>QoALk=_!#WK;53YDSs_E6E(_))Z7Rp_=JiRUSf4!L;}`&LxZDg zBX8Aac&-J-Is$QIma!pSyk!b$9kE^U44Dm=tk6;|51p_m3Z^?9wX+mEkeGk&=66^tnGsmq3S9Gxk#5L+Ir*U=-wVlNS7R-XxxJbsK3x_jRBs;X#^)WGNM#ffO3{r!#~XdQAN@vI9@nFWi%Y zBS6yf2rcWj;Xlyyg!&dT%O;U$rjFkGsokkbO$Q!+q1h!$Tx2Qbt)ZwO8Zj?vOAO-I zMR?T)z*;-<5#WB+B}y71ofQOrg%Ew6{h6HA-GlwjjS`w-tb>lTy_9sEeYkZIEgxH$GV| ziVTMZHZ@BG<=T;I{3gggUj$ICBg%D1Tu4}Z>A;|7Wjx*LjVg@bY_=l z@Wx$?*VudeRP>JmH2~co{%B~lemZ$As_uXcvE3HI#j2|TX4cez4^g*Z9Nd0E!LLvJ zL}rm^kq}V_v)z@J-_D!V$UPrpI35Kdaw{-%LXTz5$5!0jSy#2RxhizCM!`wcwO*ymdhcAcPrf1x}?5HX)-|T1} zP^fRGqOoDW?b&(X>4WW=<_TeOg*lJZ-Rxne4(pPj-p6!t)h|v=LmNTZqvbJ4sr3;W z!r@mNdGHEg(Vu>Q>%W24?5ai{i)$G)@;D(NAJXVQ!nvlc3pydLiF#OfhNs*zkT2N< zP>P-rH#J7vKkl1q^;uE{;qExD&`HwCQ_1wXCapJl0qT}Ki|BYh=>Btm%c?+oUHnT1 zu)zL*O9VEKPWo0>MD+g&nzH^<4@j!$KC;gY6DEJ)H0(6Z=0sMhpds_*!2KY=tp!u~ zFaHejM`P~eqdD{wwo46;)fW{y-7As2-;s1*<3`E9) zj3iEoA7$a*h}cfzc!8kKI5n;>u20$kp@@hFiq@}Q%qva_fsK&FG=VMTfxtZ<5w}lN zc+arjs~!<|gp}h>+)E-@meh`aFh_j9;Z+MECq*yeRRBnq__mRYhj0LO=vz`;;JZH9 zl$on!j}k)L6slvy6juE0cjr#(cxi;$6qqLoq`B1xGOyrVZ4@+j!bxa&CMw@eG@}xDaNGoqU3RputERQN%a}LT*+R zD+J!EK#PUE%`$B2(dwYPz-d^(xyV!VBID6i;$bNUsc;lqC8pmxkD$TURMab>!;bs! z&_(A$F={!jt5ky=j>`;3vn3MJA~-{#RVGu2CVKvd4Y_GHy>)%4TSt24Nhu{5_sSFU zGS%kGn}YWZriRonR2!ojJx)6s+higW^#Rqkpm&>qO5AJ?<749adish}G@qe@74Hb- z^!?brxA2p+=p1Z=ZxFGLT0@(mi41*-M~&r{Pz*@V-mwjvv?Cs)_XQfwp%o{tn3@Z; zUYo41BHa-e^y>i_Y)<>0=oh_|XnwDN?sUPkR}vg0wGD}aFXRcD)a>X8H~x{9TWb~j z2v3a>S0nCFRA(>LorODZbRWF>l)oH1@BAGD4f$YmBGk;vouT^|;%B1##Z%z}^!}YG zhEMeY>T6N7?p}Scs?#S%&zwDI14nslxxUN@b7%Qpd-P6t&W_)r4!6~MF|CXk1G@7~PhZtFv!GDR3oSZ$wc*(=F+{y~kKy_Xx~hThKCO(Y1(d-A9mNtAC?)`Ob*Vbn5I$P1>!U4FH|i3kNwY^8y*Zp zko^)3el8ig*1E$S>&>L9)6^&djWlF}RUuT$!HdvY^drp^=bPKrwIdj@AE5WURf0HW zrdBV|JVhcRh(T{79hwU5wM_n${Lk@qqS`p0)Po4)i~6=dJGGjTs5uCfC=zHJTsJycXbi1`-|>XFE-G~>DxFsB!%!&Oo4z_^waNjSh43rbUlR){LMDdKoA`tvbH?Ed7xh((Y9^o;1DR;7Cj}88`2X-Xj4P+a)Gh^^~D#Wd?^3V*^>j&*W zYvPTEM#{}!%)j&(^Hcvj<`=NFb^6OD=-Wx_o7*Tl={q?658zjKT~LAhMw&<_6hbit z{4EBBKR9imC}A#c2GI%*lF4TX#+-*V)a?RNpE%Ayw1wLK0(-lj(w&T&k*w(PzV186 zE5NB*k6>$;p6Qsf)|19b`1AGoVhW(sC(9tL6ub@^+H~RYq6&F+zLJTqLJcJE zWhSd;V^ZfPC5bePXn6Wd3$#fYEnV@Yx>kp{d>1hwj|(qOqU-dBl+-T$V-Tn%a5bu$ zhRQ5EcOv%H)YdC$TKBIhlNqT=`-ull^=5O+V)^)7dGh=8ILR_&!j3+w-;;KYss2Xongwkj(@ay7vH8n`GU6eA=)`gWN^pzz zX>TUvQj+z@>QSr?{)V9H#sUOvL{7BV?E|)gr}Gf8Z?UlN3TE@^YkN>bvN{k9&o0T< zV>XuU6Ma?Vo1u9df7dP#43tIk3ZE&B*1?ExS2yScgWwq{MRlO&T?B7$o*wuR=u3H( z=o9pk{LOI~qSp}G z)ki?n9BRtwaJDHS#K`3!Q@~($VQhoXz@vf@L-~rsdpqlcMEA|>8J%v*TH7A_+3fBe zq{Ao6q_Xonq9KY{t5UpJgGiBxeO3wN2L2H>HEWw@t#WnMK0C++x)xoh%E$e+1l_Jv=S z32+|8nKPuuOv?;bL_j^2_uyMX)(tI0-4bZdL zGuBZx^QLcf-Z^hMus}KPjW|V`{w{tlKSId;h8#|Mk;{JsH)9MNDXIa6;fu0x7)Zpz zDS1iR!=66}m5{L~WcMaQefcI|iz#na;lz0Tl=y4Ir_t}g4{O!>vTM;4C{{TSU_S)4 ziMF!tp7Kbw`ER7~u;4-w#$QR!wp|ISzJtC+wQg9Uz}zlDW(qiiWi&!YKLCLo;1V8> zc*FFydcjoS`>cT`LI(!VVraMTjg(Pk)pJ zrmV9EEs31VlOa=HIPSLb!o?C7jDouHni5sU4F5b&$kL~#L0wfC_=4^gm666|b572MjQs zL~P{DD;&?h)bWtTA14!^&c_M8fm zw-U4h7Z)$@%7BF3%^Up7iE$ls<4k(hyc~ez3HJA*83=eav!+aVml5l?H&xB4AYDjo zg6cOjwl#M%os(r$P@|Cq204dQl0s0sUkGVSj`;dkL;?sn(22B1p=?Xaig9AB^pp9t zD>2xDJ@Cdlp~G=|mEZ=>5Qe zP5-Y{8kF#1J1>Vc(vvbmQA0m$CzXnr1tF{&Y)elPYy=LE3vNR4QI(icEoq*I6!jDC z8-y`5i2DirSrB>B42_`H5SyLtc*CCaK;irS{SLhgCz~L)YXX#FN9ngwN+KUXC8Qn7 zDX^JjhsPf`s}~wm^2-%{6?|Zwae!g-1gh>_{3=z)+OrqEUVC7_reuJ}b-T!f!nYNSkQ4?wR&ktwh5%!f zXDjUkE&x7Ed9hr-VFc z58{Bz_B@1^28e3NqS$w);rh0iTJcb>R$~tG{@&1nZW#HrXqQtEg!dQtZ0^|_(m|oG zNaiEdvbf0@hd`hYpTajdNs15NeNrVDi&!${K7|pqgt(99R|auJXporuZ@eZy_ zdi-ZZ=2r#C(GC>WaL>gnEbvd*&-~pEh7VE8x9G^v`DFQ`)-M7&Gb$7wRfa`2}YwtJ@ z>BXDMa!xISdxyLLS#7?nmtL;#<+aeK5^qa$3s@k-^kk$odB!hn*J97%reX${7todQ zBdZoqIqYl1*;bt9W2Os?!&ZQ3g%atB|IjAvMg$7XHe zV+Z;PR~IQTkoQdTa&6|+>GgrPHt`K^eQA?Ke3|iaDK#67YRL>hUl!@i>Z+30T1Wg0 z`%3b4PwDY7nG)0c>MkTX=YV0BGW8q^dN3<1@74C)p4n*^mGU7 znDz`y@v!&AtG6>NaTiBw+PaIL)OyGJ*h%ULjsx`_mj;#K;lr&-gt7o5%W2PMPqSef z_taY1$7)HvWsFvb_259 zIG3P1+z!mjia#+mPb=^CA67;xmE78h%AZ5z#hVfiRa{K23hC;JmGhD~@dKu$mXUx#p&`BuShfqjsi1=S+FiushWf%9hqSukXa~7$sDxgF8-drUqqk|k!yMZ%IcEi(k8*?lx~ zVzsQn!Ph0AazfTio4!2ZnlT}_ss_(8%qs0MT^;XkLO)5g>+E$POk4Q1R`JSnCEO5= z`*h!yDTrB|znNib9Ey{HrjX~sYN^w+Ou*4{Ji8$_!w5nEX9%+R-!Zt;s0V%!1l;X;xT$pp{^%?saKshn# z+st|6o`iZ{rDvyXRbk&W89vfVSDCTSJ}f-lq_pW9oG@N5a_!}K4N&EFOQ+BjyrVdZy|DCX1)xe@ zb7qU_#6RO1T@OP)Y@`S<>Jw_;hvLAk9v1&HY_XDBQS0Ed^x$o1jm$CzqT9{f`fbuR ztKq<16NNub9Jrd9vE;pAbLQymi1Y3TH=|QLG*=DX7JRuVS@BqEWoGFkS;x5^`*Fe+ z!(H|%IX}m;UJa@bNCm4eX*UA>K8TlMA7=>&zMLc`S$or`?kt`k7e#UgR>$Se#WmUk<8At4j36`;2Y?Q&(o^D2?wfDs$`As z!m=wf?s#dX7ieHHw(InLidG(sf^)T8e!ohlFcuJs|7xiDq#X}rE}(h!jB?ctznaTw zW{7b@bvFBx6~R=O9lM9tTOssqTb?&ye%ApyQ==amDcr8gtvK=2Nh>^lbcT3W z5JSFMF|(x|_VR(pq5Hf}V!%Ud?)QsXz&!1ul*VkX$$YTL^jn);z1|;7@g^3mc91KG zbXq~#a8M>~fBCs>DT-Z@(^Z)&&P0)hQPp`eJKSs1rbKob3-O-vhCj%lsiYg69H_Mp zWvw#d7yDergTfJ1N062Mw7bR_d5trqj{@5wA zTD|4jv&M}?w1&>{;RBFrj9B2vwauin+wkC2df0W=S91h@x9_1Uy}@F+f5c?%o}QCm zPPsi6YzPq|PeHAut}QIw5JhP86#-Yc{GDa@)^Cr2nzclj(6`(FTx44^FEeu+U9o6H zHMROwpFP; z$Lzi1G<>&_%n%+s%HGfOf0FC$2I=-9KT!$1I}C%`F{-x28ldWLO_{9)Sg%Uvdb-ue z_`VdN{ze;U(T8g}K!U*^%JQ5QMSVoP2JA!-z16@PDqs`g7JPN=|6&rkrNJ6$Kr0x= z_saCl+1o~Kdr`jjPQXc_nbZe;>IUqI{Ec44x=^jF-)X++`U`ds+35vD}J5^;pTVg2M14sFx3$ZcU#rSYmg*K_y zfGcdsR^!%-FEB3j?xuith}9>uaGOnOR+r!xt>NuMAdmhJh}E6#ra!=5D0Z>-s$-#3 zf#9iy*yI8X!gwWV>x`4(OxP~f6hpAdeH?1PF7SLpdYNK9VSQAKUh|jaukRJBQZM%b znnoG!>27>A0b5|5gJF?pF|RGXP(mP2aj&6ZN1x&VR>p>z+0u7yWOF5B@pO9Yvh|4I z!0(x|tuDcKMAv^Sb#nhb`;d^m!xt`k=LwRR(RBC14ryl! z{LROHg{4n@%`GO{1MWMj?(cplnmGpaXotQXf}H4OOKMy{7%ae7CJhD%CGzY?B{fMoC|1M02`>PF_5%g_qv z#PFrk+~^7#M{06?W`Otboufh0QZ|W%z z>_gw(z%)GgUxtaR)~35-6ah+kbr9@_R($dg2~u!xBG!8SnV=d@@26B&XuP2RWHWwQ+ii^s0Q#nz(1-H|vZXr&Qvw+SL# zsNkw-T#0O14`ExFBPW4GgBBA5KCMo2*@Z1FOr+T*lPfctK zWa0+c56Xine#z#v2q3rOO@qXUAN5vMsfeK zWRtdrv`~ceQlmyO{DsCeQ#B8cq?*R$dZlpu?2!eDF46WnJ18Pvkg<}-%Y@4o_Fz8R_zJx56w@fmD|HIfj zMQPS0``%e;+qP}H(zb2eS(%l#ZQH7}ZQHiZlW)Jhzumk0>~EZlHO6zXZq_qn#*By= z|6dpsG4bTO5=-};R;xo%1BSqeBxlta85gs6koVjRvWu2cRmmFDX z2AWx31wXM!8jb=fiUJmu8Ww06R|7_3Xtye(LD?=!=hySCsbKBe>zRF$e+-tffpQM4 zbXrd%;S|m6HIHMlN|h*XS9H4-6s^=eWH2J$e(;zt2a8N-GsLY)sJD&9@}PJ>YEvkx0= zrQDHbKKV1o3d@?!RybN8e~3SR$--%XnacdsP@6ujC|taV)Tz7{E~l!KRYk9g4%ZcWEzdryaimVbE-g>co&qS%7+S8BC4;z$|=VEwBT}0b< zkfg0j0uvz^@sT-=*~Ks7n8>b^7RhUj3BN{_d7yh%>aqKIMG;VjPz@>CZ<75epBFdM zfWVF2ocZS3#jW(%Qm?XC032Hc;&PS9D znaP>obCz|f8xAUW-RRr_C~V3lvd~I&|CC|ueCoNki79CjpNwTRgqVVzFdm55ZdQ2F z_yNi?y^yV9OeP0hTgc^emwGg^)<|i}$ok;cX_pFjj0a=}0_P^{vjV$cN&7S{eZA13 z2Gr8sirJmepvBij)9LbCjGCIJ{iovo(`B@jyx6vr8LB{?eca-Ajl&ksT!q$Co0NP! zX@eYiCA+iW%1_y}#XO`rPJJ8kISuNDGMT`|#hn33qZ<&i+GnLZ3z@AveOk%Dv0FtK zSC@tYaT+dTYh(NJ%t@U7@>2H&M(M(%WB0_(V%>6Pet*i3h+kE+ir<`prCGibCm3&; z!r&8x#K-GKJueBAB5J_MsksNri=s2+&B|NnclX5VBOXW}0p8A%TNtnWQQcjvS{^*z z(iW(Ic6FG@y^2S-wr$J2(5@6;Y&u2LJe50TnVWSFz>clY0sF$)hz*kv7MNDjPU7yY z0tHtB18<>euXAM45ObqHHB>~G}S&CdXV^H9n3B!Z$d97w+ zKd1f1+dnPl(fi()8g;{L67lvw3~GQVeZrp@tof?oDK;T$LW1+MWdIZLc5TZWqAyim z@O?xNu6ilgt&`P7f-@b3ZYE>Wp))bDk$EeLRS+$KM6{2D8$ad#G)clWo_SCkna|*^ z)ChG1Eof^a)KtB=FPh$_@%Tnr1VP*+b0FAMj5Vnf^%;E zmBh7-Tgh{|=4uI5R1OsBJnFhV--;@C3I! z&Y)G91H9Wa$S<)2ygMw)uYj$7wQ5DsvUk)krGq~&IP*DGjnNWaN7)qbj)_|+PVatO zlA0b;kwv$3JBFW$dZvSBrWIK7?a~u6BP&9?!A}D;%YL82cvSDdN4s_`l|N~=g4R9W zd44q7wu%bkf^79F@{tttShmrPnU*9LiqKeF#2vNAx5M)6z@sOJ3`A6utB|C~3T5-ZPaaJYO(k(JCe zKGlLFWv#14b0LnsF;tQM)^md6*bnVkRms`Cl4%)jcSAo|e;D9Q`}`j3X+H;MBZ$|U zMVm#y)$iGFQZ|;JCSO5Xq^9th-szr4lL_6Xp^3+e3ngNT_m)ht9aw_aO+rp&ZP}d& z-jhgPupat-jmR~2;^1NavHX(ymN>e1cFMY8J22-Efv3JHL_suzeo<@3d+)qzzQWrd zk=toq;i>gN;Seu%NrE(ZK%Wani)9!Q(dPYXEY=e$uQYqUFLsepka=8fDcesZE}86x z*&_a!&*+QCvrJew^>s!tajotWC&@NGL!^t)qB{Eqz19~sbYooH$=#BSz`wSHYivlX zbsH%x)T-wXu7N(u{n7uVttStVdD^JP9i%|JOU_a_e*oG&natl|uF1F-(}#wKG~_fo zSb%}rr1PfcsBkT=TLT>JX_a{AqNQgXY@h;-VrpC-`xLIY0r!-*P_UCb&k}q8N`jq! z(UyZ!95BwnCJ{%+gvJ`jvsf&lT*M?ZN<22l?g%KR@Mm4l+G658n8;GEB@-xZuR|<@ zoH@wdXv+Q|H^*=KZP6K*EF>YYmg7qvS7!P0b`93h`ux1nnqEK6{LMAvN@S8!cWg5{%OA8< z?c%wT?9mYNWIrbmZE-2p9jf4}B0&z#y$(6p)kh>zqqopI#;kaHS2*t<7ic%mFywAG z8JfIe?gv81W>n+ZVstQZ9w~!~s@SB3?YHzVqvf!3&qA!hSkp2@c&i+07L>M`4zJYcSS`;)Io8^1X>X5 zRA!vYg7)vMIhNSh86Bz$s%Lb>5+qG$mQG0JAf^pkF&-cEtT{FW{|MEeOy9w_BGn&G zL%)JLC_eiHgjKaF=V`w-$l zy@tJqS8)m!FC2p0ftp1<*^I(bg4}@}-_r>EY(2DDxj6b5(t)D{Qew19T3|-F2!wBo zB%M~_H^kC%LzpPKV2-8@%5|AeoriS{IN_c(2XdYzng0puJZJ1gky8w0CchStDR+%n z(FrCpntx{wu_5^stD7*H^1#`OCnDIdw*YjHUy#DzX2yr(s}4mWu+1FkWa~2g~+YXzQcmz!8y_lUt4jWODJhF@GSY?gR z5CB`Lq6``kOO13bnl0{Yjv&e=bCG?y)d3i1Nb&1IrY`}#JW6p{(Lp^VMdnbk(5<>~ z{C+yrIKc2oME~C0J65))5}VS$H#++c3MewOfeu;0;}=(HqQDkX z17UE}`6Ni(RyFqH1aLZY?5 zDD6HgB3nBuguFV?~tqf&LGcr*q^I&ontUF-pEX=X;oUIvsKJc~a#juDK8w`2|HGYo&DXm=m z0z?5z?45v}_y1h{v04Y>{u8k`kmk)itj~o?=Pq+8Tmzu3&gyVYlqtEVH~hu{ycLZg z4-P+i_>N&80n7?bkzut>|HD(S_O0e*JsJaUmQdK6=CE3D{0~vDC&JMZey1(J)Rj;_ zw=X$604H3}X7u(4gW4;-fg!jZHza;1*!Bl(4dT`#Kt@N%AlmUywGT`yKDwE)?dD*U zSt{Q=ymcv$L>>QROLMZ17@go`yxw)ZndlkU)^UKVRz2~71!9iyyrM*;Fp%_8Sm zQ_2xxO4*YaxRor^}>#iJ*#+HB1SGf|fi^HGe+McxnHvt_?i)#HsfNYpOZOF`hdpAlhAhJvB*0UwT`{gyVs`l-4rn6 zMdMTv9IHP8G8%^yI3b#T1sXWP6F7k@>H7rNz{{_CVIudA@OqU^C1yrjy8ye#T6W=T zTG=vaEO_p~;JO5<$c!|kD}g+Rj7j%_E5jYG0mJ?TUzuxZgxT`}1S9*i>C5|DY($vO zA}lG4avsrIvcq-ud6cp(?s&uJdJ-iZ*k?cy%qRw4tUL$_RC*)pacg2;g{2<;)-$ISKJ zt{(o$-Bl&T>y?AxHw&_1Z;VQ>D3zQ$zWXj4r*<&e*vYS%EkzR@xHGY`o4)aqV4h$t z3XY%Qd_p5|5|cKU!I_yG>#{>4mxmy~mP55SQuihg<2T$*lem7POzKCcGc0F5+D8a* zP?sIp(RwdVwsD9#PEJ*FgEap5;`^VawLhVHXL*nS0F>z8&;Px&Ci)L1A8M?V2q#0@LaY<9 z_3CVDgS6|MQ(Qyh20O%wRQjdURmW_{({oo_J+)-;O*P;4$>vk%hxgT6=TQ8Y`!fST zdOs=(m))PR3Aa!!9m?cn3ikXwF~9I@2axLPy~JPb5|=uayDZH^(Vib}m3~X5B{6C! zZXMk1vIAJxA|SR3@)y2a6$WIRgzlZnw6^hMYs%}(Rl;?OV}sB_#u3%0~1AU8D!M1TEa>LkW1%CD(iMEk05`94OIy zeU!X@(Phu*yj8nMZh}2zC|(i+tlXu$bI%cY*@?{AcYAk`o%noR!Mbq~S+{#* zaWks#&t-nq;+mI9V@n^+LZ83-qHW8bQ9CQQxqf-6BKpVU zOAP@0qLr&JuWsxp-@DfH5#8F^=-9vs_I!eIdVB;2ZjCx2ySI~)jR<E9%H+@i_10p=ImLFQuD5R&a{So6^ zJ%OFu5LRW@dn`T_jXv_@Lu@=oA`O9uwSX+&;R?`uQH`0TrgKaxDo8Z`RcstQTk3Rg zPlU03Y!lbcWy6D6Am7XW6Oy`=OUbN`Mq4&2PB(F=*7ww5GoK7(6epqtV-q71gPR6V zHjTR>PeeixIHAB?<3fHHHTrBMp(mQ9#Y4nk#x5Nr`YaT|{G1mnI6{KZWEU7i+)wfj z;#Ibony8bGiZWPWjTyt8{ID6t_?=sL)j`DJI7BCP)KC(Q5;IS+-W7apxllCr#M1vl`*ty5$dbkiu&X+N)f?uHG|UIh90S z)bLRTRK>ZU9kY5|sCp{;fKWAE3nS4P#LTZwcCnW;e z)-QZjIYC=HPne&+e3Z}eL4133Qe~-7jheEN&S!g=pJ83*&s?9m1c6*E8G}qLYR!^8 zd@S!!U#Mz_JDoD>$%YI%?9qKLcSeLJr$iM$CP&0!rUou%!@p85n#{wzTUi#x&AhZH&BLX*O6@z-xU=lhSdSmvXJrD8l0|1b;p=%M*vOzv(UdYMg@QJZOwvrMyZuTLKFA)7Bw#-O$tW=z_p6Ok>{51y5f`;4u!cSSqwgHz_o~iZvAJpY4~Zm5_ioH)upg zgI;5EH=J!5t@mmW(HftAOd-G`+0P3oDhE~;BNHJnTrDrKG^kW74t>Z|*=D@8vy>*+ zM@yHpSPv177Kx0NW46crlnyJI6XvNhbblnLi_l6>CEc)slYZ+@Tq2INmJ`k=WetgJ zkMgtXOKS%HLuC-(j`wF4;)sSc&ZFK6t~SNpf!^NGZz;#M)x4szJX>~;hE>~}?g<<2 zP;Z7yTl9!rvV-<+mVsv>4O@CBGQgQ&q0Z|-%8r>cP3G31l8U@7aBw(D)kqfSu5r+j zdYGU-99MIuME}5Lpl}YS+)hqzokL{%)SWpDo3QL%6U~Mg0NL`K6iJWg<`% zf^w|Q4Zo|NYr(>@M~uFD<(tFg{!ux7wkdR!=d}``%|~WfT|}?_%p+^M;HK$ou&gqD zFQoIbL(zM}m1U~q-IL^4dt{b$_?vJUW7I}O=9nGv@&dzV?86sxG}(m5eBEaP}#k(vdu z&LbITTz7)1H>&PtUR4h|7bd2I5c)R_Psl4qP{wVfTOneej^;bc8YQJvrUfFnOmXL6u3-QT(#c z!*{hZs_K4iNKD9}$Qm5f;^^dpf7_-hfMRO5yivrJS-gfGf00$D8{*o8R+WuMnyurM z@|KOJlYd^Nezid>wCmCE4DG z+*DTvk^qlhtD1}$nnMlfCkzri+$wo+3+h^TV)O6vLwx=rgwG^=KLmqVwT#?mg7fyWU`0Nq;In-CQ81)g; zTB!J2^dTp~fk_tC_*v>55UWVzGY2m8348%BN^S2_RFD)qV^n0w#d_qF~ivNiWM5Yx_&zPoSa)Wc3<1!>rkXrQHx(4Pj`7I+`_lvt2$1yNOw58U?87Fg26?Y6BrBHVT8A%5=l>u+-o!+kPXS7^ z7vn$yT9prkZ8a*ko<|HuvB^WM>55trDZM2*hisppC|9Vnbo$Ji7^|AhIHzp<0IX{! z8OvK3D6d7C)C2mmhGquo#n58>E&X!d>bSgMv~rVpS=Sa_74LCX+ItAyWK_fAFUizw zb@f4hme$*}GYFw&AH|pkM1x_~g(gWtZ&!FFe~zxRJk1wcPI?{TSjAY0)cjgOQy$mZ zvc6zMVhr#R0E58kYXQyZ3`-wcwR6Ff@}R>aUQX?dZ{ zr_)c~R)6(UzxUF(P67*yJU2FJQ(()*(fz@;7=THo#B^524@|3ysncciQAXzUBT;=LDT;ptPL8uo7+X_;{CbUYj%zvAQj1*q0r<|jWs;+D5fktH5N0j{Sb zqV*gKFH(cQ)8ZEc&;jouFQQ;3-75(p2_3Kb`uHk9sk=H-Wm|YZD(PvdHOySu-I?A_}C^uh=Yu*C()oQPI5Fjr%Ckt0>-G=(llFVSdMG!G4a z6Rd_aQN$?=(+g>~&ew=2{}pnyJ@!2Ix$zP_w2aq~w(d4e}dInH_$nQNe2 zHwM?9D|ZWbov%*1hbniAhJ(Iy#RhY}?h<>wPD$>FlDn+fxxwtyOZ3E8BEYt$C;3mfDWyWocm(?)3 zXYTV(KBl|;@bd`dk1YZ14De5m;S}n9231d43M3SUCR7P=fsPiR#1CpY>qSH*Cw(ND zJMF4UrqJ|KR0T(&%LxE0{p6Uxh7Waw_6eqb?6o;35p*b0c6t0a&D%JPj!5jcnZA5$ z!T%RC{bwpBWNTw$ZtCoy|KA*)$arg6BmwxLueGB^e_lV|ygb4Sf{dJPCI~oX24!dz zF)yJiyCkB6sC8|Y8%1+MhMPdVZaCwN4$Yj3wSG3HdZxSVj|;80x2Y*zfWvF@V9Asb zJ=SpS2H6aC2^>=|^k6>vI*h8tq{H8hf)}j4(rx5tS1U#n6G9 zuVE*e(1j(%hMd;<;w;59PaRDDKtZ{iN_X8Ex@uM~(de_f=X+*|(RrKmOl!6NBtdSC zO%pL{&QGOTw#!iuO`h|0?N27_Eoiy@;5F$NKFaWz1AQXY1`Z7Do1Rm-W(KbJ!*sNlM3Z$<|vEzXsb%k%hQ6( zz8=d&MBCy_g;x+t|CsI&{n}E9Qo@tr6P>)`5l%E~E(sBuyYTQ_gi62qrPR2s{)q{L z0zIRnYeQSja@wXj@p^b!9?9km<3G#AIc7<2w`e>v=m*TtP4;jAtiuxI!sH1f8I3jUYAP`{=2^4w>c?=P9D&e5=CK23yC|W4V==<(8r9PsEXDc-c z@EPIprn~l9NV_DbQ8zZ;ufVB}30f(c_!AR$y>{~?q}O6lTcdV3Y{>Zb7)A;Zi~@To z-@gh(FgxJDzv$n0H6>ySpc(UlTPi`tNAVpCQm=p%;PK-nVk)5Pa)4X%K}SaMqs8wE z;Kby8r6>dx7>6B6#FSy;;slb!>u13Vi1{rfVj7?oRQ-;>VNlR@GHFZR{G)(Iob&4+ zQ2(>ouopP3i~C(Ld9RNi_Vyw$9?a# zjBowWzu_1EdR@rY+WH$HBV}%5ET`}AeI^jg+WocD6u;S3Hl}|c3yF#sGDzRVqB*#x zghuVrWb!mWRW zYrxNrN1I%Zmpn(4|2P?bl7wQwhz!;mC%~BWHsb*=< z+UfQI1+hP+L$@^Ye8y_Rx~4Ch9Ix3prs{WF1~(nW)f=?AG>_72p7SiFQ&=+)Tj&VU z8!cI>R$TpY3HVC7Vi$C|JzZbf?WEZwPX%|q@D)kc2fom-%-U*5 zwSoUy<0kI(4N}_HkSFE1 zWJr`gI;R7A>|tyaHMD_FshL}aAqEvR(newS)tZdZGiR2b@(_#^LrqxJS<38nLaqbF zDfHmiD;Ae$9xmf}1|O5h*iR0d{B)cXSi#HS9xkqRWArn}mcpm|QTH~Qb&{ZK$GOf@{1Y z5<&h6rVZExA1Lu(tU;4jUR*oO_?ET$1438xk#6)a$az_)l@4^~xB^$8(b<4xTzW!b z6QbKNaiYDssRu2F{jjauX@2RML}X0U^f(jzeGzHD?`?8@n`3*e*H83Cc3V@;O;e=H zXBoyRHTw%%eI+lwGn zA}{o>V}<)qd4652AA_{V6vxy07RS-1<63rC=Ldk?U>GRM9A;h037NPmLpedDI}9nR zQi3uyyw`zmZK`n+4_`4?Cz=t- zIB`X@@e?b!FdHuci)1Ab|9f2FFqOsWq0{Mv{n~`nO6TaceCQck$96!lGj-6yEp`l}!%rU154&bJ{K`}xoWu_34r0BZ z=EhBOa1CNTh|*9%gg0vPwA3$#nV^HHAkU3@FlWe4lzc0)2fmENei0c?Qbc^v6Va%A z|2RoKX`1DiXh-=WWt7c+5woe9;821NvvRS4CF0{^7fz`S%mVdc5w<2X*#Ae5r#dZ{Pd{1rfZLwSkQ)|`m{t-l4{^cg+=zm{Q`&(7H&!`JVqmA8aalnj8YORv!_NoQg>y$#dt{*?PC_Bg}Zs<$;YoB zT5?s2Lvc9OvARj|SMa(E6FL$#d-XL-Hq zF>gHu+onno=Cn_P3n4>;mzLyx(HH!33^}c+z;To%NhS(<^ybXXd2Hl`n8N*fDtb}^ zE>32?>Y_MQlt~CtA+ZTy9b+oaQt_41o7^E;*C zC$^sMvNP-sfHp^~9Hk*?UtQFH4U!JZm!1eIl>uuT^4*Hw@!!S z9@eF+1%)1P7cywH3x`9~1jTM&rG9Xy9;U0>r96i~iqZo&&&ptv+!`jJR4Gr`^Hr-- zWacDWsBl~cOmP0VsI`o73@1-`ThCD@J8K6}CL@~f2#U{&x6}dw=ZHs1bUQynaa{o7 z&al^hP@3?ns9Q?KRLMPgs?BofYo9CzcZ|T)pNm}y>9@#f;?EJ{&Vtgryap6!-AF$6-_sMw?968wD;sUy>LT$n<+b58i8;q1~& z<-+C|;ULo)jO`vE_7)8zoDMnPwpRUAc=&7i51z(zs`crS!`*&d?*3uw`UL6-&UKvR zn-u0P|48aEQi0&4&0H#GH_@Bhpf@f^G2IHgw?_O4P!%(dcFRr8rh^mNx~I{sW1c&T zI0RXHbJMK_qJas>8u?;XiA+^DA{}1*LM@=O#LKe6=71)aY3|7Do>$^5i)!oVzof-~ zd38oB)h3DWNCx=Zvy1#^Z2zCZx{$u3@wX_z*v8S^>6@Sachvs#N8^ks}s}F=F(X|!68sJAt7zh$u2+lqI0L?I2v35xw?ArC&9!O4m*7N#q z2DqZel7a$75=!wrnru0m>D{c94}?|j)3NK-QM%; zjdISUG2L|nlTBMZ(@tpj1NwN>o>;Xt)K+rBb?cdjq2+mKE=}d{O6p#j0H%3mKJckz z9dj7t_#X5CuGT@F7Ej8_Kw~IVtBKf&1F=FOj!X3%t>WA_bwKJUxYGJu%t&;#BgnV6 z&r)pQiGvW6qik4OBvI4X0{w0Sez8AIFCvOldG~buK~A!fI0#aWh?QO1&Y0wDuSB|* zEpJ45qxb8jY%#V8xHkHw>zy);u{|tEU}h=oz!a%%62=BdnxI(>?eAL*x(3;7{WXnc zL_r%577SJ*(TB?y5jacnt-O7YVPFMdX*xL=VQ0tUi2l56qj_-juvN}^nc`gG)G&CV zr>fU<`*ud=(x>>cyPPkF*uF6Px!Dln=p@nLIArP73v}>Yt1l7#lTvRtD}EH!2;70h zvP6AM^eq^5Do3dZ<&RDB;8X|p@!T@5^!8AH5XL(4(p>Y>Y!UMDVk#GZ;ma3)fyC7( zqR~zM4o6g9ALytNM&;VS!4?ZO5PtWgj!w`kPb44z0o4nPz*}&K?jrO~lpy$q&eqGz zKB6NOb@?ls+M#sozZ2bmSgWpabkVn!9)CaoHvI74Vvv8Pmj7gM1V#w_#o+k)W!9(x z<#Ny(VktBwhYb9)2dUqsgvK0D{K1Zv+cy|dQLELC_l^(GWb^F94R9Df7+gp=;MmHh zY1_IorDj-qO+x$9a)QhpXU&=DD(;(lEQq0ccG|tMkU(G(P*|H-QbCOpF1WCJD=4lVx>vZ9M^x}7CVt8R0~s zhLzS-@izmy2k<>1@gw^|#&SQiiU(Z`o2ZzOk$mNM703qiJ_Ehxhq_ zlV1pVrbsmz+^co7ubepUC59z`phz5XUDF2;v~g;5(bu{Wz*NDY^cgH2sd2;aI#Adk zNzu87y$s=)BCseFxMTLJOpmOi-Fm?tMho-ejG2r+8ZW9(E=|}%;?YZco*ZasN~p@y z3KC$%VDjkG^CJG+eGI9#{V!ZsW}KvKFF$hN6bP`e7oS{T-g!4LCX(|W zk$ePI9x?ip5LXg|bucs##FvCBDee1@Px3wFGKOX0J?hJoZ(8NOOOfprT{XaCttLMz zmb=wqZK5be@CCLD_zDsNq_>Ees-l9fKd{ZHpb1}p}R z@x7*|e-#e?b4~yEC5)7pmh9t)_nuoEoUbk;n<8X}6seY`5R*p+goN1qbJA)h&Q`aP z@W~4I3E-2^ES(D+FNl_u>0W>JjSf3{I>YMbnZ$9z$w15?R)ng8$=!k~w(5CLpxEg` zuUcV05P0;nHikD|iXJCOSTy3d8!zp0xtjZh=M*g{`ieeC|V0PT?Np=rv z-(|sFk*Sbyz_}yK*!YS@(lX-#p|w?|7BF@(nO+@m=>yd};j-(G`Vv7^zoL}RZ>Hy* zMk9zslYX&MVSK}ijm1)X;I5Y|%Ol6Zf4YS1Dyxz#q(ol0M z7hi}}WD`4+5aBQXtEvM}-7_d_ElJhv51da}=j`A3Mm2@%y}MeEE2dYrK5rS`&wJIn zK45krd}8duYlKN883Q<*6=KcdvLqFR6UEs#GdvI&72;|`gYc|3FYulGNo-GG*M-1v zO`tVA0rp-4WL)j;_`3vKUt;}BgbvW31x1#Ri2iKYD+cgMk$I!^aWhWN9V#Q`hu$Q* zq~iF7$O*Se1{PkMh>(w2CJb6r=q408jEM&7k!YhD+=+jz6e*U|i{zE1H5Dt3^A+Up z3EA4Lj=_kPCV>0Y#CcRW*GpE@a+xB6iBi1}_(PLXI*_MUi;9xPoO=sBL>o~mD^M|t zJSx;d6fM=UsnK7nRLW9;IgoiFnt)b|3^W45k#?#%4TDye&f=S99KO{-q>QtuP|}d- zHf_`Fq~SPih|-J}O)62<6br)p{TYm^EaVW>(&8R@xHc3AX{`#?X=TP7F@PP*_hyd$ zPQj(jB*L{YxDm_HgQp0QSUCPl)~2a=8S%%HE_fMzr#Cw-iv&S8AiMVta&KrsbyKmzP)+zmtC_B^ zuc5qrpEl@=ETrnJH|Bh($x?T%Z{U-;v}U?|S4nY~0RFN90ApfT)uvgqmp-TQyX~i= z3I=C^Wjje>gyeH^;rnRogFDt=$P|B4T<$#0D?(d%9i$biK|?YBB%U{Wi>&c<%^onB zF1rzuesm*0ahf9IK))nGGdcbm;JA(kAGGCZyqcz#;n|RWKFs$25CnoFEq&nX#V_i< zs?7JjYX$%Zq=S*+n>#gim*u?DuQG0sSk*bD6Y=iqso%@A?M~l7C_$=&d0sStd0sML zM!`Z~{#>#I0Bnp0b_(k}LLiLB?s1yaK>E!DITIbb39g(&e__(@7K8fqN#_2fm>urW z1q02BkE0)=|1pbT6qH>f=+6XAx6?u)1^#;nR0P#qU~39Je8%Y>+)&4gZ-98BT|gJ; zHw3{k5-!`disi`_TCM4R&sk0e{XQVP}ubae4S`OxM+=V2r7J`ZNzk- z9ZIqptse9fIY@Hmv%|%+!@cbtQ1An`dYiX(hGILx&!rI8o`Z|p}E_8244Hu`G4sZ{mXIf8!V9R zd>;xn-__*5rkVdWRQzA=SN`Q-_-9nBY-4HjJ=OAm3HUmc#}xj$JmDE3)@S4ghrbC7 zAs>MU-^nEmAuKFZM%D^z1GzdLy4wD`{nz!J-E~xiN)4h)6SC$ zi6BT~zjL^Gx%QON>3un||8e!_3Si$}QviAol9PT$pge;dL+^G9b`&zRY}gqpMS0?E(IxL;dJ?V9K5}#8q_*O@zuvN^MVuIr?D*fWia}?Ur)!&WF`kT>=6__v4Dn_+&2wzl zA{cb`h#W>Y>zo)2*wDMLPx+W@++8+p>l%0{q;yg!^ouY=G=9vDEoOviPG6GZcgA9|atk5w0G*5Di zAeQINT>H^LHA5@ascQ%p(@@J3&~T31yZVf~kHZ-gLzwO-#q^25_y!#4EyDKZ$NPv< zd@NOts0UyQ;6p-d^eLf5@j@jp6_RIaPut8XsbeI*v()HGNZ8x?(r)p;rWjuuP{s{sEbJcTt0hYw(lLtz07k56%;R2ii&k^cx? z1Sr!`?2R*AdGIPCfFYYET;{e9In)re7LQ4QQr_ z004vEZPx$)b?Lu%&p+$Z>QHV<3ynHdckJ=s0^L{ue{Mp!5yLnDLEmdeVWk9MdhnoN zH!+#G-y>2fsQ~gNdGnMH^5uDY-m0aQDnG?T^D*F0@K*E}pW zPr4pcQ^%!XNgwz2&UrkmI~G^ZZmt?#H{YLIkc64TWe;azUwvNQfAZpu993g}&?JA# z;GON~Dso=v&6b9$?_p;;nQL=moG-5Q>7*_)KbmKx4{;uyD0K(Pyl@Nd#d4zDlyFZT z`Ek?kGwm~J>=9fhDAs{ z+%TJs%z1k?4Kg`F(ueOOMoK!D89dsjHXPhS42MC!C_(yD?r z=G}*9eWW}$87$@)Xfk*b1RHKW3h?3q(o?09kLX@lJr_9?^?3( zDwR(yyTZSqeIGpxYwKym7s9;F>R zEECECm?1+*lc{CCwFRVSsdc2LyeD&!eSmobCI=sSfsNSjD2){3zy9 zGn29JsjEL6d7U5|$1m$HM$Q2Uj*2eT!E2FepfLS0Wv8a-)P>qmblLlJ+M{)nPaYOnj^mbxQEFF@|C`%b$vUb zObNXZJ`58WvzT+B#&FGUm3B~!pqDzor^AT%RH?6WI(-97kS2Op#RQwikYPD`%!g|l zLX_SF7U`s5Ol^?tmr^?z!2WPr>!?B@x$AJ;FEX+5kTR9Ea>d6U?85{X#3iV6Sgq>2 zJKpkx0{%vfMJ|Vd+uv)56NtzF)KQI4A?VNy#u}HgS~p>abZr$2E46G}fLUHP4{F7qHw@g9f9Y7a31^ITPs2=7j;(42 z&dCoN=FbqqIb|OFV5af^rU-5f!LI2VuEzMeB=sGj0F?TM8#%VQZj$yCa z<8pc^evk91NemvLsf5_tTbmfUE-i5=Q*iZ11vfis|Hz40lf@Y;J;J(Td~E_%opCn` z1C{cy+aH(4rZCw-7{mstiI8R$3OvTCryoJ#qeh03nXbg~ee3hZlgCPwrzVc|DB;rS zT#lr3_i?!bImjUVlb5MLR7Yc@jzRSfax-y8wft)PB)`TL%BazK`ve98Z4r(y1O;s) zoPMUu_d!HOWAx`KprbpXZCFnWw9e(wOKb3; zZc;(>5oMRBmIZS^VxMWKdq)nwL3buq&$)H=WFMTtd}40_WQ;}8_}lISh4_a-`twb( zeK&7WFn64ys0MjD|Ma&#;sP)uku)rX2pdQ=2HhF~ z3p}Rvzd95Gux6o~W0VZ;H+K)M4Vy?b78_$`msUw1%byXO-|ox1U+z)If^HNOWO{Ul z^BLLpeBt%KLKEWdc13^3=QFzQ^BUf!o8tlf9KUoc9hj0Z?BpZh!ClZ zD2~52&*8i#OE16Gs7?(UH8?nWA*L%*rdeC#e^RF@9;dbbHp0)Riz4lylKC?kO*!~k~M&An$pHJzFh9Fa23uW>0 zRwLM?XZsSV9WtkKm}*7g!owEq3``za-iYKZI|=7hzL6oo8Eb|w-t@{CFY1oTG|sMW zs0_*#1a-J0Ss(6J?XHEj*U-%|Ob_K@BA zfur7B$t7SH`ANr7y@tlFgHq7sGl(9lhrOazt)+cX8j* zKD6vc^pr*L!9!nKw^(JCj&c+#sPMRq(RlhcZ5d{vedeyfMBa~qG1^#ds5WV}=py$EXcGs-?WX7DqQ0B~xsa!`)`zS$Frz)7 ze9z{D(y(aJi&eU0eUa(gG>)stBb@Mo19jyF*WgOAu~lSaU_nndSU{zjZ<)-&E-6bH zjc-DOK$*VZd3HvbC_7YKku84x74gnwU1f(h?9O&J1yh1GI$Ie|C{)g%Miteff==U_%EhpNTo*8HY( z5DgsXjC|EtA09lhr6ma*1^h1tJ+c>Yg%t~^a{Wk5X91;FYAqW60M}u3XjZ{aF~}{d z&tF;MLp{n_iiSoULbwasr9oj8CK|2MUnS0GN0*OW@I|X7zI<`|mC%}1cV|dO&8XZ9=g@{&CUgFr>qlZ+Ebf0S~-_qn^5EG}iQ z@M;OFMID2g9&JTEI*r|`dd62)%J7u?VW`9jogN?A5)ylOWU!r1znL&Ah59oYQJ26^ zA!91FzR5xT5*v9=!n7h5N8RT_)1PpktfQ44e2Zy5xW18nWNV~azak%7pN}|7I5wqk z9Pctx;c-rmh^bGg)jZ`c!&nThh=@0$2+y_MeRB?%l6qJG8H7>-iCoGOD>5!k{Vh+u zax%q*;s~R0j5+!9QY+Is#tF~{zbL6{z!6AgNe;AKIuc#4K@0*xYx53a(3}YTWCFdR zXTrQLeUa0QDHh1cBtkvfl1x77y~t503$7>#~K-w4h}L9rcq zHd!y^_~gFSeBI08&)4M0Nf4gBl9QEF@p3hm6mZ55@0sp9aJ(94%NKBa=i-rXId+XD ze8v$R!dTms5|y7HZ-!oGPR^b}`fx{i zTLcqkfHtz1^@X3SIdCM}!6bb2=vx+hVBy%2gavx>7%*n~!fMe7&1ckD1s=h(DysV! z_u;~EMwLD2c$bjP#ej!Kx35!!B1RN;17b?7^qzkC@OcRcyPx&Xup->JYO({jAc@n} zDbpj~0j-2HMX-#^cRSH&NTZLVsY)nC1$!JJ~f6S2}~gwG>0ds0%Hv67E{4cZj#DZ_e(zpMC2wbYA0dB7g?h;+v-T4|xzrL=2$ zy(|{HYwZHkDiUSJkk7~1mG1wVB@Mz@Zs*%M@h* zWTtQHOkmmr@Qe%6C(|2t7YJ_nxHHbmZhEl`97hKDaaXY0wVC!$LKe6p@zR^`W%0Qo zQ?AJ9g=M)jqRUviTfH8kUFf|zZ0U(GE8-dn^UZ*u%vPJQ#c{+zU(Cvu5;`zg{bn$e;>@8ntrS!EYe=AV z&3jEd7<{{(V3Y-^F(sqao@CJKDt2S~l}5d$x-_ybADxtmTQ+gZi4-q?5oqLo>jId4 zUp03dr1~Bz{Ubzs-n$9Kb8k{2TjE@_u?k?krm@y6QmC2X}bdUqLSVkEZPcV$D2#X98~FfvQDz>!G8} z1NHT0$v%GrC5vw;UJ^PCh958Ijdpbi7a=SmlMTJTEBaVeNfQl}-n%iiEWszw7V~u> z=4_#6JMx_<_2js~S{HP(D9f-1E6`o9hw376o*}LM3?#~R?#5Mah&*L;oaP}f67VuC z91iU?6UYkBxX~>m!Gl1ujHkExo9w|IOLC$|X;(T&nlKw!MnK>l{hZL~Mxhx0ozVvj zk!kuAUpNG#Q9jQK9|!b(w>%#Q)|Y;Wl;uloFADN99|U3MWr#B$(5{tih{#p~C2x+p zca{AWxn7|;@T4mkDix%K;@#qF2lYHjd~#IY|NMF)4gIM@)@J0G_zC}ET$>(VfMNfl zV5+Q8br>O>$JgQfEsFBt8-9yfMtMaHPU#av^7GnaLWmGQldt_;=Z~et?m?w!VK_n> z4HdyU=-Er*oNBD|0OOi~E9yMA(Uni1;h1LGeS`01qkR+Ffjvfsp99bQXm%^!nUE1r z;3Y&YYm@B`(EOCtG-#6J42hd<>^4Zo*VXxcIQ#R33u<} zd+(zS$d>!JosrkqZ1_9`8yI*Wj&(8ZD?6{DJ;|J%$-^>Eue32ER}Cfa&S36At|YEW zN}T08D*!p3-J;kU(ELNq$4*^iz_{j{nMA*(Ta%)IUQ+36v#1V5{lGN@} zJSm|XghV*JeZI71-`-x$mS&_BW)K&!%jLtQ6r-)(HP@`(6nfK-038X-ySnlOzpIkk zv?Q?>^UA!X_H3eK5KWWA`O9Z_EodEbEl|bJ5xcAysaxMpja1o;U@kM2I$ktHXOV%; z3lFd=}rY` zzc`X)DF>6qp5JyV*E}5Cn!9{i`-_Pg;xrACG!>ig3S|R0E0q(P0L+MvXy=Fay6o30 zrfe_u<1*OoHZwitQM+q~Cy76<+!6#(CU&qx*T9VEN_W^g2?Gw{G}}XAJo-9z=2OHQ zAf`=(n{uRg>e}>fXxFZg9y3=X_kDTR_#=)UPGyf7njc1;ggS&;C@Vb(d&)mV2Yq9? zm;=peDqdy2_fMDwXUUz$jKG?Wt;2hj(LHTILk~pMtyI7uh6*yHl-6+yo$7p z*l-DYY2qD0QWt@fKMig*Jh;aPA~k4CaGsA&>+apO-pXLaG&OHbQ(%TMSvYA)dn}B* zucmB&ZiedQQVi2-NzIj&^6Id#pd>*vVG%Q6OqHw6i?b|1GYyJccq!PAIodgLrz#%K zkQMz#AGzyOL3;-Y+pDJ&&0{ROtg2{D6`3evg^KftahQ-8kOv4sZiHOgdk!Ev_AJVPT( zRvbzflx=NV#b$q;s!FPw_@z#5RZ$~{yao%XwEiO$u5IR(JI1p z{c)!9TWy$iK7WcaUl=*7KqYOsaIL9tkO2j2bZ_=ZRM_j*Fv|VIA}6nq2_LcdG4$P` zEedEUyOd>CD!iYJIRpCmPoJLc5MqHilfL_X-2;w;*?-+3JkP}b)6wuRZeN4qUA!m( zqjM$Z0J&|GX`w}Ceq_OJfAlCc^mnvxcRiBvCZmawNhkT2#g%+u@!JED$czz+__|e6 z8P7(ahEp3`JX_j;+kwpz2;jqs%uupa{DwiyP&0)HJU?@hjza6r-$wD)4fcs<&Ku$_ zOD-XXxN_Khcz0wQ${|3h%p~1inp)}AE}H?nPz#RBX{7p+5mK9AycKy-gb))#kyVZ;1Q~=GTVDsp(tV&oBy)V`F49g|D$u2lJ<7+quDZ@c*_E8a)=E-~RsVG* zn1mwri)(phr-AH{i%%a61i|GqfrLPEMKW=^-}Wh?cy9oUo0l7TRG0PQGqLj>m^hVv z9It#)Hfh^s1eg(qQ%Ttt2yFL#%tZ?tnXiStQKn)(*;YcbU#!Xwf&`CbuUBIwQ6k6L z-qG>`wwci4lv}!0FZEHWY<)jd(YL`&gB=oE<+q*Jda-=UN}{!+0UxH$<}5M-{P{Xt z6{h%&>Ava{*k9eggzKQLxB+f_pP_&2mh@8>{&~9ppI9+rV;fsLIeVQy|M`zY%O1sV z?Rk)rk%JOPon!hD)Mz+o}jn zODGiN(DZULF|4ccl$fVm`sk*=nLSqclW5XZgD^CWe!0il^7_lC(@NE{7InsGVxLn-XEPzHr{E zBlJO-?t}f5v6K~w5ezB7>3Gl{sj;g9C0-&(r1T_Os-19njCSn$zS=|M(T4L)`Ie@A zA9xK(;`}5UhHz7I=IvXw>OkB?NQ6AYne}Jk?B#ajo0&%wn7WRO=8NMK_py-|shb8_*GUbk3~x=A7}hXl4^=$UB0Xm)%=khT>2iW=5Pz!#iP<* zCmEj*`opH$4tKlTn>S-Ywp~5j*u&pg=A|Z=rQ~4(-gKeD`8%#Xin^lD8=G%&)CF-| zf@#L{K@M<;0<_R0L%n*&^@uRLP@9H@AG{!(f=GQbR&POMuBrCauf1p!K1 z|L$`Wo7RHb0$5}T0C5l0zb>@@nTmQp&CQ=<+P;fc032){>*{F^i1O4?_{h<-Xg-Ia zx4bO@qbD@(&V}%`6yQ_|_#T~1gXjq}O4@dv87v+p=>A>qaQ}54ikMqc8v9+^k=qJ8 z)idyi8m^^(#{H`$j{xQv}ncqdB++W6Vh;b9EK{>h)JdrUGv868t9wlUK0voe*OvbUni;9$^nU`VA)%2P;L6ICt}`(~GC8b*bJyqJ{g8&hh`XzRN!og!53 z*q<1v`}yT4@l2e+Vz{t6#hlB>8Mw!poW1OzRXcT?xR#`uKb#15$x#?xKJ_{W=pYEf;J1O~Q7xT0pbMb+C4YGhUW<%R%EDEQGlpa;pNf^;sDVF$5 zWG8&p-jQl6ij@6T+gp6>(}5)>12;@NLxJ9RfzlUGY$eo3;f4MQ!77Emh$T{mNw#=>_5k8B zr=rjeQYoAT3TrVdRTyMbBAF<|599s8YT^=EWBz%0;K}jsjG^ASOwgn}@vPS;BiNQL zfF!hSoQzl!GY#~#jN8lXSDf2!hK&OU=FTWt5){V0CE%P{bt<~%?sa_)ScoavEwGe z)kcG7IdC1}cVO@ZkU_yl&v~ZKE~h`OD0DA|L;2&y#A>Z7Ui2743Hpoaa@AzN*zorv zOZsBWA-=EM`#%_?LWahxk{kP;k+>gQPZt~cL)%)*GQ-F=6DfX|ihhVl~Vrj|85o2jIJ z{IOEdgzgo7mmEhpx^>1UDeoMv?LgzAmME9Py3R-Tzc`VKa_Z3T!~rdly6t^72*11} z2q3m&ny6GSm$hc&^*ld346Y3W)7O4SsafJ2(L`d$gu^PgH~}VEw5(JqVpq{$b%H(mOXe{Mm7U#SllNmCbzz(; zAcX^q>G^od4ES_OQr5PYaQOq|=s7lMG`P8Z0JsLXde0gW-`3NjCRUuJ6?#ef#3_&fNxa^j2UNzZH4 zb0iM0(Dr7bJUMu;4mY1X{Yn}HJ{nXM7|(!ZPR@3hs(jq~sM}<896@^h&}j@Fc)|j$ zLAKkVsKqXoXrmu=}_f~!$M`Rnn1Zjo(r^Q@Cva4ST+ z+%|1>6zb6G2OrdXAEi-JIbTPiH#w^b*QkNQ6+RS_REa=056p`C_re`y^aZQ+*SI3i zOJQ0CDAVtTOLCO9m?Hzz%4L$4)5R@&=?*0Mn%j3^?}U0^_c!FPawwv<1Qwv&=&krB;jn6cUEL}Aqp}K{cHN`J4^ER*EQiZF75IzjnsyjrK*4yZ$T9t6Un0pmTLgk-%r&yp z2M4^)zO)KLKH!LTj8)M{M4?XT&oC>8Be^o`V&bVdZZZ6BK8k+Qo=vYV$?Qh_ZNntm z{L^Y|5eZ3g=_$J#5T3lsO<#sVO>oa|upK7vT`fWdTW=XaKdo{0UhOXIkk(&Gi}b2L z2EOv)4*Vj(f0`J6=mHt+cH5RRXU~$ce9+RAZC`Rc_c`s;w&nVx>6@jyw9h*NIPAnb zLh+~xhGn>VV_n4VsrC-3DAG2D$;_l&Xkdm_kdc4{Hxt4*46i!nGKMB|m7_4X2PP%? zgLe8(z>HyM5vglOuE8?$y7~4I-F!HS_{`IRq>CD~v)(?oFkI2J+M zkj;m#FxH4u?||l<==O=VWtPD&#ke*%_oUjuLEXU?07^q^zYY8#Zvj=oS zSBVD=G#1X{Wl$X%H+4_tgOP4o?=WBAMSGP^5oEewK4{#)! z4x0C<*?#^JMgknotb*IB1!taJBMUo85=WtI(~Gn)muN0eG4CtpYmv3RrSfIlc*)Rl z$QWO1r3t*|p{Of0YDL&QOT0?NvP%Tb&K6^-6D%qx$;QjX7V?$}7hWRAyQnUNLJ*GD zzffO^YG;tRd#3?{y21x8)W=5$v?RdP0(NMzsxSOOV>!vlor%8k(DF01s$?or%tJ7o(SNJ+bfaeeIv$oKnWNwgB~=KX$o%HikdN52nRw$V_Shgi1zPn##WE zWfHV8pnqs3&<*nPBK4uAmuBkF@=<~>O=4b>n?PHkZ8_=1ejv~k&3<*#3BMZ1kX}Gz zi!IR`PkO*EGkTLYTl=3h-sPtbIx@Ci6nMkHfD3KE54TUI%1?jPSm?3)R?O#X; z()ZDw&&6g~EsP($NNDEpz2t>j(qwGh*m>Ed{-wI4r+AnuUvrT@d_7sA#9EdDoB!&8 zG=evt;&TWg+!b0Ee;q!rMJ!>pfdY93pK(K*(!$I^f!jiE>{|85u3;$)?04`lUme2w zPT)H0u|*ITzd5bbcu}mnpDrXKLrJ2rVOeiKVK(b2B3r$gaF0rxtS%plT`pxY*hmvV zS6{;L=@l(zOuP}FnLV$a*X8VkAIS`jH3sE4!^*UDqa*wz7J+^+X>4;g|3^dH6j^mc zpsusFfaRrvuQb9t!(lCP7^D#!otYNOu9p!Wqfwy@F5L#ImjYb`?@n1N_InYVs>9Tp`=myv}2o$p(Yse*N8&q@C zhV6aSsmO;-AY2;8G`{ufAyhI}mi8qECuAq&z$7|&V@&8mdb$sk<+euFd6yf|kE4f2 zI_ij_b(B>N&n9M=)5b0x4JH$#EIex*20oStRQwgzUa*bX3FhlNPqTIM7ZE;;Y~QSn zBtS+4LS!%rlAgS+a6$cxI6fSiH^|_9Ms&%vjdOS6jB*w6k!I%6f|NZF+#jSrqTvGMOW+;nqWK^q`Z6w9)??vx~VLvJ#4iMYWZ6jgjb!xVkw}UtUcpz7k#pSi~r#VDk?w zbM;cnlhb;$U(AXQZ5?%?NGm(6^WPs1HjZ*{H;$&e zUOrwNS<(XKTEFjA8A{7G&=kh7#lgfxLer;SRRxl07&!?}q_!=EntOrCpvXQ0Q8{8Q z*9-9`jy^~#A~g)5j_nku9`p9#=)%P=K%3f7HBP?gonwh=vHG-}N{ymi_)@BcQN2P* zxe6vfEnve)OJ6GE()C`1ZEJ}|-M}P;?{ji9Ru`uBoXM1Uvb_k6!T{3eB>j&~WvWey ztl=@4g9w`Ahbi%O`D*sfW8}>44CL4WSt?(ORVz%vQqG7m5B7qjvB>dxn}a5u(E|7; z$>)moxADI;8C$uH(0z?qQm!?Mtw1v{QeEagg=wK_{dTZ z1}N8vEJlP#d%q!1!gcuG4<+Ck>8EUPf>VkU=_IWcZ%4C4vW;0?fv+X(b;YrkK(->- z0A3}EGzWB9IcNql9v!=y&IRA9f;W6HSX?RjTQwIB4*q~ufdUE)KlIwyLB-|Fb?};YHzExDZx4_=xoK#%>TbFrLyNYCp z_lEqasqbp?W2nzGoR&E?ixfY;bo@fK{%{7NKesWv`T&3Zsaq6K0Y#4BR)n zWwIYWqwwI?sM}V5AP$)TjbFW_iIp4*omNXvWfDWDH*5( zf!DppSV4%I&P|aWIy<%JoFga?1D%XuS9Iq#_*vO=(KykXge%VT*{*o0I|jjfFT$!7 z!m5~w=QtS5e3wJn10VGhltbGBpe2#a>65dg;eq!F0>E(HKYSI_!Fq>4tkUG%z*QzX zWh+ACkg52|stYZRjvjpiri)%;kI~R>U|b^X^@i@YtGczDdQad~MU;c#F1uSgwd`IW z$%(oqZ>nYw#U3J#m(y!QLcA{62B8MJiwvs1-lENbpi+i^ z^A`Q%W%|>*Gfr;Ba^fw@qcjBytZnAv4NM2> zDH{&ngR%?Db&W}xTH?HDKS_JpVSzP8asRnji{(g&9 zZ?j5VqJ!p=o(S?vING2D65!RAc*9epkpx!kA=d`^`6v&y5sDilmC_;o6~?KYbg z?d-^X1&^uJJW3ChSi9zrNY%{cVmD!xhE}0%ff0jdo}e~dhobUM<*%ufASbCT~?pdIIIluw1DmLGsOu&E%-9t~<^KlfLq z%YZ1CgOD=v(L+#HN%GF8>KpACP+Z_{&8pF*&<_bC#k69SmDC!tOk+`ypIr> z-A}F>J~B7plp7-VrZ(yy7F(By@69bs`g)3zan78ZWX(dg5^gp&pgC>1#^Q_Yxt&cvc zS#R|y2t>t$a)Y6(5Ru`6m-7$u;Zz(34&$#Y+6Ph~T~9!QNqcKNKb#CZl<}LIu-PrA zT(vnLEm$s}_l?r70HK@=wIgi3z%UuF%G4eA3LyEI$PurQY$n?m5}^>_O|#ptl|mSw z!J{?y*2# zA}+)RJOQ0qYw8L!*p+&ydKK%|fG@{_OLarZG*X>-um$DGt!U|%&W+1);&3iBi?WlA zZkwX1Fq3G~U1qN&mZEPoI5q;NLqgoqGh;Og5$^?NVWIk#AC^niO>337t4;WdIJ2=% zt_GD{1=-^W^JXy+;=kS9^u#pzEj|HZ23+cQA@a!uS6|Q;5A)7%;gi%i`OoFQ>up;& zH<^JgvS41Cwh+S=C-Bw-k*O-z^<8s*AECdd)*NBU-Uj!zXqp>u(jB3ABL|E$%0N_O zd$`iN%ed)XDGgee6YWO~yvt9}$ruYZSRLBe0Y+E`w`m;=-2A@6>uB66FVvwWnziSX z^o&&z-Zy|fNxtlZDg&kLmlKW7Faov0-gs*(bSfCgLnv&mRbb_vcnREeiKuGkdUCYX z6wmETpOyA%MD2_1W;$W{$2NY~!Pkhi2rik^#%>vp0_`I7Lw!-38;P69{byn*HzlZG@W^aR`d43%4-y5sel;$_B}xwu`jjgfW@eLhjC)J;@S1LJ z@8*KhT&qAOhFm&uIOao&A{{fc?3z?HS4`|hJmV6C9ZYYLR>Ubi*UOWdL|Ah?T|Gt= ze171ZuiONoQv^#|z%o%c&vY#6+AD1n0b{)w@FDX5G1mDUwQc@X2mNU^EmHufg32Or z*8?;<9I8;WJXRrf5Svh7nEMN0km!kDBu_DQc-9}NqSrTX9nM6GoIu}iz)J~+6Tk5S zXz{AWt4<^ft!Ipk3?n?H$y&g9w~UzuZ0SbaK8~&R29$%Qmo3Idx*- z-cc#aeC1yoQKLLYAH>LEp)22$9YI1}qC8#|!W`iLb~D_tjiQcv?PgPvS(Fj(3RdDH zCmbW$1{W7TR^sx3_{;f^J#r&agio}FMeBH=7^GcFoSZ9~OAVX2FC3`NW-%e0TOU`$ zX`TERXwGN{<#+S;WDAncREN)7_B(Mj7K4%1g&K2d9|z;OcfXij6{e+|a^Vz&jbpzn za5Mz#vgz@*Q+>@Xl>OEyGQg;MyPpb?NSwu7^2ir+pNdG>1AknGkESsGlo~#Kn4rgi zp1%rivoK&^DD#1snW)XWN_WTi6LX>FWPS0{2hzdi1b3C_Re5%q?Ti$2wJWs=dy`S_R12IG-RNx`xWU zJ3FlW=p;b~#y!(U%7$ZLH*$J02~-*%mBp{=i+4-Nr;jJM5UX&*NHB8@+6zKULcZ#f*%KKB*(rCOF;Y z!;y-=NxGS_qR&*x7Q4tp1JXyFMoGSwUAnT{g@1J=Vsf4)iG5l#z@Uw1R zgCMN)1FXR&?+_TSM%sm4`egIup(LN?{zFIvNePSn=1awkBKnev+vGepa$OBZxDp1# zr5#M?*5-qe6O_h`O75jvOKr%SYVe`7uA!ok7pB&e4zq8bMG51WqE!t8dSn5x5V8Ja zul#8d`QxPvu#{N+ENm91@E_Gy4~yAxSq=t;>yv{>vt%cV#*uG_RvDm*hrd;cIFuIYvv5ZHaG4NReJb)aPFvG z6OJk2pi4KUxQV%#g>%fqi?cYsM*?{}?#$`|L(5f$bBY5NIHnO>UtapYtD|0`NJ{>; z=cimeC#_M&IiFQj!aVsFdSR?o0Bg7M`L`8t*e5FU#3qd z4t^QiQ!orWO2-gtNOhQsM{`Jg@e3(b*ygMEa!AXRPt2+ zM%l(Wbt8KSP{LNZyPVW#*epI|SsgVtI8)mGA%EaYPD3#C}_ym?y zcNtA!w!uiJdcOeh#SJ^5G~SVv?N4qc#Z<2h91Lu~0PwAkVq zd%8}TTfvUb261qbImc4Xu^s*Ze~YNhsCu?xd^#g}L9`MMyjPi)u_OZfS)N#oAKW#D zf46BZjP{7K-AFZXrcferC(ak-{<~}Aq3dtdcw-!V&XRHz)gQi~*Am4Ng^Tl4%ii)8 zDfjF=I}wlSKab}E%n&)iw)8ja)_>)5ezF}tb2*BW|3mZ-6gHHqF37xWWek2Z$8O!)1g*)iNfzd;+tf^yvU5?H@yGCP2jhY!eQSC3)hgUA~v$A^j zE1cW>HnIkD4MP_npE8biNCo2*OVmkNmhfJ|^)>b;*;^!O4B8IWqhu=&GR`$$V%F=k z;|GX_lHg2K*9G~Mi%pomp5~_R4+r?Stomr1YPJt`tU%JEwC;R}!z`un|HkfJM{cY~ zr|Dkh{JyD;b*!q-s$`cVog~nwd|%6$CHpg^9X@5*MrDWzMiakeA*}EuK1|9d2L=2Z zr3>@-(_)?N<^eM!G;1h7LogMYMozUqRqH9rStG#iKA*f*#5ORDZm8Zn{ICXBSa!WVAMpEA&mJIq z_s?4Po6i;Op`f6EOcmtC0T}-)fP{QNI`+n9dNelry86aec0a4)OVCh`42_;q4NHmB zR5Q;oj?;+GFoOV`^dO<8DKn_P*F^*T-bw(2pa21y2*5W6c$0hw2TYy+6o8x8vmzxV z&qpIBEew#}{A;ydf-I5mf-mxb-}n3dQNHVg{jZu7pR|~;kevK$DdC?H)SeLotQ0?$ zWWe=zA(?-w0kDn!RNDTm@u&36KUD<8FZ@(?|61|Sv;)5|&p!qN_dx*xeE`({F5dW~ z-~hHuKZ)M_7eL8I+saDcM#xED*ZzOfqR*SPy{~Lr41ihy{D^))0VOK++ngc z022Z354rdsm^^?X{u@ldj?m2B79g)GY;2~_r>m=PYb&K~p>6ng1SSN46cK=jsQ9N= z`wN2^?r#~MJH(0tGE4kzH>8zd zTu%YIfd!Dn;;%zR67bjGbOS)=)=t~ZjQCF#(dVr_a#2k<01lf-FFc>tMA!90Ux$MR2rW{8~NxN2`$z10Vyx3>aL5Kac=dhyXk3Z*Kg*t^56ygD}TW z#sw@2`+%oL@E15E!0PxLxIg>l_h`>Eul@k+diPs2k>BTGecmO{^IZMFEz|f1+}~xr zdJg?OH_;Dhd9B|<|G6^$CR5RK=;x_nen8Xd{_n;5=Ysp&m+Q}f-yJ8v1AHGx-wR+K z{Zt|WfIoHCcahrXm7k}E`BA&=*UCTbH2?BV_J<+#*Utamy61^Geh_3C{L;E#34Tq} z@%#>+XF>Qu5NG^P1V8(aKF55n!Tkf%)bgJ&|9mR{N|E~)&Sy%>KR7XM{srf6R+;aQ z|G8%I4^(j5e}VePL;B;kezN;LZ~Jp`+#f6;_P?Yr5xpOZb8Vf#Twtzf&Wj3iqCK5 z`6l1OI@RYxyVmKj+`?jl$1Ko?Fs> zkl26vh2*~r{7<9$|5!twTStDt19kpyOZRuSlK-~#zm}1ots3908$XIH0POGVByT0a W0pC&I?SueJAtDe^1>pYz0sTMJrJ5N4 literal 0 HcmV?d00001 diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..4244097 --- /dev/null +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Mon Feb 20 10:43:22 EST 2017 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-3.4-bin.zip diff --git a/android/gradlew b/android/gradlew new file mode 100644 index 0000000..eeff5cc --- /dev/null +++ b/android/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="-Xmx1024m -Dfile.encoding=UTF-8" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn ( ) { + echo "$*" +} + +die ( ) { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save ( ) { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/android/res/drawable-hdpi/icon.png b/android/res/drawable-hdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2ee3c602266b992750025a1af324a38d3d8df7ad GIT binary patch literal 546 zcmeAS@N?(olHy`uVBq!ia0vp^7C`L5!3HE3FEP6hq&N#aB8wRq*E)bOu$U&g({@o5iR>$m(8wIy)72MM>SK&rP1b0*Fy9c^DZ}zlSw7d|t zX3}5^F=`riCzbLUfXc%|!_1CVudF;>cL~}hpAkqA?B+5sCVNS8V?hmb{ z@hKqzRzPzuai`@8SHAfE`^DF)A72hGxtnJ%dst~ljNZnZITnkG0@q)k-{Yc>%LD3}_GZHpN>?!H` z(QYHt@7}ejgJI8=9>bKiwbif7c9-nFTcetOsEEDug>w5{rTYuJdrCkq`Qa@R=^DAM z^I}HJ!-5k)Q?6z$3|sy57f<(t8oT3VyPtM&CG|KiowPnh%rRSc)m1Hb5$i?I5(L4% zkVSHn=3a%c`GPw!jdv?fgZOqy}Ne0RdEWgeHO zD6bND{Ly0bdXZv-FYm)NS)5la068blF>}30+pDkdnwt+YcuwjNoa>`Dv)1iCgDAxB apV`GOo|bTS-TM+4=?tE(elF{r5}E*Or1P-= literal 0 HcmV?d00001 diff --git a/android/res/drawable-ldpi/icon.png b/android/res/drawable-ldpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..94e5050dad19357fb28f9bcfb520e0547bcbf52e GIT binary patch literal 363 zcmV-x0hIoUP)P001Be1^@s6=bY0900009a7bBm00FH) z00FH)0hW$Ps{jB29Z5t%R7i>KmNANiFc^j3ziOc<*lDHMO73Fqb?mG>hP?;y4vv*4 z&_YnKvC&MkvpWN>Yi33ZcRvV(zjzNk!9J-fkcETieMPV z_mF=Q$1w-+@**N$*EPTAkmEYGlO-(6LKucZfkXsN)3!?-$3c=LLXsuU)5&=xtHlGr zJkOiMhzLX^CMnAjzVC0A1VMl}j>RP7IHIbm&61{R7UzGYc*YpgG~FC#nx?o!RaG#? zHcNiuJe~YYgjl^@(==fihNpscUH^K=RwYGIz;#_=fh^0oTrRL}`*+DSP3XGrDarlE z^w>@$NrIv%?+KM34~T9b?!NEQw(VOa0N{BZBuRRd?8zaWTmgala9`xNlpz2B002ov JPDHLkV1nzMowWb} literal 0 HcmV?d00001 diff --git a/android/res/drawable-mdpi/icon.png b/android/res/drawable-mdpi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0e9d9c1b606d383cc4ab9aea84f87eb1b061427b GIT binary patch literal 421 zcmeAS@N?(olHy`uVBq!ia0vp^sz7YO!3HF!wQkl1Qk(@Ik;M#*YaKwCaay0pY6b?z za8DPzj}0yVyJ@-lbNPXb1S~+^!%L2U4 z+JCv}&#B09AcsRy?C8US1;78=-E=?uEx3N;mg|r9Yf;szgnMzDJ62-%a;X{R2I+K@IP%vgr=T-ZT-Ix&MUQQz;I{q MboFyt=akR{049&M2mk;8 literal 0 HcmV?d00001 diff --git a/android/res/values/libs.xml b/android/res/values/libs.xml new file mode 100644 index 0000000..4009a77 --- /dev/null +++ b/android/res/values/libs.xml @@ -0,0 +1,25 @@ + + + + https://download.qt.io/ministro/android/qt5/qt-5.9 + + + + + + + + + + + + + + + + + + + + diff --git a/bleuart.cpp b/bleuart.cpp new file mode 100644 index 0000000..7b881e3 --- /dev/null +++ b/bleuart.cpp @@ -0,0 +1,301 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "bleuart.h" +#include "utility.h" + +#include +#include + +BleUart::BleUart(QObject *parent) : QObject(parent) +{ + mControl = 0; + mService = 0; + mUartServiceFound = false; + mConnectDone = false; + + mServiceUuid = "6e400001-b5a3-f393-e0a9-e50e24dcca9e"; + mRxUuid = "6e400002-b5a3-f393-e0a9-e50e24dcca9e"; + mTxUuid = "6e400003-b5a3-f393-e0a9-e50e24dcca9e"; + + mDeviceDiscoveryAgent = new QBluetoothDeviceDiscoveryAgent(this); + + connect(mDeviceDiscoveryAgent, SIGNAL(deviceDiscovered(const QBluetoothDeviceInfo&)), + this, SLOT(addDevice(const QBluetoothDeviceInfo&))); + connect(mDeviceDiscoveryAgent, SIGNAL(error(QBluetoothDeviceDiscoveryAgent::Error)), + this, SLOT(deviceScanError(QBluetoothDeviceDiscoveryAgent::Error))); + connect(mDeviceDiscoveryAgent, SIGNAL(finished()), this, SLOT(scanFinished())); +} + +void BleUart::startScan() +{ + mDevs.clear(); + mDeviceDiscoveryAgent->start(); +} + +void BleUart::startConnect(QString addr) +{ + disconnectBle(); + + mUartServiceFound = false; + mConnectDone = false; + +#if defined(Q_OS_MACOS) || defined(Q_OS_IOS) + // Create BT Controller from unique device UUID stored as addr. Creating + // a controller using a devices address is not supported on macOS or iOS. + QBluetoothDeviceInfo deviceInfo = QBluetoothDeviceInfo(); + deviceInfo.setDeviceUuid(QBluetoothUuid(addr)); + mControl = new QLowEnergyController(deviceInfo); + +#else + mControl = new QLowEnergyController(QBluetoothAddress(addr)); + + + + mControl->setRemoteAddressType(QLowEnergyController::RandomAddress); + +#endif + + connect(mControl, SIGNAL(serviceDiscovered(QBluetoothUuid)), + this, SLOT(serviceDiscovered(QBluetoothUuid))); + connect(mControl, SIGNAL(discoveryFinished()), + this, SLOT(serviceScanDone())); + connect(mControl, SIGNAL(error(QLowEnergyController::Error)), + this, SLOT(controllerError(QLowEnergyController::Error))); + connect(mControl, SIGNAL(connected()), + this, SLOT(deviceConnected())); + connect(mControl, SIGNAL(disconnected()), + this, SLOT(deviceDisconnected())); + connect(mControl, SIGNAL(stateChanged(QLowEnergyController::ControllerState)), + this, SLOT(controlStateChanged(QLowEnergyController::ControllerState))); + connect(mControl, SIGNAL(connectionUpdated(QLowEnergyConnectionParameters)), + this, SLOT(connectionUpdated(QLowEnergyConnectionParameters))); + + mControl->connectToDevice(); +} + +void BleUart::disconnectBle() +{ + if (mService) { + delete mService; + mService = 0; + } + + if (mControl) { + mControl->disconnectFromDevice(); + delete mControl; + mControl = 0; + } +} + +bool BleUart::isConnected() +{ + return mControl != 0 && mConnectDone; +} + +bool BleUart::isConnecting() +{ + return mControl && !mConnectDone; +} + +void BleUart::writeData(QByteArray data) +{ + if (isConnected()) { + const QLowEnergyCharacteristic rxChar = mService->characteristic(QBluetoothUuid(QUuid(mRxUuid))); + if (rxChar.isValid()) { + while(data.size() > 20) { + mService->writeCharacteristic(rxChar, data.mid(0, 20), + QLowEnergyService::WriteWithoutResponse); + data.remove(0, 20); + } + + mService->writeCharacteristic(rxChar, data, QLowEnergyService::WriteWithoutResponse); + } + } +} + +void BleUart::addDevice(const QBluetoothDeviceInfo &dev) +{ + if (dev.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration) { + qDebug() << "BLE scan found device:" << dev.name(); + +#if defined(Q_OS_MACOS) || defined(Q_OS_IOS) + // macOS and iOS do not expose the hardware address of BLTE devices, must use + // the OS generated UUID. + mDevs.insert(dev.deviceUuid().toString(), dev.name()); +#else + mDevs.insert(dev.address().toString(), dev.name()); + +#endif + + emit scanDone(mDevs, false); + } +} + +void BleUart::scanFinished() +{ + qDebug() << "BLE scan finished"; + emit scanDone(mDevs, true); +} + +void BleUart::deviceScanError(QBluetoothDeviceDiscoveryAgent::Error e) +{ + qWarning() << "BLE Scan error:" << e; + + mDevs.clear(); + emit scanDone(mDevs, true); + //emit bleError(tr("BLE Scan error: ") + Utility::QEnumToQString(e)); +} + +void BleUart::serviceDiscovered(const QBluetoothUuid &gatt) +{ + if (gatt==QBluetoothUuid(QUuid(mServiceUuid))){ + qDebug() << "BLE UART service found!"; + mUartServiceFound = true; + } +} + +void BleUart::serviceScanDone() +{ + if (mService) { + delete mService; + mService = 0; + } + + if (mUartServiceFound) { + qDebug() << "Connecting to BLE UART service"; + mService = mControl->createServiceObject(QBluetoothUuid(QUuid(mServiceUuid)), this); + + connect(mService, SIGNAL(stateChanged(QLowEnergyService::ServiceState)), + this, SLOT(serviceStateChanged(QLowEnergyService::ServiceState))); + connect(mService, SIGNAL(characteristicChanged(QLowEnergyCharacteristic,QByteArray)), + this, SLOT(updateData(QLowEnergyCharacteristic,QByteArray))); + connect(mService, SIGNAL(descriptorWritten(QLowEnergyDescriptor,QByteArray)), + this, SLOT(confirmedDescriptorWrite(QLowEnergyDescriptor,QByteArray))); + + mService->discoverDetails(); + } else { + qWarning() << "BLE UART service not found"; + disconnectBle(); + } +} + +void BleUart::controllerError(QLowEnergyController::Error e) +{ + qWarning() << "BLE error:" << e; + //disconnectBle(); + //emit bleError(tr("BLE error: ") + Utility::QEnumToQString(e)); +} + +void BleUart::deviceConnected() +{ + qDebug() << "BLE device connected"; + mControl->discoverServices(); +} + +void BleUart::deviceDisconnected() +{ + qDebug() << "BLE service disconnected"; + disconnectBle(); +} + +void BleUart::serviceStateChanged(QLowEnergyService::ServiceState s) +{ + // A descriptor can only be written if the service is in the ServiceDiscovered state + switch (s) { + case QLowEnergyService::ServiceDiscovered: { + //looking for the TX characteristic + const QLowEnergyCharacteristic txChar = mService->characteristic( + QBluetoothUuid(QUuid(mTxUuid))); + + if (!txChar.isValid()){ + qDebug() << "BLE Tx characteristic not found"; + break; + } + + //looking for the RX characteristic + const QLowEnergyCharacteristic rxChar = mService->characteristic(QBluetoothUuid(QUuid(mRxUuid))); + + if (!rxChar.isValid()) { + qDebug() << "BLE Rx characteristic not found"; + break; + } + + // Bluetooth LE spec Where a characteristic can be notified, a Client Characteristic Configuration descriptor + // shall be included in that characteristic as required by the Bluetooth Core Specification + // Tx notify is enabled + mNotificationDescTx = txChar.descriptor(QBluetoothUuid::ClientCharacteristicConfiguration); + + if (mNotificationDescTx.isValid()) { + // enable notification + mService->writeDescriptor(mNotificationDescTx, QByteArray::fromHex("0100")); + } + + break; + } + + default: + break; + } +} + +void BleUart::updateData(const QLowEnergyCharacteristic &c, const QByteArray &value) +{ + if (c.uuid() == QBluetoothUuid(QUuid(mTxUuid))) { + emit dataRx(value); + } +} + +void BleUart::confirmedDescriptorWrite(const QLowEnergyDescriptor &d, const QByteArray &value) +{ + if (d.isValid() && d == mNotificationDescTx && value == QByteArray("0000")) { + //disabled notifications -> assume disconnect intent + disconnectBle(); + } else { + mConnectDone = true; +// emit connected(); + } +} + +void BleUart::controlStateChanged(QLowEnergyController::ControllerState state) +{ + (void)state; + +// qDebug() << state; + +// if (state == QLowEnergyController::ConnectedState) { +// QLowEnergyConnectionParameters param; +// param.setIntervalRange(7.5, 7.5); +// param.setSupervisionTimeout(10000); +// param.setLatency(0); +// mControl->requestConnectionUpdate(param); +// } +} + +void BleUart::connectionUpdated(const QLowEnergyConnectionParameters &newParameters) +{ + (void)newParameters; + qDebug() << "BLE connection parameters updated"; +} diff --git a/bleuart.h b/bleuart.h new file mode 100644 index 0000000..0ac048b --- /dev/null +++ b/bleuart.h @@ -0,0 +1,89 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef BLEUART_H +#define BLEUART_H + +#include +#include +#include +#include +#include +#include + +class BleUart : public QObject +{ + Q_OBJECT +public: + explicit BleUart(QObject *parent = 0); + + Q_INVOKABLE void startScan(); + Q_INVOKABLE void startConnect(QString addr); + Q_INVOKABLE void disconnectBle(); + Q_INVOKABLE bool isConnected(); + Q_INVOKABLE bool isConnecting(); + +signals: + void dataRx(QByteArray data); + void scanDone(QVariantMap devs, bool done); + void bleError(QString info); + void connected(); + +public slots: + void writeData(QByteArray data); + +private slots: + void addDevice(const QBluetoothDeviceInfo&dev); + void scanFinished(); + void deviceScanError(QBluetoothDeviceDiscoveryAgent::Error e); + + void serviceDiscovered(const QBluetoothUuid &); + void serviceScanDone(); + void controllerError(QLowEnergyController::Error); + void deviceConnected(); + void deviceDisconnected(); + + void serviceStateChanged(QLowEnergyService::ServiceState s); + void updateData(const QLowEnergyCharacteristic &c, const QByteArray &value); + void confirmedDescriptorWrite(const QLowEnergyDescriptor &d, const QByteArray &value); + + void controlStateChanged(QLowEnergyController::ControllerState state); + void connectionUpdated(const QLowEnergyConnectionParameters &newParameters); + +private: + QBluetoothDeviceDiscoveryAgent *mDeviceDiscoveryAgent; + QLowEnergyController *mControl; + QLowEnergyService *mService; + QLowEnergyDescriptor mNotificationDescTx; + QVariantMap mDevs; + bool mUartServiceFound; + bool mConnectDone; + QString mServiceUuid; + QString mRxUuid; + QString mTxUuid; + +}; + +#endif // BLEUART_H diff --git a/bmsinterface.cpp b/bmsinterface.cpp new file mode 100644 index 0000000..27cc948 --- /dev/null +++ b/bmsinterface.cpp @@ -0,0 +1,894 @@ +/** + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "bmsinterface.h" +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAS_SERIALPORT +#include +#endif + +BMSInterface::BMSInterface(QObject *parent) : QObject(parent) +{ + + mbmsConfig = new ConfigParams(this); + mInfoConfig = new ConfigParams(this); + mPacket = new Packet(this); + mCommands = new Commands(this); + + // Compatible firmwares + mFwVersionReceived = false; + mFwRetries = 0; + mFwPollCnt = 0; + mFwTxt = "x.x"; + mIsUploadingFw = false; + + mTimer = new QTimer(this); + mTimer->setInterval(20); + mTimer->start(); + + mLastConnType = static_cast(QSettings().value("connection_type", CONN_NONE).toInt()); + mLastTcpServer = mSettings.value("tcp_server", "127.0.0.1").toString(); + mLastTcpPort = mSettings.value("tcp_port", 65102).toInt(); + + mSendCanBefore = false; + mCanIdBefore = 0; + mWasConnected = false; + mAutoconnectOngoing = false; + mAutoconnectProgress = 0.0; + + // Serial +#ifdef HAS_SERIALPORT + mSerialPort = new QSerialPort(this); + mLastSerialPort = ""; + mLastSerialBaud = 0; + + connect(mSerialPort, SIGNAL(readyRead()),this, SLOT(serialDataAvailable())); + connect(mSerialPort, SIGNAL(error(QSerialPort::SerialPortError)),this, SLOT(serialPortError(QSerialPort::SerialPortError))); +#endif + + // TCP + mTcpSocket = new QTcpSocket(this); + mTcpConnected = false; + mLastTcpServer = QSettings().value("tcp_server").toString(); + mLastTcpPort = QSettings().value("tcp_port").toInt(); + + connect(mTcpSocket, SIGNAL(readyRead()), this, SLOT(tcpInputDataAvailable())); + connect(mTcpSocket, SIGNAL(connected()), this, SLOT(tcpInputConnected())); + connect(mTcpSocket, SIGNAL(disconnected()),this, SLOT(tcpInputDisconnected())); + connect(mTcpSocket, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(tcpInputError(QAbstractSocket::SocketError))); + + // BLE + + mBleUart = new BleUart(this); + mLastBleAddr = QSettings().value("ble_addr").toString(); + + int size = mSettings.beginReadArray("bleNames"); + for (int i = 0; i < size; ++i) { + mSettings.setArrayIndex(i); + QString address = mSettings.value("address").toString(); + QString name = mSettings.value("name").toString(); + mBleNames.insert(address, name); + } + mSettings.endArray(); + + connect(mBleUart, SIGNAL(dataRx(QByteArray)), this, SLOT(bleDataRx(QByteArray))); + + mCommands->setbmsConfig(mbmsConfig); + + // Other signals/slots + connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot())); + connect(mPacket, SIGNAL(dataToSend(QByteArray&)),this, SLOT(packetDataToSend(QByteArray&))); + connect(mPacket, SIGNAL(packetReceived(QByteArray&)),this, SLOT(packetReceived(QByteArray&))); + connect(mCommands, SIGNAL(dataToSend(QByteArray&)),this, SLOT(cmdDataToSend(QByteArray&))); + connect(mCommands, SIGNAL(fwVersionReceived(int,int,QString,QByteArray)),this, SLOT(fwVersionReceived(int,int,QString,QByteArray))); + connect(mCommands, SIGNAL(ackReceived(QString)), this, SLOT(ackReceived(QString))); + connect(mbmsConfig, SIGNAL(updated()), this, SLOT(bmsconfUpdated())); + connect(mbmsConfig, SIGNAL(stored()), this, SLOT(bmsconfStored())); +} + +BMSInterface::~BMSInterface() +{ + mSettings.beginWriteArray("bleNames"); + + QHashIterator i(mBleNames); + int ind = 0; + while (i.hasNext()) { + i.next(); + mSettings.setArrayIndex(ind); + mSettings.setValue("address", i.key()); + mSettings.setValue("name", i.value()); + ind++; + } + + mSettings.endArray(); +} + +Commands *BMSInterface::commands() const +{ + return mCommands; +} + +ConfigParams *BMSInterface::bmsConfig() +{ + return mbmsConfig; +} + +ConfigParams *BMSInterface::infoConfig() +{ + return mInfoConfig; +} + +QStringList BMSInterface::getSupportedFirmwares() +{ + QList > fwPairs = getSupportedFirmwarePairs(); + QStringList fws; + + for (int i = 0;i < fwPairs.size();i++) { + QString tmp; + tmp.sprintf("%d.%d", fwPairs.at(i).first, fwPairs.at(i).second); + fws.append(tmp); + } + return fws; +} + +QList > BMSInterface::getSupportedFirmwarePairs() +{ + QList > fws; + + ConfigParam *p = mInfoConfig->getParam("fw_version"); + + if (p) { + QStringList strs = p->enumNames; + + for (int i = 0;i < strs.size();i++) { + QStringList mami = strs.at(i).split("."); + QPair fw = qMakePair(mami.at(0).toInt(), mami.at(1).toInt()); + fws.append(fw); + } + } + + return fws; +} + +QString BMSInterface::getFirmwareNow() +{ + return mFwTxt; +} + +void BMSInterface::emitStatusMessage(const QString &msg, bool isGood) +{ + emit statusMessage(msg, isGood); +} + +void BMSInterface::emitMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText) +{ + emit messageDialog(title, msg, isGood, richText); +} + +bool BMSInterface::fwRx() +{ + return mFwVersionReceived; +} + + +void BMSInterface::storeSettings() +{ + mSettings.beginWriteArray("bleNames"); + QHashIterator i(mBleNames); + int ind = 0; + while (i.hasNext()) { + i.next(); + mSettings.setArrayIndex(ind); + mSettings.setValue("address", i.key()); + mSettings.setValue("name", i.value()); + ind++; + } + mSettings.endArray(); + + mSettings.beginWriteArray("profiles"); + for (int i = 0; i < mProfiles.size(); ++i) { + MCCONF_TEMP cfg = mProfiles.value(i).value(); + mSettings.setArrayIndex(i); + mSettings.setValue("current_min_scale", cfg.current_min_scale); + mSettings.setValue("current_max_scale", cfg.current_max_scale); + mSettings.setValue("erpm_or_speed_min", cfg.erpm_or_speed_min); + mSettings.setValue("erpm_or_speed_max", cfg.erpm_or_speed_max); + mSettings.setValue("duty_min", cfg.duty_min); + mSettings.setValue("duty_max", cfg.duty_max); + mSettings.setValue("watt_min", cfg.watt_min); + mSettings.setValue("watt_max", cfg.watt_max); + mSettings.setValue("name", cfg.name); + } + mSettings.endArray(); + + mSettings.beginWriteArray("pairedUuids"); + for (int i = 0;i < mPairedUuids.size();i++) { + mSettings.setArrayIndex(i); + mSettings.setValue("uuid", mPairedUuids.at(i)); + } + mSettings.endArray(); +} + + +#ifdef HAS_BLUETOOTH +BleUart *BMSInterface::bleDevice() +{ + return mBleUart; +} + +void BMSInterface::storeBleName(QString address, QString name) +{ + mBleNames.insert(address, name); +} + +QString BMSInterface::getBleName(QString address) +{ + QString res; + if(mBleNames.contains(address)) { + res = mBleNames[address]; + } + return res; +} + +QString BMSInterface::getLastBleAddr() const +{ + return mLastBleAddr; +} +#endif + +bool BMSInterface::isPortConnected() +{ + bool res = false; + +#ifdef HAS_SERIALPORT + if (mSerialPort->isOpen()) { + res = true; + } +#endif + + if (mTcpConnected) { + res = true; + } + + if (mBleUart->isConnected()) { + res = true; + } + + return res; +} + +void BMSInterface::disconnectPort() +{ +#ifdef HAS_SERIALPORT + if(mSerialPort->isOpen()) { + mSerialPort->close(); + updateFwRx(false); + } +#endif + + if (mTcpConnected) { + mTcpSocket->close(); + updateFwRx(false); + } + + if (mBleUart->isConnected()) { + mBleUart->disconnectBle(); + updateFwRx(false); + } + + mFwRetries = 0; +} + +bool BMSInterface::reconnectLastPort() +{ + if (mLastConnType == CONN_SERIAL) { +#ifdef HAS_SERIALPORT + return connectSerial(mLastSerialPort, mLastSerialBaud); +#else + return false; +#endif + } else if (mLastConnType == CONN_TCP) { + connectTcp(mLastTcpServer, mLastTcpPort); + return true; + } else if (mLastConnType == CONN_BLE) { + mBleUart->startConnect(mLastBleAddr); + return true; + } else { +#ifdef HAS_SERIALPORT + QList ports = listSerialPorts(); + if (!ports.isEmpty()) { + return connectSerial(ports.first().systemPath); + } else { + emit messageDialog(tr("Reconnect"), tr("No ports found"), false, false); + return false; + } +#else + emit messageDialog(tr("Reconnect"), + tr("Please specify the connection manually " + "the first time you are connecting."), + false, false); + return false; +#endif + } +} + +bool BMSInterface::autoconnect() +{ + bool res = false; + +#ifdef HAS_SERIALPORT + QList ports = listSerialPorts(); + mAutoconnectOngoing = true; + mAutoconnectProgress = 0.0; + + disconnectPort(); + disconnect(mCommands, SIGNAL(fwVersionReceived(int,int,QString,QByteArray)), + this, SLOT(fwVersionReceived(int,int,QString,QByteArray))); + + for (int i = 0;i < ports.size();i++) { + VSerialInfo_t serial = ports[i]; + + if (!connectSerial(serial.systemPath)) { + continue; + } + + QEventLoop loop; + QTimer timeoutTimer; + timeoutTimer.setSingleShot(true); + timeoutTimer.start(500); + connect(mCommands, SIGNAL(fwVersionReceived(int,int,QString,QByteArray)), &loop, SLOT(quit())); + connect(&timeoutTimer, SIGNAL(timeout()), &loop, SLOT(quit())); + loop.exec(); + + if (timeoutTimer.isActive()) { + // If the timer is still running a firmware version was received. + res = true; + break; + } else { + mAutoconnectProgress = (double)i / (double)ports.size(); + emit autoConnectProgressUpdated(mAutoconnectProgress, false); + disconnectPort(); + } + } + + connect(mCommands, SIGNAL(fwVersionReceived(int,int,QString,QByteArray)), + this, SLOT(fwVersionReceived(int,int,QString,QByteArray))); +#endif + + emit autoConnectProgressUpdated(1.0, true); + emit autoConnectFinished(); + mAutoconnectOngoing = false; + return res; +} + +QString BMSInterface::getConnectedPortName() +{ + QString res = tr("Not connected"); + bool connected = false; + +#ifdef HAS_SERIALPORT + if (mSerialPort->isOpen()) { + res = tr("Connected (serial) to %1").arg(mSerialPort->portName()); + connected = true; + } +#endif + + if (mTcpConnected) { + res = tr("Connected (TCP) to %1:%2").arg(mLastTcpServer).arg(mLastTcpPort); + connected = true; + } + + if (mBleUart->isConnected()) { + res = tr("Connected (BLE) to %1").arg(mLastBleAddr); + connected = true; + } + + if (connected && mCommands->isLimitedMode()) { + res += tr(", limited mode"); + } + + return res; +} + +bool BMSInterface::connectSerial(QString port, int baudrate) +{ +#ifdef HAS_SERIALPORT + mLastSerialPort = port; + mLastSerialBaud = baudrate; + setLastConnectionType(CONN_SERIAL); + + bool found = false; + for (VSerialInfo_t ser: listSerialPorts()) { + if (ser.systemPath == port) { + found = true; + break; + } + } + + if (!found) { + emit statusMessage(tr("Invalid serial port: %1").arg(port), false); + return false; + } + + if(mSerialPort->isOpen()) { + return true; + } + + // TODO: Maybe this test works on other OSes as well +#ifdef Q_OS_UNIX + QFileInfo fi(port); + if (fi.exists()) { + if (!fi.isWritable()) { + emit statusMessage(tr("Serial port is not writable"), false); + emit serialPortNotWritable(port); + return false; + } + } +#endif + + mSerialPort->setPortName(port); + mSerialPort->open(QIODevice::ReadWrite); + + if(!mSerialPort->isOpen()) { + return false; + } + + mSerialPort->setBaudRate(baudrate); + mSerialPort->setDataBits(QSerialPort::Data8); + mSerialPort->setParity(QSerialPort::NoParity); + mSerialPort->setStopBits(QSerialPort::OneStop); + mSerialPort->setFlowControl(QSerialPort::NoFlowControl); + + // For nrf + mSerialPort->setRequestToSend(true); + mSerialPort->setDataTerminalReady(true); + QThread::msleep(5); + mSerialPort->setDataTerminalReady(false); + QThread::msleep(100); + + return true; +#else + (void)port; + (void)baudrate; + emit messageDialog(tr("Connect serial"), + tr("Serial port support is not enabled in this build " + "of ENNOID-BMS Tool."), + false, false); + return false; +#endif +} + +QList BMSInterface::listSerialPorts() +{ + QList res; + +#ifdef HAS_SERIALPORT + QList ports = QSerialPortInfo::availablePorts(); + + foreach(const QSerialPortInfo &port, ports) { + VSerialInfo_t info; + info.name = port.portName(); + info.systemPath = port.systemLocation(); + int index = res.size(); + + if(port.manufacturer().startsWith("Silicon")) { + //info.name.insert(0, "ENNOID-BMS - "); + info.name.append(" - ENNOID-BMS"); + info.isVesc = true; + index = 0; + } else { + info.isVesc = false; + } + + res.insert(index, info); + } +#endif + + return res; +} + +void BMSInterface::connectTcp(QString server, int port) +{ + mLastTcpServer = server; + mLastTcpPort = port; + setLastConnectionType(CONN_TCP); + + QHostAddress host; + host.setAddress(server); + + // Try DNS lookup + if (host.isNull()) { + QList addresses = QHostInfo::fromName(server).addresses(); + + if (!addresses.isEmpty()) { + host.setAddress(addresses.first().toString()); + } + } + + mTcpSocket->abort(); + mTcpSocket->connectToHost(host, port); +} + +void BMSInterface::connectBle(QString address) +{ + mBleUart->startConnect(address); + mLastConnType = CONN_BLE; + mLastBleAddr = address; + setLastConnectionType(CONN_BLE); +} + +bool BMSInterface::isAutoconnectOngoing() const +{ + return mAutoconnectOngoing; +} + +double BMSInterface::getAutoconnectProgress() const +{ + return mAutoconnectProgress; +} + +QVector BMSInterface::scanCan() +{ + QVector canDevs; + + if (!isPortConnected()) { + return canDevs; + } + + QEventLoop loop; + + bool timeout; + auto conn = connect(commands(), &Commands::pingCanRx, + [&canDevs, &timeout, &loop](QVector devs, bool isTimeout) { + for (int dev: devs) { + canDevs.append(dev); + } + timeout = isTimeout; + loop.quit(); + }); + + commands()->pingCan(); + loop.exec(); + + disconnect(conn); + + if (!timeout) { + mCanDevsLast = canDevs; + } else { + canDevs.clear(); + } + + return canDevs; +} + +QVector BMSInterface::getCanDevsLast() const +{ + return mCanDevsLast; +} + +void BMSInterface::ignoreCanChange(bool ignore) +{ + mIgnoreCanChange = ignore; +} + + +#ifdef HAS_SERIALPORT +void BMSInterface::serialDataAvailable() +{ + bool b = true; + while (mSerialPort->bytesAvailable() > 0) { + mPacket->processData(mSerialPort->readAll()); + } +} + +void BMSInterface::serialPortError(QSerialPort::SerialPortError error) +{ + QString message; + switch (error) { + case QSerialPort::NoError: + break; + + default: + message = "Serial port error: " + mSerialPort->errorString(); + break; + } + + if(!message.isEmpty()) { + emit statusMessage(message, false); + + if (mSerialPort->isOpen()) { + mSerialPort->close(); + } + + updateFwRx(false); + } +} +#endif + +void BMSInterface::tcpInputConnected() +{ + bool b = true; + mTcpConnected = true; + updateFwRx(false); +} + +void BMSInterface::tcpInputDisconnected() +{ + mTcpConnected = false; + updateFwRx(false); +} + +void BMSInterface::tcpInputDataAvailable() +{ + bool b = true; + while (mTcpSocket->bytesAvailable() > 0) { + mPacket->processData(mTcpSocket->readAll()); + } +} + +void BMSInterface::tcpInputError(QAbstractSocket::SocketError socketError) +{ + (void)socketError; + + QString errorStr = mTcpSocket->errorString(); + emit statusMessage(tr("TCP Error") + errorStr, false); + mTcpSocket->close(); + updateFwRx(false); +} + +#ifdef HAS_BLUETOOTH +void BMSInterface::bleDataRx(QByteArray data) +{ + mPacket->processData(data); +} +#endif + +void BMSInterface::timerSlot() +{ + // Poll the serial port as well since readyRead is not emitted recursively. This + // can be a problem when waiting for input with an additional event loop, such as + // when using QMessageBox. +#ifdef HAS_SERIALPORT + serialDataAvailable(); +#endif + + if (isPortConnected()) { + if (mSendCanBefore != mCommands->getSendCan() || + mCanIdBefore != mCommands->getCanSendId()) { + updateFwRx(false); + mFwRetries = 0; + } + + mFwPollCnt++; + if (mFwPollCnt >= 4) { + mFwPollCnt = 0; + if (!mFwVersionReceived) { + mCommands->getFwVersion(); + mFwRetries++; + + // Timeout if the firmware cannot be read + if (mFwRetries >= 25) { + emit statusMessage(tr("No firmware read response"), false); + emit messageDialog(tr("Read Firmware Version"), + tr("Could not read firmware version. Make sure " + "that selected port really belongs to the ENNOID-BMS. "), + false, false); + disconnectPort(); + } + } + } + } else { + updateFwRx(false); + mFwRetries = 0; + } + mSendCanBefore = mCommands->getSendCan(); + mCanIdBefore = mCommands->getCanSendId(); + + // Update fw upload bar and label + double fwProg = mCommands->getFirmwareUploadProgress(); + QString fwStatus = mCommands->getFirmwareUploadStatus(); + if (fwProg > -0.1) { + mIsUploadingFw = true; + emit fwUploadStatus(fwStatus, fwProg, true); + } else { + // If the firmware upload just finished or failed + if (mIsUploadingFw) { + updateFwRx(false); + mFwRetries = 0; + if (fwStatus.compare("FW Upload Done") == 0) { + emit fwUploadStatus(fwStatus, 1.0, false); + } else { + emit fwUploadStatus(fwStatus, 0.0, false); + } + } + mIsUploadingFw = false; + } + + if (mWasConnected != isPortConnected()) { + mWasConnected = isPortConnected(); + emit portConnectedChanged(); + } +} + +void BMSInterface::packetDataToSend(QByteArray &data) +{ +#ifdef HAS_SERIALPORT + if (mSerialPort->isOpen()) { + mSerialPort->write(data); + } +#endif + + if (mTcpConnected && mTcpSocket->isOpen()) { + mTcpSocket->write(data); + } + + if (mBleUart->isConnected()) { + mBleUart->writeData(data); + } +} + +void BMSInterface::packetReceived(QByteArray &data) +{ + mCommands->processPacket(data); +} + +void BMSInterface::cmdDataToSend(QByteArray &data) +{ + mPacket->sendPacket(data); +} + +void BMSInterface::fwVersionReceived(int major, int minor, QString hw, QByteArray uuid) +{ + QList > fwPairs = getSupportedFirmwarePairs(); + + QString strUuid = Utility::uuid2Str(uuid, true); + + if (fwPairs.isEmpty()) { + emit messageDialog(tr("Not Supported Firmwares"), + tr("This version of ENNOID-BMS Tool does not seem to have any supported " + "firmwares. Something is probably wrong with the BMS configuration " + "file."), + false, false); + updateFwRx(false); + mFwRetries = 0; + disconnectPort(); + return; + } + + QPair highest_supported = *std::max_element(fwPairs.begin(), fwPairs.end()); + QPair fw_connected = qMakePair(major, minor); + + bool wasReceived = mFwVersionReceived; + mCommands->setLimitedMode(false); +#if 0 + if (major < 0) { + updateFwRx(false); + mFwRetries = 0; + disconnectPort(); + emit messageDialog(tr("Error"), tr("The firmware on the connected ENNOID-BMS is too old. Please update it using a programmer."), false, false); + } else if (fw_connected > highest_supported) { + mCommands->setLimitedMode(true); + updateFwRx(true); + if (!wasReceived) { + emit messageDialog(tr("Warning"), tr("The connected ENNOID-BMS has newer firmware than this version of the" + " ENNOID-BMS Tool supports. It is recommended that you update the ENNOID-BMS" + " Tool to the latest version. Alternatively, the firmware on" + " the connected ENNOID-BMS can be downgraded in the firmware page." + " Until then, limited communication mode will be used where" + " only the firmware can be changed."), false, false); + } + } else if (!fwPairs.contains(fw_connected)) { + if (fw_connected >= qMakePair(0, 10)) { + mCommands->setLimitedMode(true); + updateFwRx(true); + if (!wasReceived) { + emit messageDialog(tr("Warning"), tr("The connected ENNOID-BMS has too old firmware. Since the" + " connected ENNOID-BMS has firmware with bootloader support, it can be" + " updated from the Firmware page." + " Until then, limited communication mode will be used where only the" + " firmware can be changed."), false, false); + } + } else { + updateFwRx(false); + mFwRetries = 0; + disconnectPort(); + if (!wasReceived) { + emit messageDialog(tr("Error"), tr("The firmware on the connected ENNOID-BMS is too old. Please" + " update it using a programmer."), false, false); + } + } + } else { +#endif + updateFwRx(true); + if ((fw_connected < highest_supported)) { + if (!wasReceived) { + //emit messageDialog(tr("Warning"), tr("The connected ENNOID-BMS is compatible, but old firmware. It is recommended that you update it."), false, false); + } + } + + QString fwStr; + fwStr.sprintf("ENNOID-BMS Firmware Version %d.%d", major, minor); + if (!hw.isEmpty()) { + fwStr += ", Hardware: " + hw; + } + + if (!strUuid.isEmpty()) { + fwStr += ", UUID: " + strUuid; + } + + emit statusMessage(fwStr, true); +#if 0 + } +#endif + + if (major >= 0) { + mFwTxt.sprintf("Fw: %d.%d", major, minor); + mHwTxt = hw; + if (!hw.isEmpty()) { + mFwTxt += ", Hw: " + hw; + } + + if (!strUuid.isEmpty()) { + mFwTxt += "\n" + strUuid; + } + } +} + +void BMSInterface::bmsconfUpdated() +{ + emit statusMessage(tr("BMS configuration updated"), true); +} + +void BMSInterface::bmsconfStored() { + emit statusMessage(tr("BMS configuration stored to Flash"), true); +} + +void BMSInterface::ackReceived(QString ackType) +{ + emit statusMessage(ackType, true); +} + +void BMSInterface::updateFwRx(bool fwRx) +{ + bool change = mFwVersionReceived != fwRx; + mFwVersionReceived = fwRx; + if (change) { + emit fwRxChanged(mFwVersionReceived, mCommands->isLimitedMode()); + } +} + +void BMSInterface::setLastConnectionType(conn_t type) +{ + mLastConnType = type; + QSettings().setValue("connection_type", type); +} diff --git a/bmsinterface.h b/bmsinterface.h new file mode 100644 index 0000000..fd5de25 --- /dev/null +++ b/bmsinterface.h @@ -0,0 +1,214 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef BMSInterface_H +#define BMSInterface_H + +#include +#include +#include +#include +#include +#include +#include + +#ifdef HAS_SERIALPORT +#include +#endif + +#include "datatypes.h" +#include "configparams.h" +#include "commands.h" +#include "packet.h" + +#ifdef HAS_BLUETOOTH +#include "bleuart.h" +#endif + +class BMSInterface : public QObject +{ + Q_OBJECT +public: + explicit BMSInterface(QObject *parent = 0); + ~BMSInterface(); + Q_INVOKABLE Commands *commands() const; + Q_INVOKABLE ConfigParams *bmsConfig(); + Q_INVOKABLE ConfigParams *infoConfig(); + Q_INVOKABLE QStringList getSupportedFirmwares(); + QList > getSupportedFirmwarePairs(); + Q_INVOKABLE QString getFirmwareNow(); + Q_INVOKABLE void emitStatusMessage(const QString &msg, bool isGood); + Q_INVOKABLE void emitMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText = false); + Q_INVOKABLE bool fwRx(); + Q_INVOKABLE void storeSettings(); + //Q_INVOKABLE QVariantList getProfiles(); + //Q_INVOKABLE void addProfile(QVariant profile); + //Q_INVOKABLE void clearProfiles(); + //Q_INVOKABLE void deleteProfile(int index); + //Q_INVOKABLE void moveProfileUp(int index); + //Q_INVOKABLE void moveProfileDown(int index); + //Q_INVOKABLE MCCONF_TEMP getProfile(int index); + //Q_INVOKABLE void updateProfile(int index, QVariant profile); + //Q_INVOKABLE bool isProfileInUse(int index); + //Q_INVOKABLE MCCONF_TEMP createMcconfTemp(); + //Q_INVOKABLE void updateMcconfFromProfile(MCCONF_TEMP profile); +// Q_INVOKABLE QStringList getPairedUuids(); +// Q_INVOKABLE bool addPairedUuid(QString uuid); +// Q_INVOKABLE bool deletePairedUuid(QString uuid); +// Q_INVOKABLE void clearPairedUuids(); +// Q_INVOKABLE bool hasPairedUuid(QString uuid); + // Q_INVOKABLE QString getConnectedUuid(); + // Q_INVOKABLE bool isIntroDone(); + // Q_INVOKABLE void setIntroDone(bool done); + // Q_INVOKABLE QString getLastTcpServer() const; + // Q_INVOKABLE int getLastTcpPort() const; +//#ifdef HAS_SERIALPORT +// Q_INVOKABLE QString getLastSerialPort() const; +// Q_INVOKABLE int getLastSerialBaud() const; +//#endif + bool swdEraseFlash(); + bool swdUploadFw(QByteArray newFirmware, uint32_t startAddr = 0); + void swdCancel(); + bool swdReboot(); + +#ifdef HAS_BLUETOOTH + Q_INVOKABLE BleUart* bleDevice(); + Q_INVOKABLE void storeBleName(QString address, QString name); + Q_INVOKABLE QString getBleName(QString address); + Q_INVOKABLE QString getLastBleAddr() const; +#endif + + // Connection + Q_INVOKABLE bool isPortConnected(); + Q_INVOKABLE void disconnectPort(); + Q_INVOKABLE bool reconnectLastPort(); + Q_INVOKABLE bool autoconnect(); + Q_INVOKABLE QString getConnectedPortName(); + bool connectSerial(QString port, int baudrate = 115200); + QList listSerialPorts(); + Q_INVOKABLE void connectTcp(QString server, int port); + Q_INVOKABLE void connectBle(QString address); + Q_INVOKABLE bool isAutoconnectOngoing() const; + Q_INVOKABLE double getAutoconnectProgress() const; + Q_INVOKABLE QVector scanCan(); + Q_INVOKABLE QVector getCanDevsLast() const; + Q_INVOKABLE void ignoreCanChange(bool ignore); + +signals: + void statusMessage(const QString &msg, bool isGood); + void messageDialog(const QString &title, const QString &msg, bool isGood, bool richText); + void fwUploadStatus(const QString &status, double progress, bool isOngoing); + void serialPortNotWritable(const QString &port); + void fwRxChanged(bool rx, bool limited); + void portConnectedChanged(); + void autoConnectProgressUpdated(double progress, bool isOngoing); + void autoConnectFinished(); + void pairingListUpdated(); + +public slots: + +private slots: +#ifdef HAS_SERIALPORT + void serialDataAvailable(); + void serialPortError(QSerialPort::SerialPortError error); +#endif + + void tcpInputConnected(); + void tcpInputDisconnected(); + void tcpInputDataAvailable(); + void tcpInputError(QAbstractSocket::SocketError socketError); + + void bleDataRx(QByteArray data); + + void timerSlot(); + void packetDataToSend(QByteArray &data); + void packetReceived(QByteArray &data); + void cmdDataToSend(QByteArray &data); + void fwVersionReceived(int major, int minor, QString hw, QByteArray uuid); + void bmsconfUpdated(); + void bmsconfStored(); + void ackReceived(QString ackType); + +private: + typedef enum { + CONN_NONE = 0, + CONN_SERIAL, + CONN_TCP, + CONN_BLE + } conn_t; + + QSettings mSettings; + QHash mBleNames; + QVariantList mProfiles; + QStringList mPairedUuids; + + ConfigParams *mbmsConfig; + ConfigParams *mInfoConfig; + + QTimer *mTimer; + Packet *mPacket; + Commands *mCommands; + bool mFwVersionReceived; + int mFwRetries; + int mFwPollCnt; + QString mFwTxt; + QString mHwTxt; + bool mIsUploadingFw; + + bool mCancelSwdUpload; + + // Connections + conn_t mLastConnType; + +#ifdef HAS_SERIALPORT + QSerialPort *mSerialPort; + QString mLastSerialPort; + int mLastSerialBaud; +#endif + + QTcpSocket *mTcpSocket; + bool mTcpConnected; + QString mLastTcpServer; + int mLastTcpPort; + +#ifdef HAS_BLUETOOTH + BleUart *mBleUart; + QString mLastBleAddr; +#endif + bool mSendCanBefore = false; + int mCanIdBefore = 0; + bool mWasConnected; + bool mAutoconnectOngoing; + double mAutoconnectProgress; + bool mIgnoreCanChange; + + QVector mCanDevsLast; + + void updateFwRx(bool fwRx); + void setLastConnectionType(conn_t type); + +}; + +#endif // BMSInterface_H diff --git a/bmsservicepage.cpp b/bmsservicepage.cpp new file mode 100644 index 0000000..c406c2d --- /dev/null +++ b/bmsservicepage.cpp @@ -0,0 +1,97 @@ +#include "bmsservicepage.h" +#include "ui_bmsservicepage.h" +#include +//#include "widgets/historylineedit.h" + +BmsServicePage::BmsServicePage(QWidget *parent) : + QFrame(parent), + ui(new Ui::BmsServicePage) +{ + ui->setupUi(this); + + connect(ui->helpButton, &QPushButton::clicked, this, &BmsServicePage::on_helpButton_clicked); + connect(ui->sendButton, &QPushButton::clicked, this, &BmsServicePage::on_sendButton_clicked); + connect(ui->terminalEdit, &HistoryLineEditBox::enterClicked, this, &BmsServicePage::on_sendButton_clicked); + //connect(ui->terminalEdit, &HistoryLineEditBox::upClicked, this, &BmsServicePage::onUpButtonClicked); + //connect(ui->terminalEdit, &HistoryLineEditBox::downClicked, this, &BmsServicePage::onDownButtonClicked); + + connect(ui->clearButton, &QPushButton::clicked, this, &BmsServicePage::on_clearButton_clicked); +} + +BmsServicePage::~BmsServicePage() +{ + delete ui; +} +/* +void BmsServicePage::onUpButtonClicked() +{ + ui->terminalEdit-> +} + +void BmsServicePage::onDownButtonClicked() +{ + +} +*/ + +void BmsServicePage::on_clearButton_clicked() +{ + clearTerminal(); +} + +void BmsServicePage::clearTerminal() +{ + ui->terminalBrowser->clear(); +} + +BMSInterface *BmsServicePage::bms() const +{ + return mDieBieMS; +} + +void BmsServicePage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + connect(mDieBieMS->commands(), SIGNAL(printReceived(QString)), this, SLOT(printReceived(QString))); + } +} + +void BmsServicePage::printReceived(QString str) +{ + ui->terminalBrowser->append(str); +} + +//* +bool BmsServicePage::eventFilter(QObject *O, QEvent *E) +{ + if(O == ui->terminalEdit) + { + if(E->type() == QKeyEvent::KeyPress) + { + QKeyEvent *pkey = (QKeyEvent *)E; + if( pkey->key()==Qt::Key_Enter || pkey->key()==Qt::Key_Return) + { + int a = 0; + return true; + } + } + } + return QWidget::eventFilter(O,E); +} + +void BmsServicePage::on_sendButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->commands()->sendTerminalCmd(ui->terminalEdit->text()); + ui->terminalEdit->clear(); + } +} + +void BmsServicePage::on_helpButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->commands()->sendTerminalCmd("help"); + } +} diff --git a/bmsservicepage.h b/bmsservicepage.h new file mode 100644 index 0000000..cabaefa --- /dev/null +++ b/bmsservicepage.h @@ -0,0 +1,60 @@ +#ifndef BMSSERVICEPAGE_H +#define BMSSERVICEPAGE_H + +#include +#include + +#include "bmsinterface.h" + +namespace Ui { +class BmsServicePage; +} +/* +class KeyboardFilter : public QObject +{ +public: + KeyboardFilter( QObject *parent = 0 ) : QObject( parent ) {} + +protected: + bool eventFilter( QObject *dist, QEvent *event ); +}; +*/ + +class BmsServicePage : public QFrame +{ + Q_OBJECT + +public: + explicit BmsServicePage(QWidget *parent = nullptr); + ~BmsServicePage(); + + + void clearTerminal(); + BMSInterface *bms() const; + + void setDieBieMS(BMSInterface *dieBieMS); + +protected: +// void keyPressEvent(QKeyEvent *); + bool eventFilter(QObject *, QEvent *); + +public slots: + void printReceived(QString str); + + //void onUpButtonClicked(); + //void onDownButtonClicked(); + +private slots: + void on_sendButton_clicked(); + void on_helpButton_clicked(); + void on_clearButton_clicked(); + + +private: + Ui::BmsServicePage *ui; + BMSInterface *mDieBieMS; + //KeyboardFilter filter; + +}; + +#endif // BMSSERVICEPAGE_H diff --git a/bmsservicepage.ui b/bmsservicepage.ui new file mode 100644 index 0000000..84d7221 --- /dev/null +++ b/bmsservicepage.ui @@ -0,0 +1,281 @@ + + + BmsServicePage + + + + 0 + 0 + 1071 + 755 + + + + Form + + + +QWidget#BmsServicePage +{ + background-color: #f7f8fc +} + +QPushButton#pbVisualizationMenuBarVoltage +{ + border: 2px solid lightgrey; + border-top-left-radius: 15px; + background: white; + color: black; + font-size: 18px; + border-right-color: white; +} + +QPushButton#pbVisualizationMenuBarAmperage +{ + border: 2px solid lightgrey; +/* border-top-left-radius: 20px;*/ + background: white; + color: black; + font-size: 18px; + border-left-color: white; + border-right-color: white; +} + +QPushButton#pbVisualizationMenuBarTemperature +{ + border: 2px solid lightgrey; + background: white; + color: black; + font-size: 18px; + border-left-color: white; + border-right-color: white; +} + +/*----------------------------------------------------------------------*/ + +QPushButton#pbVisualizationMenuBarVoltage:hover:checked, +#pbVisualizationMenuBarAmperage:hover:checked, +#pbVisualizationMenuBarTemperature:hover:checked +{ + /*background-color: #01673a;*/ + border-bottom-color:#009352; + color:#009352; +} + + +QPushButton#pbVisualizationMenuBarVoltage:!hover:checked, +#pbVisualizationMenuBarAmperage:!hover:checked, +#pbVisualizationMenuBarTemperature:!hover:checked +{ + /*background-color: #01673a;*/ + border-bottom-color: #009352; + color:#009352; +} + + +QPushButton#pbVisualizationMenuBarVoltage:hover:!checked, +#pbVisualizationMenuBarAmperage:hover:!checked, +#pbVisualizationMenuBarTemperature:hover:!checked +{ + /*background-color: #009352;*/ + /*background-color: #028249;*/ + border-bottom-color: lightgrey; + color:black; +} + + + + + + + 30 + 30 + 921 + 41 + + + + + 26 + 75 + true + + + + Терминал + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + + 33 + 90 + 991 + 581 + + + + + 14 + 50 + false + + + + background-color:#FFFFFF; + border: 2px solid lightgrey; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + + + + + + + Qt::AlignCenter + + + + + + 30 + 680 + 991 + 42 + + + + + + + + 0 + 0 + + + + Send help command to VESC + + + + + + + :/res/icons/Help-96.png:/res/icons/Help-96.png + + + + 32 + 32 + + + + + + + + + 20 + + + + + + + + + 0 + 0 + + + + Send command + + + + + + + :/res/icons/Send File-96.png:/res/icons/Send File-96.png + + + + 32 + 32 + + + + + + + + + 0 + 0 + + + + Clear terminal + + + + + + + :/res/icons/Delete-96.png:/res/icons/Delete-96.png + + + + 32 + 32 + + + + + + + + + + 33 + 91 + 991 + 581 + + + + + DejaVu Sans Mono + + + + background-color:transparent; + border: 2px solid lightgrey; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + + + + QTextEdit::NoWrap + + + labTerminalBrowserBackground + lbCenterTabName + layoutWidget + terminalBrowser + + + + HistoryLineEditBox + QLineEdit +
historylineeditbox.h
+
+
+ + + + +
diff --git a/bmssettings.cpp b/bmssettings.cpp new file mode 100644 index 0000000..c9d6def --- /dev/null +++ b/bmssettings.cpp @@ -0,0 +1,646 @@ +#include "bmssettings.h" +#include "ui_bmssettings.h" + +#include "widgets/paramtable.h" +#include "widgets/parameditdouble.h" +#include "configparamsgetter.h" + +#include +#include +#include +#include + +BmsSettings::BmsSettings(QWidget *parent) : + QFrame(parent), + ui(new Ui::BmsSettings) +{ + ui->setupUi(this); + + ui->pbWriteToNonVolatileBmsMemory->hide(); + ui->pbWriteCurrentValuesToBms->hide(); + + // https://localcoder.org/set-qlineedit-to-accept-only-numbers + ui->editSerialNumber->setValidator(new QRegExpValidator(QRegExp("[1-9][0-9]*"), this)); // only numbers // leading digit must be 1 to 9 (prevents leading zeroes). + + ui->editGroupsNumber->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editCellsNumber->setValidator( new QIntValidator(-1000, 1000, this) ); + + ui->editCellsInParallelGroup->setValidator( new QIntValidator(1, 1000, this) ); + ui->editBatteryCapacity->setValidator( new QIntValidator(0, 10000, this) ); + + ui->editMaxVoltageCharge->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editMaxCircuitLoad->setValidator( new QIntValidator(-1000, 10000, this) ); + ui->editMaxTemperature->setValidator( new QIntValidator(-1000, 1000, this) ); + + ui->editMinVoltageWhenWeTurnLoadOff->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editSuchVoltageWhenWeTurnLoadOn->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editSuchVoltageWhenWeTurnChargeOn->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editMaxVoltageWhenWeTurnChargeOff->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + + ui->editVoltageBalancingStart->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editVoltageDifferenceThreshold->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editCellBalancingInterval->setValidator( new QIntValidator(-1000, 100000, this) ); + + //V + //ui->cboxUseToManageStorageDevice + //ui->cboxNormallyClosed + ui->editSocValueEdit->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + + //ui->cboxTemperatureSettingsOver + ui->editTemperatureIfLessThenCloseOver->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editTemperatureIfMoeeThenOpenOver->setValidator( new QIntValidator(-1000, 1000, this) ); + + //ui->cboxTemperatureSettingsUnder + ui->editTemperatureIfLessThenCloseUnder->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editTemperatureIfMoeeThenOpenUnder->setValidator( new QIntValidator(-1000, 1000, this) ); + + ui->editPointZeroDetectorValue->setValidator( new QDoubleValidator(-1000, 1000, 2, this) ); + + // BTNS + //ui->pbCalibrateZeroPoint + //ui->pbWriteIntoNonVolatileMemoryOfBsm + //ui->pbWriteCurrentValuesIntoBsm + + connect(ui->pbSaveBMSConfToXmlFile, &QPushButton::clicked, this, &BmsSettings::onSaveBMSConfToXmlFileClicked); + connect(ui->pbLoadBMSConfFromXmlFile, &QPushButton::clicked, this, &BmsSettings::onLoadBMSConfFromXmlFileClicked); + + + clearControlls(); +} + +BmsSettings::~BmsSettings() +{ + delete ui; +} + +// + +void BmsSettings::onBmsconfUpdateRequested() +{ + int a = 1; +} + +void BmsSettings::onBmsconfUpdateRequestDefault() +{ + int a = 1; +} + +void BmsSettings::onBmsconfUpdated() +{ + // ^ - 8 7 | 8 8 read bms conf + // After we hav red real BMS Config params from BMS we put all of them into the GUI elements + + // Load default params from Bms to GUI Elements + //-> - 7 7 | 7 8 read default 8 is defaul - that was on the start + // Загрузить настройки\nпо умолчанию + //mDieBieMS->commands()->getBMSconfDefault(); + + onLoadParams(); +} + +void BmsSettings::onBmsconfStored() +{ + int a = 1; +} + + +void BmsSettings::clearControlls() +{ + ui->editSerialNumber ->clear(); + + ui->editGroupsNumber ->clear(); + ui->editCellsNumber ->clear(); + + ui->editCellsInParallelGroup ->clear(); + ui->editBatteryCapacity ->clear(); + + ui->editMaxVoltageCharge ->clear(); + ui->editMaxCircuitLoad ->clear(); + ui->editMaxTemperature ->clear(); + + ui->editMinVoltageWhenWeTurnLoadOff ->clear(); + ui->editSuchVoltageWhenWeTurnLoadOn ->clear(); + ui->editSuchVoltageWhenWeTurnChargeOn ->clear(); + ui->editMaxVoltageWhenWeTurnChargeOff ->clear(); + + + ui->editVoltageBalancingStart ->clear(); + ui->editVoltageDifferenceThreshold ->clear(); + ui->editCellBalancingInterval ->clear(); + + //1 + ui->cboxUseToManageStorageDevice ->setChecked(false); + //2 + ui->cboxNormallyClosed ->setChecked(false); + ui->editSocValueEdit ->clear(); + //3 + ui->cboxTemperatureSettingsOver ->setChecked(false); + ui->editTemperatureIfLessThenCloseOver ->clear(); + ui->editTemperatureIfMoeeThenOpenOver ->clear(); + //4 + ui->cboxTemperatureSettingsUnder ->setChecked(false); + ui->editTemperatureIfLessThenCloseUnder ->clear(); + ui->editTemperatureIfMoeeThenOpenUnder ->clear(); + // 0 + ui->editPointZeroDetectorValue ->clear(); +} + +void BmsSettings::prepareSettersFromGuiControlsToSettingsFile() +{ + /// Setters + #define QS QString + + auto cfg = mDieBieMS->bmsConfig(); + + /// Серийный номер * //ui->editSerialNumber + connect(ui->editSerialNumber, &QLineEdit::textChanged, this, [this, cfg]() + { + QS s =ui->editSerialNumber->text(); + QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); + cfg->setParamValue("notUsedCurrentThreshold", val); + }); + + /// Конфигурация * + connect(ui->editGroupsNumber, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editGroupsNumber->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("cellMonitorICCount", val); }); + connect(ui->editCellsNumber, &QLineEdit::textChanged, this, [this, cfg]() + { + QS s =ui->editCellsNumber->text(); + QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); + cfg->setParamValue("noOfCellsSeries", val); + }); + // Конфигурация * + //addParamRow(ui->editGroupsNumber , mDieBieMS->bmsConfig(), "cellMonitorICCount"); + //addParamRow(ui->editCellsNumber , mDieBieMS->bmsConfig(), "noOfCellsSeries"); + + /// SOC * + connect(ui->editCellsInParallelGroup, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editCellsInParallelGroup->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("noOfCellsParallel", val); }); + connect(ui->editBatteryCapacity, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editBatteryCapacity->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("batteryCapacity", val); }); + // SOC * + //addParamRow(ui->editCellsInParallelGroup , mDieBieMS->bmsConfig(), "noOfCellsParallel"); + //addParamRow(ui->editBatteryCapacity , mDieBieMS->bmsConfig(), "batteryCapacity"); + + /// Ограничения * + connect(ui->editMaxVoltageCharge, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxVoltageCharge->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("maxAllowedCurrent", val); }); + connect(ui->editMaxCircuitLoad, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxCircuitLoad->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("maxMismatchThreshold", val); }); + connect(ui->editMaxTemperature, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxTemperature->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("allowedTempBattChargingMax", val); }); + // Ограничения * + //addParamRow(ui->editMaxVoltageCharge , mDieBieMS->bmsConfig(), "maxAllowedCurrent"); + //addParamRow(ui->editMaxCircuitLoad , mDieBieMS->bmsConfig(), "maxMismatchThreshold"); + //addParamRow(ui->editMaxTemperature , mDieBieMS->bmsConfig(), "allowedTempBattChargingMax"); + + /// Конфигурация ячеек * + connect(ui->editMinVoltageWhenWeTurnLoadOff, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMinVoltageWhenWeTurnLoadOff->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellHardUnderVoltage", val); }); + connect(ui->editSuchVoltageWhenWeTurnLoadOn, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editSuchVoltageWhenWeTurnLoadOn->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellHardOverVoltage", val); }); + connect(ui->editSuchVoltageWhenWeTurnChargeOn, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editSuchVoltageWhenWeTurnChargeOn->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellLCSoftUnderVoltage", val); }); + connect(ui->editMaxVoltageWhenWeTurnChargeOff, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxVoltageWhenWeTurnChargeOff->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellSoftOverVoltage", val); }); + // Конфигурация ячеек * + //addParamRow(ui->editMinVoltageWhenWeTurnLoadOff , mDieBieMS->bmsConfig(), "cellHardUnderVoltage"); + //addParamRow(ui->editSuchVoltageWhenWeTurnLoadOn , mDieBieMS->bmsConfig(), "cellHardOverVoltage"); + //addParamRow(ui->editSuchVoltageWhenWeTurnChargeOn , mDieBieMS->bmsConfig(), "cellLCSoftUnderVoltage"); + //addParamRow(ui->editMaxVoltageWhenWeTurnChargeOff , mDieBieMS->bmsConfig(), "cellSoftOverVoltage"); + + /// Конфигурация балансировки * // ui->balancingTab + connect(ui->editVoltageBalancingStart, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editVoltageBalancingStart->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellBalanceStart", val); }); + connect(ui->editVoltageDifferenceThreshold, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editVoltageDifferenceThreshold->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellBalanceDifferenceThreshold", val); }); + connect(ui->editCellBalancingInterval, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editCellBalancingInterval->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("cellBalanceUpdateInterval", val); }); + // Конфигурация балансировки * // ui->balancingTab + //addParamRow(ui->editVoltageBalancingStart , mDieBieMS->bmsConfig(), "cellBalanceStart"); + //addParamRow(ui->editVoltageDifferenceThreshold , mDieBieMS->bmsConfig(), "cellBalanceDifferenceThreshold"); + //addParamRow(ui->editCellBalancingInterval , mDieBieMS->bmsConfig(), "cellBalanceUpdateInterval"); + + /// Калибровать Нулевую точку * // ui->signalsTab + connect(ui->editPointZeroDetectorValue, &QLineEdit::textChanged, this, [this, cfg]() + { + QS s =ui->editPointZeroDetectorValue->text(); + QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); + cfg->setParamValue("shuntLCFactor", val); + }); + // Нулевая точка * // ui->signalsTab + //addParamRow(ui->editPointZeroDetectorValue , mDieBieMS->bmsConfig(), "shuntLCFactor"); +} + +void BmsSettings::onLoadParams() +{ + //// + + // Серийный номер * //ui->editSerialNumber + getSerialNumber(ui->editSerialNumber , mDieBieMS->bmsConfig(), "notUsedCurrentThreshold"); + // Конфигурация * + addParamRow(ui->editGroupsNumber , mDieBieMS->bmsConfig(), "cellMonitorICCount"); + addParamRow(ui->editCellsNumber , mDieBieMS->bmsConfig(), "noOfCellsSeries"); + // SOC * + addParamRow(ui->editCellsInParallelGroup , mDieBieMS->bmsConfig(), "noOfCellsParallel"); + addParamRow(ui->editBatteryCapacity , mDieBieMS->bmsConfig(), "batteryCapacity"); + // Ограничения * + addParamRow(ui->editMaxVoltageCharge , mDieBieMS->bmsConfig(), "maxAllowedCurrent"); + addParamRow(ui->editMaxCircuitLoad , mDieBieMS->bmsConfig(), "maxMismatchThreshold"); + addParamRow(ui->editMaxTemperature , mDieBieMS->bmsConfig(), "allowedTempBattChargingMax"); + // Конфигурация ячеек * + addParamRow(ui->editMinVoltageWhenWeTurnLoadOff , mDieBieMS->bmsConfig(), "cellHardUnderVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnLoadOn , mDieBieMS->bmsConfig(), "cellHardOverVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnChargeOn , mDieBieMS->bmsConfig(), "cellLCSoftUnderVoltage"); + addParamRow(ui->editMaxVoltageWhenWeTurnChargeOff , mDieBieMS->bmsConfig(), "cellSoftOverVoltage"); + // Конфигурация балансировки * + // ui->balancingTab + addParamRow(ui->editVoltageBalancingStart , mDieBieMS->bmsConfig(), "cellBalanceStart"); + addParamRow(ui->editVoltageDifferenceThreshold , mDieBieMS->bmsConfig(), "cellBalanceDifferenceThreshold"); + addParamRow(ui->editCellBalancingInterval , mDieBieMS->bmsConfig(), "cellBalanceUpdateInterval"); + // Нулевая точка * + // ui->signalsTab + addParamRow(ui->editPointZeroDetectorValue , mDieBieMS->bmsConfig(), "shuntLCFactor"); + ////*/ + + // Turn ON Setters only AFTER we load all data from file + + prepareSettersFromGuiControlsToSettingsFile(); + + // Turn ON Setters only AFTER we load all data from file + + + /* + + Cell balance start voltage + + cellMonitorICCount -> + noOfCellsSeries -> + -- + noOfCellsParallel -> + + Battery capacity total + -- + + Mismatch threshold + + Max allowed current + + Battery temperature charging max + -- + + Cell hard undervoltage + + Cell hard overvoltage + + Cell low current soft undervoltage + + Cell soft overvoltage + -- + */ + + +/* +#if 0 + ConfigParam *p = mDieBieMS->infoConfig()->getParam("master_setting_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Master Setting Description not found."); + } +#endif + ConfigParams *const conf = mDieBieMS->bmsConfig(); + ///ParamTable *const pt = new ParamTable(this); //ui->masterStateTab; + ///pt->addRowSeparator(tr("Current")); + // Нулевая точка + addParamRow(ui->editPointZeroDetectorValue , mDieBieMS->bmsConfig(), "shuntLCFactor"); + //pt->addParamRow(conf, "shuntLCFactor"); + ////pt->addParamRow(conf, "shuntOffset"); + + ///pt->addRowSeparator(tr("Pack configuration")); +#if 0 // disable + pt->addParamRow(conf, "cellMonitorICType"); +#endif + // Конфигурация + addParamRow(ui->editGroupsNumber , mDieBieMS->bmsConfig(), "cellMonitorICCount"); + addParamRow(ui->editCellsNumber , mDieBieMS->bmsConfig(), "noOfCellsSeries"); + //pt->addParamRow(conf, "cellMonitorICCount"); + ///pt->addParamRow(conf, "noOfParallelModules"); + //pt->addParamRow(conf, "noOfCellsSeries"); + + ///pt->addRowSeparator(tr("SOC - Pack capacity")); + //pt->addParamRow(conf, "noOfCellsParallel"); + //pt->addParamRow(conf, "batteryCapacity"); + // SOC + addParamRow(ui->editCellsInParallelGroup , mDieBieMS->bmsConfig(), "noOfCellsParallel"); + addParamRow(ui->editBatteryCapacity , mDieBieMS->bmsConfig(), "batteryCapacity"); + + ///pt->addRowSeparator(tr("Cell specifications")); + //pt->addParamRow(conf, "cellHardUnderVoltage"); + //pt->addParamRow(conf, "cellHardOverVoltage"); + //pt->addParamRow(conf, "cellLCSoftUnderVoltage"); + //pt->addParamRow(conf, "cellSoftOverVoltage"); + // Конфигурация ячеек + addParamRow(ui->editMinVoltageWhenWeTurnLoadOff , mDieBieMS->bmsConfig(), "cellHardUnderVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnLoadOn , mDieBieMS->bmsConfig(), "cellHardOverVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnChargeOn , mDieBieMS->bmsConfig(), "cellLCSoftUnderVoltage"); + addParamRow(ui->editMaxVoltageWhenWeTurnChargeOff , mDieBieMS->bmsConfig(), "cellSoftOverVoltage"); + + ///pt->addRowSeparator(tr("Balancing configuration")); + //pt->addParamRow(conf, "cellBalanceStart"); + //pt->addParamRow(conf, "cellBalanceDifferenceThreshold"); + //pt->addParamRow(conf, "cellBalanceUpdateInterval"); + // Конфигурация балансировки + // ui->balancingTab + addParamRow(ui->editVoltageBalancingStart , mDieBieMS->bmsConfig(), "cellBalanceStart"); + addParamRow(ui->editVoltageDifferenceThreshold , mDieBieMS->bmsConfig(), "cellBalanceDifferenceThreshold"); + addParamRow(ui->editCellBalancingInterval , mDieBieMS->bmsConfig(), "cellBalanceUpdateInterval"); + + ///pt->addRowSeparator(tr("SoC general")); +#if 0 // disable + pt->addParamRow(conf, "stateOfChargeStoreInterval"); + pt->addParamRow(conf, "timeoutChargeCompleted"); + pt->addParamRow(conf, "timeoutChargingCompletedMinimalMismatch"); +#endif + ///pt->addParamRow(conf, "minimalPrechargePercentage"); // from pagemastersettings.cpp + ///pt->addParamRow(conf, "timeoutLCPreCharge"); // from pagemastersettings.cpp + + ///pt->addRowSeparator(tr("Limits")); + //pt->addParamRow(conf, "maxMismatchThreshold"); + //pt->addParamRow(conf, "maxAllowedCurrent"); + // Ограничения + addParamRow(ui->editMaxVoltageCharge , mDieBieMS->bmsConfig(), "maxAllowedCurrent"); + addParamRow(ui->editMaxCircuitLoad , mDieBieMS->bmsConfig(), "maxMismatchThreshold"); + addParamRow(ui->editMaxTemperature , mDieBieMS->bmsConfig(), "allowedTempBattChargingMax"); + +#if 0 + pt->addParamRow(conf, "allowedTempBattDischargingMax"); + pt->addParamRow(conf, "allowedTempBattDischargingMin"); +#endif + //pt->addParamRow(conf, "allowedTempBattChargingMax"); + ///pt->addParamRow(conf, "allowedTempBattChargingMin"); +#if 0 // disable + ///pt->addRowSeparator(tr("NTC specifications battery")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerModule"); + pt->addParamRow(mDieBieMS->bmsConfig(), "NTCLTC25Deg"); + ///pt->addRowSeparator(tr("NTC specifications expansion Board")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfExpansionBoard"); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerExpansionBoard"); +#endif +*/ + +} + + +BMSInterface *BmsSettings::bms() const +{ + return mDieBieMS; +} + +void BmsSettings::setDieBieMS(BMSInterface *dieBieMS) +{ // void PageMasterSettings::setDieBieMS(BMSInterface *dieBieMS) + + mDieBieMS = dieBieMS; + + //pt = new ParamTable(this); //ui->masterStateTab; + + //onLoadParams(); + +/* + if (mDieBieMS) { +#if 0 + ConfigParam *p = mDieBieMS->infoConfig()->getParam("master_setting_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Master Setting Description not found."); + } +#endif + ConfigParams *const conf = mDieBieMS->bmsConfig(); + ParamTable *const pt = new ParamTable(this); //ui->masterStateTab; + pt->addRowSeparator(tr("Current")); + pt->addParamRow(conf, "shuntLCFactor"); + pt->addParamRow(conf, "shuntOffset"); + + pt->addRowSeparator(tr("Pack configuration")); +#if 0 // disable + pt->addParamRow(conf, "cellMonitorICType"); +#endif + pt->addParamRow(conf, "cellMonitorICCount"); + pt->addParamRow(conf, "noOfParallelModules"); + pt->addParamRow(conf, "noOfCellsSeries"); + + pt->addRowSeparator(tr("SOC - Pack capacity")); + pt->addParamRow(conf, "noOfCellsParallel"); + pt->addParamRow(conf, "batteryCapacity"); + + pt->addRowSeparator(tr("Cell specifications")); + pt->addParamRow(conf, "cellHardUnderVoltage"); + pt->addParamRow(conf, "cellHardOverVoltage"); + pt->addParamRow(conf, "cellLCSoftUnderVoltage"); + pt->addParamRow(conf, "cellSoftOverVoltage"); + + pt->addRowSeparator(tr("Balancing configuration")); + pt->addParamRow(conf, "cellBalanceStart"); + pt->addParamRow(conf, "cellBalanceDifferenceThreshold"); + pt->addParamRow(conf, "cellBalanceUpdateInterval"); + + pt->addRowSeparator(tr("SoC general")); +#if 0 // disable + pt->addParamRow(conf, "stateOfChargeStoreInterval"); + pt->addParamRow(conf, "timeoutChargeCompleted"); + pt->addParamRow(conf, "timeoutChargingCompletedMinimalMismatch"); +#endif + pt->addParamRow(conf, "minimalPrechargePercentage"); // from pagemastersettings.cpp + pt->addParamRow(conf, "timeoutLCPreCharge"); // from pagemastersettings.cpp + + pt->addRowSeparator(tr("Limits")); + pt->addParamRow(conf, "maxMismatchThreshold"); + pt->addParamRow(conf, "maxAllowedCurrent"); +#if 0 + pt->addParamRow(conf, "allowedTempBattDischargingMax"); + pt->addParamRow(conf, "allowedTempBattDischargingMin"); +#endif + pt->addParamRow(conf, "allowedTempBattChargingMax"); + pt->addParamRow(conf, "allowedTempBattChargingMin"); + +#if 0 // disable + pt->addRowSeparator(tr("NTC specifications battery")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerModule"); + pt->addParamRow(mDieBieMS->bmsConfig(), "NTCLTC25Deg"); + pt->addRowSeparator(tr("NTC specifications expansion Board")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfExpansionBoard"); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerExpansionBoard"); +#endif + } +*/ + +} + + +/* +bool BmsSettings::addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + + if (editor) { + //int row = rowCount(); + //setRowCount(row + 1); + //QTableWidgetItem *item = new QTableWidgetItem(name); + //item->setFlags(item->flags() & ~Qt::ItemIsEditable); + //setItem(row, 0, item); + //setCellWidget(row, 1, editor); + //edit->setText(editor->); + + auto vtype = editor->property("type"); + auto type = vtype.toInt(); + //CFG_T_UNDEFINED = 0, + if(type == 1) // CFG_T_DOUBLE, + { + auto vval = editor->property("value"); + auto val = vval.toDouble(); + edit->setText(QString::number(val)); + } + else if(type == 2) // CFG_T_INT, + { + auto vval = editor->property("value"); + auto val = vval.toInt(); + edit->setText(QString::number(val)); + } + else if(type == 3) // CFG_T_QSTRING, + { + auto vval = editor->property("value"); + auto val = vval.toString(); + edit->setText(val); + } + else if(type == 4) // CFG_T_ENUM, + { + auto vval = editor->property("value"); + auto val = vval.toInt(); + edit->setText(QString::number(val)); + } + else if(type == 5) // CFG_T_BOOL + { + auto vval = editor->property("value"); + auto val = vval.toBool(); + edit->setText(val ? "true" : "false"); + } + + auto vsuffix = editor->property("suffix"); + auto suffix = vsuffix.toString(); + auto veditorDecimalsDouble = editor->property("editorDecimalsDouble"); + auto editorDecimalsDouble = veditorDecimalsDouble.toDouble(); + auto veditAsPercentage = editor->property("editAsPercentage"); + auto editAsPercentage = veditAsPercentage.toBool(); + + res = true; + //resizeColumnToContents(0); + //resizeRowsToContents(); + } + + return res; +} +*/ + + +void BmsSettings::on_pbCalibrateZeroPoint_clicked() +{ + // setZeroCurrent to Terminal + //emit sendMessage("setZeroCurrent"); + + if ( mDieBieMS == nullptr ) { + return; + } + + if ( !mDieBieMS->isPortConnected() ) { + QMessageBox::critical(this, + tr("Connection Error"), + tr("The ENNOID-BMS is not connected. Please connect it.")); + return; + } + + mDieBieMS->commands()->sendTerminalCmd("setZeroCurrent"); + QTimer::singleShot(1000, [this](){ + this->mDieBieMS->commands()->sendTerminalCmd("config_write"); + }); + +} +/* +void BmsSettings::on_pbWriteIntoNonVolatileMemoryOfBsm_clicked() +{ + +} + +void BmsSettings::on_pbWriteCurrentValuesIntoBsm_clicked() +{ +} +*/ +void BmsSettings::on_pbWriteToNonVolatileBmsMemory_clicked() +{ + // Записать в энергонезависимую\nпамять BMS + // actionStoreBMScconf + mDieBieMS->commands()->storeBMSConfig(); +} + +void BmsSettings::on_pbWriteCurrentValuesToBms_clicked() +{ + // Записать текущие значения в BMS + // actionWriteBMScconf + mDieBieMS->commands()->setBMSconf(); +} + + +void BmsSettings::onSaveBMSConfToXmlFileClicked() +{ + QString path; + path = QFileDialog::getSaveFileName(this, + tr("Choose where to save the motor configuration XML file"), + ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + if (!path.toLower().endsWith(".xml")) { + path += ".xml"; + } + + bool res = mDieBieMS->bmsConfig()->saveXml(path, "bmsConfiguration"); + + if (res) { + emit showStatusInfo("Saved motor configuration", true); + } else { + emit showMessageDialog(tr("Save motor configuration"), + tr("Could not save motor configuration:
" + "%1").arg(mDieBieMS->bmsConfig()->xmlStatus()), + false, false); + } +} + + +void BmsSettings::onLoadBMSConfFromXmlFileClicked() +{ + QString path; + path = QFileDialog::getOpenFileName(this, + tr("Choose motor configuration file to load"), + ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + bool res = mDieBieMS->bmsConfig()->loadXml(path, "bmsConfiguration"); + + if (res) { + emit showStatusInfo("Loaded motor configuration", true); + } else { + emit showMessageDialog(tr("Load motor configuration"), + tr("Could not load motor configuration:
" + "%1").arg(mDieBieMS->bmsConfig()->xmlStatus()), + false, false); + } +} diff --git a/bmssettings.h b/bmssettings.h new file mode 100644 index 0000000..ab43437 --- /dev/null +++ b/bmssettings.h @@ -0,0 +1,89 @@ +#ifndef BWINDOWWITHLEFTTABSBAR_H +#define BWINDOWWITHLEFTTABSBAR_H +// void PageMasterSettings +// Test: Cell groups in Series 10 -> 9 // Записать текущ. в БМС + +#include +#include + +#include "bmsinterface.h" + +namespace Ui { +class BmsSettings; +} + +class ParamTable; + +class BmsSettings : public QFrame +{ + Q_OBJECT + +public: + explicit BmsSettings(QWidget *parent = nullptr); + ~BmsSettings(); + + void clearControlls(); + void prepareSettersFromGuiControlsToSettingsFile(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + + //bool addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName); + +signals: + void sendMessage(QString message); + void showStatusInfo(QString info, bool isGood); + void showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText); + +public slots: + void onLoadParams(); + + void onBmsconfUpdateRequested(); + void onBmsconfUpdateRequestDefault(); + void onBmsconfUpdated(); + void onBmsconfStored(); + +private slots: + void on_pbCalibrateZeroPoint_clicked(); + //void on_pbWriteIntoNonVolatileMemoryOfBsm_clicked(); + //void on_pbWriteCurrentValuesIntoBsm_clicked(); + void on_pbWriteToNonVolatileBmsMemory_clicked(); + void on_pbWriteCurrentValuesToBms_clicked(); + + void onSaveBMSConfToXmlFileClicked(); + void onLoadBMSConfFromXmlFileClicked(); + +private: + Ui::BmsSettings *ui; + + BMSInterface *mDieBieMS = nullptr; + + //ParamTable * pt; // = new ParamTable(this); //ui->masterStateTab; +}; + +#endif // BH + +/* + + Not used current threshold + 1 + 1 + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> +<html><head><meta name="qrichtext" content="1" /><style type="text/css"> +p, li { white-space: pre-wrap; } +</style></head><body style=" font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;"> +<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">When the battery current goes below this "Not used battery current threshold" value, the "Not used timeout" timer starts.&quot; </p></body></html> + NOT_USED_CURRENT_THRESHOLD + 2 + 1 + 0 + 10 + 0 + 0 + 0.1 + 0.5 + 100000 + A + 9 + +*/ diff --git a/bmssettings.ui b/bmssettings.ui new file mode 100644 index 0000000..75d4493 --- /dev/null +++ b/bmssettings.ui @@ -0,0 +1,2201 @@ + + + BmsSettings + + + + 0 + 0 + 715 + 3410 + + + + + 0 + 0 + + + + + 715 + 3410 + + + + Form + + + /*#f7f8fc;*/ + +/*QFrame#BmsSettings +{ + background-color: red; +} +*/ + +/* This Does NOT Work here Must be Set in Parent Widget +QGroupBox#gbSerialNumber, +QGroupBox#gbConfiguration, +QGroupBox#gbSoc, +QGroupBox#gbRestrictions, +QGroupBox#gbCellsConfiguration, +QGroupBox#gbBalancingConfiguration, +QGroupBox#gbOutputsSettings, +QGroupBox#gbZeroPoint { + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} +*/ + + + + + + + + + 30 + 30 + 351 + 41 + + + + + 26 + 75 + true + + + + Настройка BMS + + + + + + 29 + 90 + 671 + 131 + + + + + + + + + + + + 30 + 40 + 331 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Серийный номер + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + true + + + + 360 + 40 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 240 + 671 + 231 + + + + + + + + + 360 + 140 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 8 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Конфигурация + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 140 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 1 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 90 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Количество плат + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 90 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Количество ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 490 + 671 + 261 + + + + + + + + + 360 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Ёмкость +батареи + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 601 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + SOC + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 144 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Количество параллельно +включённых ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 2 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 770 + 671 + 361 + + + + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Ограничения + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 80 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 100 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Максимальный ток нагрузки, А + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 100 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Максимальный ток заряда, А + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 600 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 220 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Максимальная температура, С + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 270 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 80 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 1150 + 671 + 411 + + + + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Конфигурация ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 170 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 2,5 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 100 + 281 + 71 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Верхний порог +отключения, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Напряжение включения +нагрузки, V + + + + + + 30 + 100 + 281 + 71 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Нижний порог +отключения, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Минимальное напряжение +(отключение нагрузки), V + + + + + + 360 + 170 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 2,75 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 250 + 281 + 71 + + + + + Segoe WP SemiLight + 11 + 75 + true + false + false + + + + font-weight:bold; + + + Нижний порог включения +(должен быть выше отключения), V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Напряжение включения +заряда, V + + + + + + 30 + 320 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 3,4 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 250 + 281 + 71 + + + + + Segoe WP SemiLight + 10 + 75 + true + false + false + + + + font-weight:bold; + + + Нижний порог включения +(должен быть выше отключения), V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Максимальное напряжение +(отключение заряда), V + + + + + + 360 + 320 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 3,6 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 1580 + 671 + 381 + + + + + + + + + 360 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Дельта напряжения ячеек для +старта балансировки, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Конфигурация балансировки + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 0,06 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Напряжение старта +балансировки, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 3,0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 290 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 4000 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 230 + 611 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Интервал балансировки +ячейки, мс + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 1980 + 671 + 961 + + + + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Настройка выходов + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 290 + 611 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Изменение значения при SOC + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 350 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 0,06 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 610 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 5 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 610 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 10 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 550 + 281 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Замыкается при t<, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 550 + 281 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Размыкается при t>, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 870 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 50 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 870 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 30 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 810 + 311 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Замыкается при t<, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 810 + 281 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Размыкается при t>, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 180 + 611 + 1 + + + + background-color:lightgrey; + + + + + + + + + 30 + 440 + 611 + 1 + + + + background-color:lightgrey; + + + + + + + + + 30 + 700 + 611 + 1 + + + + background-color:lightgrey; + + + + + + + + + 30 + 740 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 4 + + + Qt::AlignCenter + + + + + + 30 + 470 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 3 + + + Qt::AlignCenter + + + + + + 30 + 210 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 2 + + + Qt::AlignCenter + + + + + + 30 + 100 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 1 + + + Qt::AlignCenter + + + + + + 110 + 100 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + Использовать для управления ЗУ + + + true + + + + + + 110 + 210 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + Нормально замкнут + + + + + + 110 + 470 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + + + + true + + + + + + 110 + 740 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + + + + true + + + + + + + 30 + 2960 + 671 + 241 + + + + + + + + + 30 + 20 + 321 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Значение датчика тока «0» + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 70 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 1,451 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 201 + 61 + + + + QPushButton#pbCalibrateZeroPoint +{ + color:white; + background-color:#009352; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbCalibrateZeroPoint:hover:pressed +{ + background-color:#01673a; +} + + + + + Калибровать «0» + + + + + + 270 + 150 + 391 + 61 + + + + /* +QPushButton#pbWriteIntoNonVolatileMemoryOfBsm +{ + color:black; + background-color:#f7f8fc; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteIntoNonVolatileMemoryOfBsm:hover:pressed +{ + background-color:lightgrey; +} +*/ + +QPushButton#pbWriteToNonVolatileBmsMemory +{ + background-color:#009352; + color:white; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteToNonVolatileBmsMemory:hover:pressed +{ + background-color:#01673a; +} + +QPushButton#pbWriteToNonVolatileBmsMemory:hover:!pressed +{ +/* background-color: #01673a;*/ +} + + + + + + Записать в энергонезависимую память BMS + + + + + + + 370 + 3030 + 321 + 61 + + + + /* +QPushButton#pbWriteCurrentValuesIntoBsm +{ + color:white; + background-color:#009352; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteCurrentValuesIntoBsm:hover:pressed +{ + background-color:#01673a; +} +*/ + + +QPushButton#pbWriteCurrentValuesToBms +{ + color:black; + background-color: #f7f8fc; /* white;*/ + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteCurrentValuesToBms:hover:pressed +{ + background-color:lightgrey; +} + +QPushButton#pbWriteCurrentValuesToBms:hover:!pressed +{ +/* background-color: #0FF73a;*/ +} + + + + + Записать текущие значения в BMS + + + + + + 60 + 3230 + 321 + 61 + + + + +QPushButton#pbLoadBMSConfFromXmlFile +{ + color:black; + background-color: #f7f8fc; /* white;*/ + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbLoadBMSConfFromXmlFile:hover:pressed +{ + background-color:lightgrey; +} + + + + Загрузить настройки из файла + + + + + + 60 + 3320 + 321 + 61 + + + + +QPushButton#pbSaveBMSConfToXmlFile +{ + color:black; + background-color: #f7f8fc; /* white;*/ + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbSaveBMSConfToXmlFile:hover:pressed +{ + background-color:lightgrey; +} + + + + Сохранить настройки в файл + + + + + + diff --git a/bmssettingswidget.cpp b/bmssettingswidget.cpp new file mode 100644 index 0000000..489e399 --- /dev/null +++ b/bmssettingswidget.cpp @@ -0,0 +1,572 @@ +#include "bmssettingswidget.h" +#include "ui_bmssettingswidget.h" + +#include "widgets/paramtable.h" +#include "widgets/parameditdouble.h" +#include "configparamsgetter.h" + +#include +#include + +BmsSettingsWidget::BmsSettingsWidget(QWidget *parent) : + QFrame(parent), + ui(new Ui::BmsSettingsWidget) +{ + ui->setupUi(this); + + ui->pbWriteToNonVolatileBmsMemory->hide(); + ui->pbWriteCurrentValuesToBms->hide(); + + //ui->editSerialNumber + + ui->editGroupsNumber->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editCellsNumber->setValidator( new QIntValidator(-1000, 1000, this) ); + + ui->editCellsInParallelGroup->setValidator( new QIntValidator(1, 1000, this) ); + ui->editBatteryCapacity->setValidator( new QIntValidator(0, 10000, this) ); + + ui->editMaxVoltageCharge->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editMaxCircuitLoad->setValidator( new QIntValidator(-1000, 10000, this) ); + ui->editMaxTemperature->setValidator( new QIntValidator(-1000, 1000, this) ); + + ui->editMinVoltageWhenWeTurnLoadOff->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editSuchVoltageWhenWeTurnLoadOn->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editSuchVoltageWhenWeTurnChargeOn->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editMaxVoltageWhenWeTurnChargeOff->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + + ui->editVoltageBalancingStart->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editVoltageDifferenceThreshold->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + ui->editCellBalancingInterval->setValidator( new QIntValidator(-1000, 100000, this) ); + + //V + //ui->cboxUseToManageStorageDevice + //ui->cboxNormallyClosed + ui->editSocValueEdit->setValidator( new QDoubleValidator(-100, 100, 2, this) ); + + //ui->cboxTemperatureSettingsOver + ui->editTemperatureIfLessThenCloseOver->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editTemperatureIfMoeeThenOpenOver->setValidator( new QIntValidator(-1000, 1000, this) ); + + //ui->cboxTemperatureSettingsUnder + ui->editTemperatureIfLessThenCloseUnder->setValidator( new QIntValidator(-1000, 1000, this) ); + ui->editTemperatureIfMoeeThenOpenUnder->setValidator( new QIntValidator(-1000, 1000, this) ); + + ui->editPointZeroDetectorValue->setValidator( new QDoubleValidator(-1000, 1000, 2, this) ); + + // BTNS + //ui->pbCalibrateZeroPoint + //ui->pbWriteIntoNonVolatileMemoryOfBsm + //ui->pbWriteCurrentValuesIntoBsm + + clearControlls(); +} + +BmsSettingsWidget::~BmsSettingsWidget() +{ + delete ui; +} + +// + +void BmsSettingsWidget::onBmsconfUpdateRequested() +{ + int a = 1; +} + +void BmsSettingsWidget::onBmsconfUpdateRequestDefault() +{ + int a = 1; +} + +void BmsSettingsWidget::onBmsconfUpdated() +{ + // ^ - 8 7 | 8 8 read bms conf + // After we hav red real BMS Config params from BMS we put all of them into the GUI elements + + // Load default params from Bms to GUI Elements + //-> - 7 7 | 7 8 read default 8 is defaul - that was on the start + // Загрузить настройки\nпо умолчанию + //mDieBieMS->commands()->getBMSconfDefault(); + + onLoadParams(); +} + +void BmsSettingsWidget::onBmsconfStored() +{ + int a = 1; +} + + +void BmsSettingsWidget::clearControlls() +{ + ui->editGroupsNumber ->clear(); + ui->editCellsNumber ->clear(); + + ui->editCellsInParallelGroup ->clear(); + ui->editBatteryCapacity ->clear(); + + ui->editMaxVoltageCharge ->clear(); + ui->editMaxCircuitLoad ->clear(); + ui->editMaxTemperature ->clear(); + + ui->editMinVoltageWhenWeTurnLoadOff ->clear(); + ui->editSuchVoltageWhenWeTurnLoadOn ->clear(); + ui->editSuchVoltageWhenWeTurnChargeOn ->clear(); + ui->editMaxVoltageWhenWeTurnChargeOff ->clear(); + + + ui->editVoltageBalancingStart ->clear(); + ui->editVoltageDifferenceThreshold ->clear(); + ui->editCellBalancingInterval ->clear(); + + //1 + ui->cboxUseToManageStorageDevice ->setChecked(false); + //2 + ui->cboxNormallyClosed ->setChecked(false); + ui->editSocValueEdit ->clear(); + //3 + ui->cboxTemperatureSettingsOver ->setChecked(false); + ui->editTemperatureIfLessThenCloseOver ->clear(); + ui->editTemperatureIfMoeeThenOpenOver ->clear(); + //4 + ui->cboxTemperatureSettingsUnder ->setChecked(false); + ui->editTemperatureIfLessThenCloseUnder ->clear(); + ui->editTemperatureIfMoeeThenOpenUnder ->clear(); + // 0 + ui->editPointZeroDetectorValue ->clear(); +} + +void BmsSettingsWidget::prepareSettersFromGuiControlsToSettingsFile() +{ + /// Setters + #define QS QString + + auto cfg = mDieBieMS->bmsConfig(); + + /// Конфигурация * + connect(ui->editGroupsNumber, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editGroupsNumber->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("cellMonitorICCount", val); }); + connect(ui->editCellsNumber, &QLineEdit::textChanged, this, [this, cfg]() + { + QS s =ui->editCellsNumber->text(); + QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); + cfg->setParamValue("noOfCellsSeries", val); + }); + // Конфигурация * + //addParamRow(ui->editGroupsNumber , mDieBieMS->bmsConfig(), "cellMonitorICCount"); + //addParamRow(ui->editCellsNumber , mDieBieMS->bmsConfig(), "noOfCellsSeries"); + + /// SOC * + connect(ui->editCellsInParallelGroup, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editCellsInParallelGroup->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("noOfCellsParallel", val); }); + connect(ui->editBatteryCapacity, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editBatteryCapacity->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("batteryCapacity", val); }); + // SOC * + //addParamRow(ui->editCellsInParallelGroup , mDieBieMS->bmsConfig(), "noOfCellsParallel"); + //addParamRow(ui->editBatteryCapacity , mDieBieMS->bmsConfig(), "batteryCapacity"); + + /// Ограничения * + connect(ui->editMaxVoltageCharge, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxVoltageCharge->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("maxAllowedCurrent", val); }); + connect(ui->editMaxCircuitLoad, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxCircuitLoad->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("maxMismatchThreshold", val); }); + connect(ui->editMaxTemperature, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxTemperature->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("allowedTempBattChargingMax", val); }); + // Ограничения * + //addParamRow(ui->editMaxVoltageCharge , mDieBieMS->bmsConfig(), "maxAllowedCurrent"); + //addParamRow(ui->editMaxCircuitLoad , mDieBieMS->bmsConfig(), "maxMismatchThreshold"); + //addParamRow(ui->editMaxTemperature , mDieBieMS->bmsConfig(), "allowedTempBattChargingMax"); + + /// Конфигурация ячеек * + connect(ui->editMinVoltageWhenWeTurnLoadOff, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMinVoltageWhenWeTurnLoadOff->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellHardUnderVoltage", val); }); + connect(ui->editSuchVoltageWhenWeTurnLoadOn, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editSuchVoltageWhenWeTurnLoadOn->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellHardOverVoltage", val); }); + connect(ui->editSuchVoltageWhenWeTurnChargeOn, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editSuchVoltageWhenWeTurnChargeOn->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellLCSoftUnderVoltage", val); }); + connect(ui->editMaxVoltageWhenWeTurnChargeOff, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editMaxVoltageWhenWeTurnChargeOff->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellSoftOverVoltage", val); }); + // Конфигурация ячеек * + //addParamRow(ui->editMinVoltageWhenWeTurnLoadOff , mDieBieMS->bmsConfig(), "cellHardUnderVoltage"); + //addParamRow(ui->editSuchVoltageWhenWeTurnLoadOn , mDieBieMS->bmsConfig(), "cellHardOverVoltage"); + //addParamRow(ui->editSuchVoltageWhenWeTurnChargeOn , mDieBieMS->bmsConfig(), "cellLCSoftUnderVoltage"); + //addParamRow(ui->editMaxVoltageWhenWeTurnChargeOff , mDieBieMS->bmsConfig(), "cellSoftOverVoltage"); + + /// Конфигурация балансировки * // ui->balancingTab + connect(ui->editVoltageBalancingStart, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editVoltageBalancingStart->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellBalanceStart", val); }); + connect(ui->editVoltageDifferenceThreshold, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editVoltageDifferenceThreshold->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); cfg->setParamValue("cellBalanceDifferenceThreshold", val); }); + connect(ui->editCellBalancingInterval, &QLineEdit::textChanged, this, [this, cfg]() + { QS s =ui->editCellBalancingInterval->text(); QVariant val((s.isEmpty() || s=="-") ? 0 : s.toInt()); cfg->setParamValue("cellBalanceUpdateInterval", val); }); + // Конфигурация балансировки * // ui->balancingTab + //addParamRow(ui->editVoltageBalancingStart , mDieBieMS->bmsConfig(), "cellBalanceStart"); + //addParamRow(ui->editVoltageDifferenceThreshold , mDieBieMS->bmsConfig(), "cellBalanceDifferenceThreshold"); + //addParamRow(ui->editCellBalancingInterval , mDieBieMS->bmsConfig(), "cellBalanceUpdateInterval"); + + /// Калибровать Нулевую точку * // ui->signalsTab + connect(ui->editPointZeroDetectorValue, &QLineEdit::textChanged, this, [this, cfg]() + { + QS s =ui->editPointZeroDetectorValue->text(); + QVariant val((s.isEmpty() || s=="-") ? 0 : s.toDouble()); + cfg->setParamValue("shuntLCFactor", val); + }); + // Нулевая точка * // ui->signalsTab + //addParamRow(ui->editPointZeroDetectorValue , mDieBieMS->bmsConfig(), "shuntLCFactor"); +} + +void BmsSettingsWidget::onLoadParams() +{ + //// + auto cfg = mDieBieMS->bmsConfig(); + // Конфигурация * + addParamRow(ui->editGroupsNumber , cfg, "cellMonitorICCount"); + addParamRow(ui->editCellsNumber , cfg, "noOfCellsSeries"); + // SOC * + addParamRow(ui->editCellsInParallelGroup , cfg, "noOfCellsParallel"); + addParamRow(ui->editBatteryCapacity , cfg, "batteryCapacity"); + // Ограничения * + addParamRow(ui->editMaxVoltageCharge , cfg, "maxAllowedCurrent"); + addParamRow(ui->editMaxCircuitLoad , cfg, "maxMismatchThreshold"); + addParamRow(ui->editMaxTemperature , cfg, "allowedTempBattChargingMax"); + // Конфигурация ячеек * + addParamRow(ui->editMinVoltageWhenWeTurnLoadOff , cfg, "cellHardUnderVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnLoadOn , cfg, "cellHardOverVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnChargeOn , cfg, "cellLCSoftUnderVoltage"); + addParamRow(ui->editMaxVoltageWhenWeTurnChargeOff , cfg, "cellSoftOverVoltage"); + // Конфигурация балансировки * + // ui->balancingTab + addParamRow(ui->editVoltageBalancingStart , cfg, "cellBalanceStart"); + addParamRow(ui->editVoltageDifferenceThreshold , cfg, "cellBalanceDifferenceThreshold"); + addParamRow(ui->editCellBalancingInterval , cfg, "cellBalanceUpdateInterval"); + // Нулевая точка * + // ui->signalsTab + addParamRow(ui->editPointZeroDetectorValue , cfg, "shuntLCFactor"); + ////*/ + + // Turn ON Setters only ONCE AFTER we load all data from file and when First connection is Ready + if(mDoConnectGettersOnStart) + { + // Выполнили все коннекты при первом старте и более не вызываем + qDebug() << "::prepareSettersFromGuiControlsToSettingsFile();"; + prepareSettersFromGuiControlsToSettingsFile(); + mDoConnectGettersOnStart = false; + } + + // Turn ON Setters only ONCE AFTER we load all data from file and when First connection is Ready + + + /* + + Cell balance start voltage + + cellMonitorICCount -> + noOfCellsSeries -> + -- + noOfCellsParallel -> + + Battery capacity total + -- + + Mismatch threshold + + Max allowed current + + Battery temperature charging max + -- + + Cell hard undervoltage + + Cell hard overvoltage + + Cell low current soft undervoltage + + Cell soft overvoltage + -- + */ + + +/* +#if 0 + ConfigParam *p = mDieBieMS->infoConfig()->getParam("master_setting_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Master Setting Description not found."); + } +#endif + ConfigParams *const conf = mDieBieMS->bmsConfig(); + ///ParamTable *const pt = new ParamTable(this); //ui->masterStateTab; + ///pt->addRowSeparator(tr("Current")); + // Нулевая точка + addParamRow(ui->editPointZeroDetectorValue , mDieBieMS->bmsConfig(), "shuntLCFactor"); + //pt->addParamRow(conf, "shuntLCFactor"); + ////pt->addParamRow(conf, "shuntOffset"); + + ///pt->addRowSeparator(tr("Pack configuration")); +#if 0 // disable + pt->addParamRow(conf, "cellMonitorICType"); +#endif + // Конфигурация + addParamRow(ui->editGroupsNumber , mDieBieMS->bmsConfig(), "cellMonitorICCount"); + addParamRow(ui->editCellsNumber , mDieBieMS->bmsConfig(), "noOfCellsSeries"); + //pt->addParamRow(conf, "cellMonitorICCount"); + ///pt->addParamRow(conf, "noOfParallelModules"); + //pt->addParamRow(conf, "noOfCellsSeries"); + + ///pt->addRowSeparator(tr("SOC - Pack capacity")); + //pt->addParamRow(conf, "noOfCellsParallel"); + //pt->addParamRow(conf, "batteryCapacity"); + // SOC + addParamRow(ui->editCellsInParallelGroup , mDieBieMS->bmsConfig(), "noOfCellsParallel"); + addParamRow(ui->editBatteryCapacity , mDieBieMS->bmsConfig(), "batteryCapacity"); + + ///pt->addRowSeparator(tr("Cell specifications")); + //pt->addParamRow(conf, "cellHardUnderVoltage"); + //pt->addParamRow(conf, "cellHardOverVoltage"); + //pt->addParamRow(conf, "cellLCSoftUnderVoltage"); + //pt->addParamRow(conf, "cellSoftOverVoltage"); + // Конфигурация ячеек + addParamRow(ui->editMinVoltageWhenWeTurnLoadOff , mDieBieMS->bmsConfig(), "cellHardUnderVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnLoadOn , mDieBieMS->bmsConfig(), "cellHardOverVoltage"); + addParamRow(ui->editSuchVoltageWhenWeTurnChargeOn , mDieBieMS->bmsConfig(), "cellLCSoftUnderVoltage"); + addParamRow(ui->editMaxVoltageWhenWeTurnChargeOff , mDieBieMS->bmsConfig(), "cellSoftOverVoltage"); + + ///pt->addRowSeparator(tr("Balancing configuration")); + //pt->addParamRow(conf, "cellBalanceStart"); + //pt->addParamRow(conf, "cellBalanceDifferenceThreshold"); + //pt->addParamRow(conf, "cellBalanceUpdateInterval"); + // Конфигурация балансировки + // ui->balancingTab + addParamRow(ui->editVoltageBalancingStart , mDieBieMS->bmsConfig(), "cellBalanceStart"); + addParamRow(ui->editVoltageDifferenceThreshold , mDieBieMS->bmsConfig(), "cellBalanceDifferenceThreshold"); + addParamRow(ui->editCellBalancingInterval , mDieBieMS->bmsConfig(), "cellBalanceUpdateInterval"); + + ///pt->addRowSeparator(tr("SoC general")); +#if 0 // disable + pt->addParamRow(conf, "stateOfChargeStoreInterval"); + pt->addParamRow(conf, "timeoutChargeCompleted"); + pt->addParamRow(conf, "timeoutChargingCompletedMinimalMismatch"); +#endif + ///pt->addParamRow(conf, "minimalPrechargePercentage"); // from pagemastersettings.cpp + ///pt->addParamRow(conf, "timeoutLCPreCharge"); // from pagemastersettings.cpp + + ///pt->addRowSeparator(tr("Limits")); + //pt->addParamRow(conf, "maxMismatchThreshold"); + //pt->addParamRow(conf, "maxAllowedCurrent"); + // Ограничения + addParamRow(ui->editMaxVoltageCharge , mDieBieMS->bmsConfig(), "maxAllowedCurrent"); + addParamRow(ui->editMaxCircuitLoad , mDieBieMS->bmsConfig(), "maxMismatchThreshold"); + addParamRow(ui->editMaxTemperature , mDieBieMS->bmsConfig(), "allowedTempBattChargingMax"); + +#if 0 + pt->addParamRow(conf, "allowedTempBattDischargingMax"); + pt->addParamRow(conf, "allowedTempBattDischargingMin"); +#endif + //pt->addParamRow(conf, "allowedTempBattChargingMax"); + ///pt->addParamRow(conf, "allowedTempBattChargingMin"); +#if 0 // disable + ///pt->addRowSeparator(tr("NTC specifications battery")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerModule"); + pt->addParamRow(mDieBieMS->bmsConfig(), "NTCLTC25Deg"); + ///pt->addRowSeparator(tr("NTC specifications expansion Board")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfExpansionBoard"); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerExpansionBoard"); +#endif +*/ + +} + + +void BmsSettingsWidget::onPortConnectedChanged() +{ + if(mDieBieMS) + { + mIsBmsConnected = mDieBieMS->isPortConnected(); + } +} + + +BMSInterface *BmsSettingsWidget::bms() const +{ + return mDieBieMS; +} + +void BmsSettingsWidget::setDieBieMS(BMSInterface *dieBieMS) +{ // void PageMasterSettings::setDieBieMS(BMSInterface *dieBieMS) + + mDieBieMS = dieBieMS; + //pt = new ParamTable(this); //ui->masterStateTab; + + connect(mDieBieMS, &BMSInterface::portConnectedChanged, this, &BmsSettingsWidget::onPortConnectedChanged); + + //onLoadParams(); + +/* + if (mDieBieMS) { +#if 0 + ConfigParam *p = mDieBieMS->infoConfig()->getParam("master_setting_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Master Setting Description not found."); + } +#endif + ConfigParams *const conf = mDieBieMS->bmsConfig(); + ParamTable *const pt = new ParamTable(this); //ui->masterStateTab; + pt->addRowSeparator(tr("Current")); + pt->addParamRow(conf, "shuntLCFactor"); + pt->addParamRow(conf, "shuntOffset"); + + pt->addRowSeparator(tr("Pack configuration")); +#if 0 // disable + pt->addParamRow(conf, "cellMonitorICType"); +#endif + pt->addParamRow(conf, "cellMonitorICCount"); + pt->addParamRow(conf, "noOfParallelModules"); + pt->addParamRow(conf, "noOfCellsSeries"); + + pt->addRowSeparator(tr("SOC - Pack capacity")); + pt->addParamRow(conf, "noOfCellsParallel"); + pt->addParamRow(conf, "batteryCapacity"); + + pt->addRowSeparator(tr("Cell specifications")); + pt->addParamRow(conf, "cellHardUnderVoltage"); + pt->addParamRow(conf, "cellHardOverVoltage"); + pt->addParamRow(conf, "cellLCSoftUnderVoltage"); + pt->addParamRow(conf, "cellSoftOverVoltage"); + + pt->addRowSeparator(tr("Balancing configuration")); + pt->addParamRow(conf, "cellBalanceStart"); + pt->addParamRow(conf, "cellBalanceDifferenceThreshold"); + pt->addParamRow(conf, "cellBalanceUpdateInterval"); + + pt->addRowSeparator(tr("SoC general")); +#if 0 // disable + pt->addParamRow(conf, "stateOfChargeStoreInterval"); + pt->addParamRow(conf, "timeoutChargeCompleted"); + pt->addParamRow(conf, "timeoutChargingCompletedMinimalMismatch"); +#endif + pt->addParamRow(conf, "minimalPrechargePercentage"); // from pagemastersettings.cpp + pt->addParamRow(conf, "timeoutLCPreCharge"); // from pagemastersettings.cpp + + pt->addRowSeparator(tr("Limits")); + pt->addParamRow(conf, "maxMismatchThreshold"); + pt->addParamRow(conf, "maxAllowedCurrent"); +#if 0 + pt->addParamRow(conf, "allowedTempBattDischargingMax"); + pt->addParamRow(conf, "allowedTempBattDischargingMin"); +#endif + pt->addParamRow(conf, "allowedTempBattChargingMax"); + pt->addParamRow(conf, "allowedTempBattChargingMin"); + +#if 0 // disable + pt->addRowSeparator(tr("NTC specifications battery")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerModule"); + pt->addParamRow(mDieBieMS->bmsConfig(), "NTCLTC25Deg"); + pt->addRowSeparator(tr("NTC specifications expansion Board")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfExpansionBoard"); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerExpansionBoard"); +#endif + } +*/ + +} + + +/* +bool BmsSettingsWidget::addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + + if (editor) { + //int row = rowCount(); + //setRowCount(row + 1); + //QTableWidgetItem *item = new QTableWidgetItem(name); + //item->setFlags(item->flags() & ~Qt::ItemIsEditable); + //setItem(row, 0, item); + //setCellWidget(row, 1, editor); + //edit->setText(editor->); + + auto vtype = editor->property("type"); + auto type = vtype.toInt(); + //CFG_T_UNDEFINED = 0, + if(type == 1) // CFG_T_DOUBLE, + { + auto vval = editor->property("value"); + auto val = vval.toDouble(); + edit->setText(QString::number(val)); + } + else if(type == 2) // CFG_T_INT, + { + auto vval = editor->property("value"); + auto val = vval.toInt(); + edit->setText(QString::number(val)); + } + else if(type == 3) // CFG_T_QSTRING, + { + auto vval = editor->property("value"); + auto val = vval.toString(); + edit->setText(val); + } + else if(type == 4) // CFG_T_ENUM, + { + auto vval = editor->property("value"); + auto val = vval.toInt(); + edit->setText(QString::number(val)); + } + else if(type == 5) // CFG_T_BOOL + { + auto vval = editor->property("value"); + auto val = vval.toBool(); + edit->setText(val ? "true" : "false"); + } + + auto vsuffix = editor->property("suffix"); + auto suffix = vsuffix.toString(); + auto veditorDecimalsDouble = editor->property("editorDecimalsDouble"); + auto editorDecimalsDouble = veditorDecimalsDouble.toDouble(); + auto veditAsPercentage = editor->property("editAsPercentage"); + auto editAsPercentage = veditAsPercentage.toBool(); + + res = true; + //resizeColumnToContents(0); + //resizeRowsToContents(); + } + + return res; +} +*/ + + +void BmsSettingsWidget::on_pbCalibrateZeroPoint_clicked() +{ + // setZeroCurrent to Terminal + emit sendMessage("setZeroCurrent"); +} +/* +void BmsSettingsWidget::on_pbWriteIntoNonVolatileMemoryOfBsm_clicked() +{ + +} + +void BmsSettingsWidget::on_pbWriteCurrentValuesIntoBsm_clicked() +{ +} +*/ +void BmsSettingsWidget::on_pbWriteToNonVolatileBmsMemory_clicked() +{ + // Записать в энергонезависимую\nпамять BMS + // actionStoreBMScconf + mDieBieMS->commands()->storeBMSConfig(); +} + +void BmsSettingsWidget::on_pbWriteCurrentValuesToBms_clicked() +{ + // Записать текущие значения в BMS + // actionWriteBMScconf + mDieBieMS->commands()->setBMSconf(); +} + diff --git a/bmssettingswidget.h b/bmssettingswidget.h new file mode 100644 index 0000000..2d58d27 --- /dev/null +++ b/bmssettingswidget.h @@ -0,0 +1,62 @@ +#ifndef BMSSETTINGSWIDGET_H +#define BMSSETTINGSWIDGET_H +// void PageMasterSettings +// Test: Cell groups in Series 10 -> 9 // Записать текущ. в БМС + +#include +#include + +#include "bmsinterface.h" + +namespace Ui { +class BmsSettingsWidget; +} + +class ParamTable; + +class BmsSettingsWidget : public QFrame +{ + Q_OBJECT + +public: + explicit BmsSettingsWidget(QWidget *parent = nullptr); + ~BmsSettingsWidget(); + + void clearControlls(); + void prepareSettersFromGuiControlsToSettingsFile(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + + //bool addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName); + +signals: + void sendMessage(QString message); + +public slots: + void onLoadParams(); + + void onBmsconfUpdateRequested(); + void onBmsconfUpdateRequestDefault(); + void onBmsconfUpdated(); + void onBmsconfStored(); + + void onPortConnectedChanged(); + +private slots: + void on_pbCalibrateZeroPoint_clicked(); + //void on_pbWriteIntoNonVolatileMemoryOfBsm_clicked(); + //void on_pbWriteCurrentValuesIntoBsm_clicked(); + void on_pbWriteToNonVolatileBmsMemory_clicked(); + void on_pbWriteCurrentValuesToBms_clicked(); + +private: + Ui::BmsSettingsWidget *ui; + + BMSInterface *mDieBieMS; + bool mIsBmsConnected = false; + bool mDoConnectGettersOnStart = true; + //ParamTable * pt; // = new ParamTable(this); //ui->masterStateTab; +}; + +#endif // BMSSETTINGSWIDGET_H diff --git a/bmssettingswidget.ui b/bmssettingswidget.ui new file mode 100644 index 0000000..2a6fa43 --- /dev/null +++ b/bmssettingswidget.ui @@ -0,0 +1,2135 @@ + + + BmsSettingsWidget + + + + 0 + 0 + 715 + 3225 + + + + + 0 + 0 + + + + + 715 + 3225 + + + + Form + + + /*#f7f8fc;*/ + +/*QFrame#BmsSettingsWidget +{ + background-color: red; +} +*/ + +/* This Does NOT Work here Must be Set in Parent Widget +QGroupBox#gbSerialNumber, +QGroupBox#gbConfiguration, +QGroupBox#gbSoc, +QGroupBox#gbRestrictions, +QGroupBox#gbCellsConfiguration, +QGroupBox#gbBalancingConfiguration, +QGroupBox#gbOutputsSettings, +QGroupBox#gbZeroPoint { + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} +*/ + + + + + + + + + 30 + 30 + 351 + 41 + + + + + 26 + 75 + true + + + + Настройка BMS + + + + + + 29 + 90 + 671 + 131 + + + + + + + + + + + + 30 + 40 + 331 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Серийный номер + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + false + + + + 360 + 40 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + CV00000001 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 240 + 671 + 231 + + + + + + + + + 360 + 140 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 8 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Конфигурация + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 140 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 1 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 90 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Количество плат + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 90 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Количество ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 490 + 671 + 261 + + + + + + + + + 360 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Ёмкость +батареи + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 601 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + SOC + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 144 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Количество параллельно +включённых ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 2 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 770 + 671 + 361 + + + + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Ограничения + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 80 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 100 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Максимальный ток нагрузки, А + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 100 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Максимальный ток заряда, А + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 600 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 220 + 281 + 51 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Максимальная температура, С + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 270 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 80 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 1150 + 671 + 411 + + + + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Конфигурация ячеек + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 170 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 2,5 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 100 + 281 + 71 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Верхний порог +отключения, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Напряжение включения +нагрузки, V + + + + + + 30 + 100 + 281 + 71 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Нижний порог +отключения, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Минимальное напряжение +(отключение нагрузки), V + + + + + + 360 + 170 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 2,75 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 250 + 281 + 71 + + + + + Segoe WP SemiLight + 11 + 75 + true + false + false + + + + font-weight:bold; + + + Нижний порог включения +(должен быть выше отключения), V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Напряжение включения +заряда, V + + + + + + 30 + 320 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 3,4 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 250 + 281 + 71 + + + + + Segoe WP SemiLight + 10 + 75 + true + false + false + + + + font-weight:bold; + + + Нижний порог включения +(должен быть выше отключения), V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + Максимальное напряжение +(отключение заряда), V + + + + + + 360 + 320 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 3,6 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 1580 + 671 + 381 + + + + + + + + + 360 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Дельта напряжения ячеек для +старта балансировки, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Конфигурация балансировки + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 360 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 0,06 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 90 + 281 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Напряжение старта +балансировки, V + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 3,0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 290 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 4000 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 230 + 611 + 61 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Интервал балансировки +ячейки, мс + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 30 + 1980 + 671 + 961 + + + + + + + + + 30 + 30 + 611 + 51 + + + + + Segoe WP SemiLight + 22 + 75 + true + false + false + + + + color:#009352; +font-weight:bold; + + + Настройка выходов + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 290 + 611 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Изменение значения при SOC + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 350 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 0,06 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 610 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 5 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 610 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 10 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 550 + 281 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Замыкается при t<, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 550 + 281 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Размыкается при t>, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 870 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 50 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 870 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 30 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 810 + 311 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Замыкается при t<, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 350 + 810 + 281 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Размыкается при t>, C + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 180 + 611 + 1 + + + + background-color:lightgrey; + + + + + + + + + 30 + 440 + 611 + 1 + + + + background-color:lightgrey; + + + + + + + + + 30 + 700 + 611 + 1 + + + + background-color:lightgrey; + + + + + + + + + 30 + 740 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 4 + + + Qt::AlignCenter + + + + + + 30 + 470 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 3 + + + Qt::AlignCenter + + + + + + 30 + 210 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 2 + + + Qt::AlignCenter + + + + + + 30 + 100 + 51 + 51 + + + + + Segoe WP SemiLight + -1 + 75 + true + false + false + + + + background-color:lightgrey; + font-weight:bold; + font-size: 14px; + border-radius: 6px; + + + № 1 + + + Qt::AlignCenter + + + + + + 110 + 100 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + Использовать для управления ЗУ + + + true + + + + + + 110 + 210 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + Нормально замкнут + + + + + + 110 + 470 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + + + + true + + + + + + 110 + 740 + 391 + 51 + + + + QCheckBox::indicator { + width: 20px; + height: 20px; + border: 1px solid grey; + background: white; + border-radius:3px; +} + +QCheckBox::indicator:checked { + image: url(:/res/checkbox_checked.png); + border-color: green; + background: green; + color:white; +} + + + +QCheckBox { + font-weight:bold; + font-size: 14px; +} + + + + + + true + + + + + + + 30 + 2960 + 671 + 241 + + + + + + + + + 30 + 20 + 321 + 41 + + + + + Segoe WP SemiLight + 13 + 75 + true + false + false + + + + font-weight:bold; + + + Значение датчика тока «0» + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 70 + 281 + 61 + + + + + -1 + + + + color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; + + + + 1,451 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 30 + 150 + 201 + 61 + + + + QPushButton#pbCalibrateZeroPoint +{ + color:white; + background-color:#009352; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbCalibrateZeroPoint:hover:pressed +{ + background-color:#01673a; +} + + + + + Калибровать «0» + + + + + + + 300 + 3110 + 391 + 61 + + + + /* +QPushButton#pbWriteIntoNonVolatileMemoryOfBsm +{ + color:black; + background-color:#f7f8fc; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteIntoNonVolatileMemoryOfBsm:hover:pressed +{ + background-color:lightgrey; +} +*/ + +QPushButton#pbWriteToNonVolatileBmsMemory +{ + background-color:#009352; + color:white; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteToNonVolatileBmsMemory:hover:pressed +{ + background-color:#01673a; +} + +QPushButton#pbWriteToNonVolatileBmsMemory:hover:!pressed +{ +/* background-color: #01673a;*/ +} + + + + + + Записать в энергонезависимую память BMS + + + + + + 370 + 3030 + 321 + 61 + + + + /* +QPushButton#pbWriteCurrentValuesIntoBsm +{ + color:white; + background-color:#009352; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteCurrentValuesIntoBsm:hover:pressed +{ + background-color:#01673a; +} +*/ + + +QPushButton#pbWriteCurrentValuesToBms +{ + color:black; + background-color: #f7f8fc; /* white;*/ + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteCurrentValuesToBms:hover:pressed +{ + background-color:lightgrey; +} + +QPushButton#pbWriteCurrentValuesToBms:hover:!pressed +{ +/* background-color: #0FF73a;*/ +} + + + + + Записать текущие значения в BMS + + + + + + diff --git a/cellsmonitorcheckboxdelegate.cpp b/cellsmonitorcheckboxdelegate.cpp new file mode 100644 index 0000000..696fa0c --- /dev/null +++ b/cellsmonitorcheckboxdelegate.cpp @@ -0,0 +1,116 @@ +#include "cellsmonitorcheckboxdelegate.h" +#include +#include +#include + +CheckBoxDelegate::CheckBoxDelegate(QObject *parent) + :QStyledItemDelegate (parent) +{ + m_circleSize = 15; +} + +QWidget *CheckBoxDelegate::createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + Q_UNUSED(option) + Q_UNUSED(index) + + //Cоздаем checkbox editor + QCheckBox *editor = new QCheckBox(parent); + return editor; +} + +void CheckBoxDelegate::setEditorData(QWidget *editor, const QModelIndex &index) const +{ + //Установливаем выбрано/не выбрано + QCheckBox *cb = qobject_cast(editor); + cb->setStyleSheet("QCheckBox::indicator {\n width: 20px;\n height: " + QString::number( m_circleSize ) + "px;\n border: 1px solid grey;\n background: white;\n border-radius:3px;\n} \n\nQCheckBox::indicator:checked {\n border-color: green;\n background: green;\n color:white;\n /*image: url(:/res/checkbox_unchecked_hover.png);*/\n} \n\n\n\nQCheckBox {\n font-weight:bold;\n font-size: 14px;\n}"); + cb->setChecked(index.data().toBool()); +} + +void CheckBoxDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const +{ + //Записываем данные в модель + QCheckBox *cb = static_cast(editor); + int value = (cb->checkState()==Qt::Checked)? 1 : 0; + model->setData(index, value, Qt::EditRole); +} + +void CheckBoxDelegate::updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + Q_UNUSED(index); + QStyleOptionButton checkboxstyle; + QRect checkbox_rect = QApplication::style()->subElementRect(QStyle::SE_CheckBoxIndicator, &checkboxstyle); + + //Центрирование + checkboxstyle.rect = option.rect; + checkboxstyle.rect.setLeft(option.rect.x() + + option.rect.width()/2 - checkbox_rect.width()/2); + + editor->setGeometry(checkboxstyle.rect); +} + + + + +void CheckBoxDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + int row = index.row(); + int col = index.column(); + + painter->save(); + + //Получаем данные + auto data = index.model()->data(index, Qt::DisplayRole); + + //Создаем стиль CheckBox + QStyleOptionButton checkboxstyle; + //Выбрано или не выбрано + + bool isChecked = data.toBool(); + if(data.toBool()) + checkboxstyle.state = QStyle::State_On|QStyle::State_Enabled; + else + checkboxstyle.state = QStyle::State_Off|QStyle::State_Enabled; + + + + if(!index.data().isNull()) + { + QRect checkbox_rect = QApplication::style()->subElementRect(QStyle::SE_CheckBoxIndicator, &checkboxstyle); + + //Центрирование + checkboxstyle.rect = option.rect; + checkboxstyle.rect.setLeft(option.rect.x() + + option.rect.width()/2 - checkbox_rect.width()/2); + RectangleClass r; + int centerX = option.rect.width()/2 - m_circleSize/2; + int centerY = option.rect.height()/2 - m_circleSize/2; + + + r.draw + ( + painter, + QRectF( + option.rect.x() + centerX, //+mx, + option.rect.y() + centerY, //+my, + m_circleSize, + m_circleSize + ), + isChecked ? QColor("#009352") // green + : QColor("#dfe0eb"), + 11 + ); + } + else { + RectClass r; + QRectF rectT( option.rect ); + r.draw + ( + painter, + rectT + ); + } + + + painter->restore(); +} diff --git a/cellsmonitorcheckboxdelegate.h b/cellsmonitorcheckboxdelegate.h new file mode 100644 index 0000000..f31dd49 --- /dev/null +++ b/cellsmonitorcheckboxdelegate.h @@ -0,0 +1,64 @@ +#ifndef CHECKBOXDELEGATE_H +#define CHECKBOXDELEGATE_H + +#include +#include + +class CheckBoxDelegate : public QStyledItemDelegate +{ + Q_OBJECT + +public: + CheckBoxDelegate(QObject *parent = nullptr); + +public: + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; + QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; + void setEditorData(QWidget *editor, const QModelIndex &index) const; + void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; + void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; + + class RectClass + { + public: + void draw(QPainter *painter, const QRectF &rectL, QColor colorL = QColor("#FFFFFF"), int radiusL = 0) const + { + painter->save(); + // Rect + QPen penw(colorL); + painter->setPen(penw); + painter->drawRect(rectL); + painter->restore(); + } + }; + + + + class RectangleClass + { + public: + //void draw(QPainter *painter, const QRectF &rect, QColor color = QColor("#FFFFFF"), int radius = 0) const; + //void RectangleClass::draw(QPainter *painter, const QRectF &rect, QColor color, int radius) const + void draw(QPainter *painter, const QRectF &rect, QColor color = QColor("#FFFFFF"), int radius = 0) + { + painter->save(); + + QPainterPath path; + path.addRoundedRect(rect, radius, radius); + QPen pen(color); + painter->setPen(pen); + painter->fillPath(path, color); + painter->drawPath(path); + + painter->restore(); + } + }; + + + + +private: + int m_circleSize; +}; + +#endif // CHECKBOXDELEGATE_H diff --git a/cellsmonitorlabelvoltagedelegate.cpp b/cellsmonitorlabelvoltagedelegate.cpp new file mode 100644 index 0000000..11c691d --- /dev/null +++ b/cellsmonitorlabelvoltagedelegate.cpp @@ -0,0 +1,104 @@ +#include "cellsmonitorlabelvoltagedelegate.h" +#include +#include +#include +#include + + +LabelVoltageDelegate::LabelVoltageDelegate(QObject *parent) + : QStyledItemDelegate(parent) //: QItemDelegate(parent) +{ +} + +QWidget *LabelVoltageDelegate::createEditor(QWidget *parent, + const QStyleOptionViewItem & option, + const QModelIndex & index ) const +{ + QLineEdit *editor = new QLineEdit(parent); + + return editor; +} + +void LabelVoltageDelegate::setEditorData(QWidget *editor, + const QModelIndex &index) const +{ + QString value = index.model()->data(index, Qt::EditRole).toString(); + + QLineEdit *lineEdit = static_cast(editor); + lineEdit->setText(value); +} + +void LabelVoltageDelegate::setModelData(QWidget *editor, QAbstractItemModel *model, + const QModelIndex &index) const +{ + QLineEdit *lineEdit = static_cast(editor); + QString value = lineEdit->text(); + + model->setData(index, value, Qt::EditRole); +} + +void LabelVoltageDelegate::updateEditorGeometry(QWidget *editor, + const QStyleOptionViewItem &option, const QModelIndex &/* index */) const +{ + editor->setGeometry(option.rect); +} + +void LabelVoltageDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const +{ + //Получаем данные + auto data = index.model()->data(index, Qt::DisplayRole).toString(); + + //Создаем стиль CheckBox + QStyleOptionButton checkboxstyle; + //Выбрано или не выбрано + QRect checkbox_rect = QApplication::style()->subElementRect(QStyle::SE_CheckBoxIndicator, &checkboxstyle); + + //Центрирование + checkboxstyle.rect = option.rect; + checkboxstyle.rect.setLeft(option.rect.x() + + option.rect.width()/2 - checkbox_rect.width()/2); + + painter->save(); + + if(!data.isEmpty()) + { + + LineWithText r; + + int centerX = option.rect.width()/2 - m_circleSize/2; + int centerY = option.rect.height()/2 - m_circleSize/2; + QRectF rectL( + option.rect.x(), + option.rect.y() + option.rect.height()/2 , + option.rect.width(), + 0 + ); + + QRectF rectT( option.rect ); + //QString res = QString::number(data,'f',1); + + r.draw + ( + painter, + rectL, + //QColor("#009352"), // green + QColor("#bfc5d7"), + 11, + rectT, + QString("%1 V").arg(data) + ); + + } + else { + RectClass r; + QRectF rectT( option.rect ); + r.draw + ( + painter, + rectT + ); + } + + painter->restore(); +} + diff --git a/cellsmonitorlabelvoltagedelegate.h b/cellsmonitorlabelvoltagedelegate.h new file mode 100644 index 0000000..bf81e76 --- /dev/null +++ b/cellsmonitorlabelvoltagedelegate.h @@ -0,0 +1,75 @@ +#ifndef LABELVOLTAGEDELEGATE_H +#define LABELVOLTAGEDELEGATE_H + +#include +#include + +class LabelVoltageDelegate : public QStyledItemDelegate +{ + Q_OBJECT + +public: + LabelVoltageDelegate(QObject *parent = nullptr); + +public: + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; + QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const; + void setEditorData(QWidget *editor, const QModelIndex &index) const; + void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const; + void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const; + +private: + int m_circleSize; + + class RectClass + { + public: + void draw(QPainter *painter, const QRectF &rectL, QColor colorL = QColor("#FFFFFF"), int radiusL = 0) const + { + painter->save(); + // Rect + QPen penw(colorL); + painter->setPen(penw); + painter->drawRect(rectL); + painter->restore(); + } + }; + + + class LineWithText + { + public: + void draw(QPainter *painter, const QRectF &rectL, QColor colorL = QColor("#FFFFFF"), int radiusL = 0, + const QRectF rectT=QRectF(0,0,0,0), QString text = "", QColor colorT = QColor("#000000"), QFont fontT = QFont("Arial", 13, QFont::Bold) , QColor colorBackground = QColor("#FFFFFF")) const + //; + //void LineWithText::draw (QPainter *painter, const QRectF &rectL, QColor colorL, int radiusL, + // const QRectF rectT, QString text, QColor colorT, QFont fontT ) const + { + painter->save(); + + // Line + QPen pen(colorL); + pen.setStyle(Qt::DotLine); + painter->setPen(pen); + painter->drawLine(rectL.left(), rectL.top(), rectL.right()*1.15, rectL.bottom()); + // Rect + QPen penw(colorBackground); + painter->setPen(penw); + QFontMetrics fm(fontT); + double width = 0.0; + //width = fm.horizontalAdvance(text); + int width1 = fm.lineWidth(); + int len = ((rectL.right()/2)-(width/2)); + painter->drawRect(rectL.left()+27, rectL.top(), width*1.2, rectL.bottom()); + // Text + painter->setFont(fontT); + painter->setPen(QPen(colorT)); + painter->drawText(rectT, Qt::AlignCenter, text); + + painter->restore(); + } + }; + +}; + +#endif // LABELVOLTAGEDELEGATE_H diff --git a/cellsmonitorpage.cpp b/cellsmonitorpage.cpp new file mode 100644 index 0000000..cad6333 --- /dev/null +++ b/cellsmonitorpage.cpp @@ -0,0 +1,458 @@ +#include "cellsmonitorpage.h" +#include "ui_cellsmonitorpage.h" +#include + +#include + +#include "cellsmonitorcheckboxdelegate.h" +#include "cellsmonitorlabelvoltagedelegate.h" + +CellsMonitorPage::CellsMonitorPage(QWidget *parent) : + QFrame(parent), + ui(new Ui::CellsMonitorPage) +{ + ui->setupUi(this); + hideTestUi(); + + m_tablesNumber = 3; + //m_cellsNumber = 26; + m_cellsNumber = mCellVoltageArray.size(); + + initTableHeader(); +} + +CellsMonitorPage::~CellsMonitorPage() +{ + delete ui; +} + +void CellsMonitorPage::hideTestUi() +{ + ui->lbCols->hide(); + ui->lbCells->hide(); + ui->editCols->hide(); + ui->editCells->hide(); + ui->pbTestOne->hide(); + ui->pbTestTwo->hide(); +} + +BMSInterface *CellsMonitorPage::bms() const +{ + return mDieBieMS; +} + +void CellsMonitorPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + //connect(mDieBieMS->commands(), &Commands::valuesReceived,this, &CellsMonitorPage::valuesReceived); + connect(mDieBieMS->commands(), &Commands::cellsReceived,this, &CellsMonitorPage::cellsReceived); + } +} + + + +void CellsMonitorPage::clearTables() +{ + ui->tableViewLeft->reset(); + ui->tableViewMiddle->reset(); + ui->tableViewRight->reset(); +} + + +void CellsMonitorPage::initTableHeader() +{ + initTableView(m_tablesNumber, true); +} + + +void CellsMonitorPage::initTableView(QTableView* tableView, bool doInitForCellVoltagArray) +{ + //Создаем модель и представление + QStandardItemModel *model = new QStandardItemModel(MODEL_ROWS_IN_ONE_TABLE, MODEL_COLUMN_IN_ONE_TABLE); + + int rowWeight = 40; + //Заолняем Заголовок + QStringList hedarenamesNumVolBalancing = QStringList() + << tr("№") + << tr(" Напряжение ") + << tr(" Балансировка"); + + model->setHeaderData(ColNumber, Qt::Horizontal, QObject::tr(hedarenamesNumVolBalancing[ColNumber].toUtf8())); + model->setHeaderData(ColVoltage, Qt::Horizontal, QObject::tr(hedarenamesNumVolBalancing[ColVoltage].toUtf8())); + model->setHeaderData(ColBalancing, Qt::Horizontal, QObject::tr(hedarenamesNumVolBalancing[ColBalancing].toUtf8())); + + tableView->verticalHeader()->setDefaultSectionSize(rowWeight); + + int tableViewIndexStart = 0; + int tableviewIndexEnd = 0; + int left = 0; + int right = 0; + int index = 0; + + if(m_tablesNumber == TwoTables) + { + if(ui->tableViewLeft == tableView) + index = FirstSubTable; + if(ui->tableViewRight == tableView) + index = SecondSubTable; + left = (index+0) * MODEL_ROWS_IN_ONE_TABLE; + right = (index+1) * MODEL_ROWS_IN_ONE_TABLE; + //left = left - ((index+0) * MODEL_ROWS_IN_ONE_TABLE); + //right = right - ((index+0) * MODEL_ROWS_IN_ONE_TABLE); + + tableViewIndexStart = (0 * MODEL_ROWS_IN_ONE_TABLE); + switch (index) + { + case (FirstSubTable): + { + tableviewIndexEnd + = (m_cellsNumber < MODEL_ROWS_IN_ONE_TABLE) + ? m_cellsNumber + : MODEL_ROWS_IN_ONE_TABLE + ; + } + break; + case(SecondSubTable): + { + tableviewIndexEnd + = (m_cellsNumber < MODEL_ROWS_IN_ONE_TABLE) + ? 0 + : m_cellsNumber - MODEL_ROWS_IN_ONE_TABLE + ; + } + break; + } + + } + else if(m_tablesNumber == ThreeTables) + { + int index = 0; + if(ui->tableViewLeft == tableView) + index = FirstSubTable; + if(ui->tableViewMiddle == tableView) + index = SecondSubTable; + if(ui->tableViewRight == tableView) + index = ThirdSubTable; + left = (index+0) * MODEL_ROWS_IN_ONE_TABLE; + right = (index+1) * MODEL_ROWS_IN_ONE_TABLE; + + tableViewIndexStart = (0 * MODEL_ROWS_IN_ONE_TABLE); + + switch (index) + { + case (FirstSubTable): + { + tableviewIndexEnd + = (m_cellsNumber < MODEL_ROWS_IN_ONE_TABLE*1) + ? m_cellsNumber + : MODEL_ROWS_IN_ONE_TABLE + ; + } + break; + case (SecondSubTable): + { + bool isInSecond = (m_cellsNumber>MODEL_ROWS_IN_ONE_TABLE*1) && (m_cellsNumber <= MODEL_ROWS_IN_ONE_TABLE*2); + bool isInThird = (m_cellsNumber>MODEL_ROWS_IN_ONE_TABLE*2) && (m_cellsNumber <= MODEL_ROWS_IN_ONE_TABLE*3); + + if(isInSecond) + { + tableviewIndexEnd = m_cellsNumber - MODEL_ROWS_IN_ONE_TABLE; + } + if(isInThird) + { + tableviewIndexEnd = MODEL_ROWS_IN_ONE_TABLE; + } + } + break; + case (ThirdSubTable): + { + bool isInThird = (m_cellsNumber>MODEL_ROWS_IN_ONE_TABLE*2) && (m_cellsNumber <= MODEL_ROWS_IN_ONE_TABLE*3); + + if(isInThird) + { + tableviewIndexEnd = m_cellsNumber - MODEL_ROWS_IN_ONE_TABLE*2; + } + } + break; + } + + } + + //Заолняем модель данными + int cellNumber = 0; + for (int row = tableViewIndexStart; row < tableviewIndexEnd; ++row) + { + cellNumber++; + for (int column = 0; column < MODEL_COLUMN_IN_ONE_TABLE; ++column) + { + //cellNumber++; + + if( cellNumber > m_cellsNumber) + continue; + + QModelIndex index = model->index(row, column, QModelIndex()); + switch(column) + { + case ColNumber: + { + model->setData(index, QVariant(left + row + 1)); + model->setData(index, Qt::AlignCenter, Qt::TextAlignmentRole); + } + break; + case ColVoltage: + { + if(doInitForCellVoltagArray) + model->setData(index, mCellVoltageArray[left + row].voltage); + else // just test data + model->setData(index, QVariant( (left + row + 1) )); + } + break; + case ColBalancing: + { + if(doInitForCellVoltagArray) + model->setData(index, mCellVoltageArray[left + row].balancing); + else + model->setData(index, QVariant(row%2)); + } + break; + } + } + } + + + //Устанавливаем модель в представление + tableView->setModel(model); + + //Устанавливаем делегат в столбец + CheckBoxDelegate *delegateCbox = new CheckBoxDelegate(); + LabelVoltageDelegate *delegateLab = new LabelVoltageDelegate(); + + tableView->setItemDelegateForColumn(ColVoltage, delegateLab); + tableView->setItemDelegateForColumn(ColBalancing, delegateCbox); + //Внешний вид предтавления + tableView->verticalHeader()->hide(); + tableView->horizontalHeader()->setStretchLastSection(false); + tableView->setSelectionMode(QAbstractItemView::NoSelection); + tableView->setEditTriggers(QAbstractItemView::NoEditTriggers); + tableView->setShowGrid(false); + + // has to be last + tableView->setColumnWidth(ColNumber, 50); + tableView->setColumnWidth(ColVoltage, 100); + tableView->setColumnWidth(ColBalancing, 150); +} + + +void CellsMonitorPage::initTableView(int tablesNum, bool doInitForCellVoltagArray) +{ + m_tablesNumber = tablesNum; + //m_cellsNumber = cellsNum; + m_cellsNumber = mCellVoltageArray.size(); + + if(m_cellsNumber > MAX_ROWS_ALL_TABLES) + m_cellsNumber = MAX_ROWS_ALL_TABLES; + clearTables(); + auto gBackGr = ui->lbCellsMonitorTableBorderBackground->geometry(); + auto gL = ui->tableViewLeft->geometry(); + auto gR = ui->tableViewRight->geometry(); + + + if(tablesNum == TwoTables) { // 13 + MODEL_ROWS_IN_ONE_TABLE = 13; + auto one_half = (double)gBackGr.width()/2.0; + + initTableView(ui->tableViewLeft, doInitForCellVoltagArray); // w=501 // x=340 + ui->tableViewLeft->setGeometry(gL.x(), + gL.y(), + one_half + 20, + gL.height() + ); + ui->tableViewMiddle->hide(); + ui->tableViewRight->setGeometry(gL.x() + gBackGr.width()/2, + gL.y(), + one_half - 3, + gL.height() + ); + + initTableView(ui->tableViewRight, doInitForCellVoltagArray); // w=491 // x=830 + } + else if(tablesNum == ThreeTables) { // 11 + //340 + //650 + //980 + + //331 + //341 + //341 + + MODEL_ROWS_IN_ONE_TABLE = 11; + auto one_third = (double)gBackGr.width()/3.0; + + ui->tableViewLeft->setGeometry(gL.x(), + gL.y(), + (one_third * 1) + 10, + gL.height() + ); + + ui->tableViewMiddle->setGeometry(gL.x() + (one_third * 1), //( (2.0 * (double)gBackGr.width()) / 3.0), + gL.y(), + (one_third * 1) + 10, + gL.height() + ); + ui->tableViewMiddle->show(); + + ui->tableViewRight->setGeometry(gL.x() + (one_third * 2), + gL.y(), + (one_third * 1) - 3, + gL.height() + ); + + initTableView(ui->tableViewLeft, doInitForCellVoltagArray); + initTableView(ui->tableViewMiddle, doInitForCellVoltagArray); + initTableView(ui->tableViewRight, doInitForCellVoltagArray); + } +} + + +///////////////////////////////////////////////////////////////////////////////////////////////////////// +/// +/////////////////////////////////////////////////////////////////////////////////////////////////////////// + + + +void CellsMonitorPage::cellsReceived(int cellCount, QVector cellVoltageArray) +{ + mCellVoltageArray.clear(); + mCellVoltageArray.resize(cellCount); + + QVector dataxNew; + dataxNew.clear(); + QVector datayNormal; + datayNormal.clear(); + QVector datayBalance; + datayBalance.clear(); + QVector labels; + int indexPointer = 0; + + double cellHardUnder = mDieBieMS->bmsConfig()->getParamDouble("cellHardUnderVoltage"); + double cellHardOver = mDieBieMS->bmsConfig()->getParamDouble("cellHardOverVoltage"); + + for(indexPointer = 0; indexPointer < cellCount; indexPointer++) + { + mCellVoltageArray[indexPointer].voltage = cellVoltageArray[indexPointer]; + + dataxNew.append(indexPointer + 1); + + if(cellVoltageArray[indexPointer] < 0.0){ + datayNormal.append(0.0); + datayBalance.append(fabs(cellVoltageArray[indexPointer])); + }else{ + datayNormal.append(fabs(cellVoltageArray[indexPointer])); + datayBalance.append(0.0); + } + + QString voltageString = QStringLiteral("%1V (C").arg(fabs(cellVoltageArray[indexPointer]), 0, 'f', 2); + labels.append(voltageString + QString::number(indexPointer) + ")"); + + bool BALANCE_ON_IS_SAME_AS_EQUAL_ZERO = (datayBalance.last() == 0.0); + BALANCE_ON_IS_SAME_AS_EQUAL_ZERO = !BALANCE_ON_IS_SAME_AS_EQUAL_ZERO; + mCellVoltageArray[indexPointer].balancing = BALANCE_ON_IS_SAME_AS_EQUAL_ZERO; + } + + + initTableView(m_tablesNumber, true); + + + //QSharedPointer textTicker(new QCPAxisTickerText); + //textTicker->addTicks(dataxNew, labels); + + //ui->cellBarGraph->xAxis->setTicker(textTicker); + //ui->cellBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + //ui->cellBarGraph->yAxis->setRange(cellHardUnder, cellHardOver); + //barsNormal->setData(dataxNew, datayNormal); + //barsBalance->setData(dataxNew, datayBalance); +} + +void CellsMonitorPage::appendDoubleAndTrunc(QVector *vec, double num, int maxSize) +{ + vec->append(num); + + if(vec->size() > maxSize) { + vec->remove(0, vec->size() - maxSize); + } +} + + + + + + +void CellsMonitorPage::on_editCols_textChanged(const QString &arg1) +{ + m_tablesNumber = (arg1).toInt(); + int cells = (ui->editCells->text()).toInt(); + + mCellVoltageArray.clear(); + + for(int i = 0, ilen = cells; ieditCols->text()).toInt(); + int cells = (arg1).toInt(); + + mCellVoltageArray.clear(); + + for(int i = 0, ilen = cells; i +#include +#include + +#include "bmsinterface.h" + +namespace Ui { +class CellsMonitorPage; +} + +struct CellInfo +{ +public: + CellInfo() : voltage(0), balancing(false) + {} + CellInfo(double v, bool b) + :voltage(v), balancing(b) + {} + + double voltage; + bool balancing; +}; + + +class CellsMonitorPage : public QFrame +{ + Q_OBJECT + +public: + explicit CellsMonitorPage(QWidget *parent = nullptr); + ~CellsMonitorPage(); + + enum TablesNumber + { + TwoTables = 2, + ThreeTables = 3 + }; + enum TableIndex + { + FirstSubTable = 0, + SecondSubTable = 1, + ThirdSubTable = 2 + }; + enum ColumnsInSubTables + { + ColNumber = 0, + ColVoltage, //Столбец с делегатом + ColBalancing //Столбец с делегатом + }; + + int MODEL_ROWS_IN_ONE_TABLE = 13; //Количество строк модели одной из таблиц + static constexpr int MODEL_COLUMN_IN_ONE_TABLE = 3; //Количество столбцов модели одной из таблиц (№,Напр,Баланс) + static constexpr int MAX_ROWS_ALL_TABLES = 26; //Количество строк для всех трёх таблиц + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private slots: + void on_editCols_textChanged(const QString &arg1); + void on_editCells_textChanged(const QString &arg1); + void on_pbTestOne_clicked(); + void on_pbTestTwo_clicked(); + +private: + Ui::CellsMonitorPage *ui; + void hideTestUi(); + + BMSInterface *mDieBieMS; + + int m_tablesNumber; + int m_cellsNumber; + + QVector mCellVoltageArray; + + void createUI(); + + void clearTables(); + + void initTableHeader(); + // this one is for the real usage + void initTableView(QTableView* tableView, bool doInitForCellVoltagArray = true); + void initTableView(int tablesNum = TwoTables, bool doInitForCellVoltagArray = true); + // this one is just for test + //void initTableView(int cellsNum = 0, int tablesNum = TwoTables, bool doInitForCellVoltagArray = true); + +// +public slots: + ///void onLoadParams(); + +private slots: + //void timerSlot(); + //void valuesReceived(BMS_VALUES values); + void cellsReceived(int cellCount, QVector cellVoltageArray); +/* + QVector mSeconds; + + double mSecondCounter; + qint64 mLastUpdateTime; + bool mUpdateValPlot; + + QTimer* mTimer; +*/ + ///void initForCharts(); + + void appendDoubleAndTrunc(QVector *vec, double num, int maxSize); + ///void clearControlls(); + +}; + +#endif // CELLSMONITORPAGE_H diff --git a/cellsmonitorpage.ui b/cellsmonitorpage.ui new file mode 100644 index 0000000..1bd7561 --- /dev/null +++ b/cellsmonitorpage.ui @@ -0,0 +1,353 @@ + + + CellsMonitorPage + + + + 0 + 0 + 1071 + 755 + + + + Form + + + /*QFrame#CellsMonitorPage +{ + background-color: red; +} +*/ + +/* +QLabel#lbIconLogo +{ + border-image: url(:/images/cubo-verde-logo-white.png) 0 0 0 0 stretch stretch; +} + +QLabel#lbHeaderLanguageIcon +{ + border-image: url(:/images/language-russ.png) 0 0 0 0 stretch stretch; +} + + +QPushButton#pushButton, +#pushButton_2, +#pushButton_3, +#pushButton_4, +#pushButton_5, +#pushButton_6, +#pushButton_7, +#pushButton_8 +{ + color: #FFFFFF; + background-color: #009352; + border: 0px solid black; + background:#009352; + text-align: left; + padding-left: 85px; + font-size:17px; +} +QPushButton#pushButton +{ + font-size:15px; +} + +QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(60, 186, 162, 255), stop:1 rgba(98, 211, 162, 255)) +} + +QPushButton#pushButton:hover, +#pushButton_2:hover, +#pushButton_3:hover, +#pushButton_4:hover, +#pushButton_5:hover, +#pushButton_6:hover, +#pushButton_7:hover, +#pushButton_8:hover +{ + background-color: #01673a; +} +*/ + +/*------------------*/ +/* +QGroupBox#gbSerialNumber, +#gbConfiguration, +#gbSoc +{ + border-radius:10px; + border-color: grey; + border-style: solid; + border-width: 1px; +} +*/ + +/*--------------------------------------*/ +/*--------------TABLE----------------*/ +/*--------------------------------------*/ + + +QTableView { + background-color: #FFFFFF; + alternate-background-color: #282828; + border-radius: 10px; + /*color: #000000;*/ + color: #869098; + font-size: 16px; + text-align: center; +} + +QTableView QHeaderView { + background-color: #f0f1f4; + border: none; + /*border-bottom: 2px solid #f0f1f4;*/ + border-top-left-radius: 10px; + border-top-right-radius: 10px; + min-height: 70px; + /*padding-top: 20px;*/ + padding-top: 5px; + /*padding-right: 15px;*/ + /*margin-right: 20px;*/ + /*text-align: center;*/ +} + + +QTableView QHeaderView::section { +/* + background-color: transparent; + border: none; + color: #8F8F8F; + font-size: 12px; + font-weight: bold; +*/ + background-color: #f0f1f4; + /*border: 1px solid #e8e9f1;*/ + border: none; + color: #869098; + text-align: center; + font-size: 16px; + /*padding: 0px 0px 0px 35px;*/ +} + + +QTableView::item { + border: none; + /*padding: 0px 35px;*/ + text-align: center; + min-height: 60px; +} + +QScrollBar { + border-radius: 10px; + background: #e8e9f1; +} + +QScrollBar::vertical { + width: 10px; + margin: 75px 0px 0px 0px; +} + +/*-----------------------------------*/ +QScrollBar::sub-page:horizontal { + background: #e8e9f1; + border-top-left-radius: 9px; + border-bottom-left-radius: 9px; +} +QScrollBar::add-page:horizontal { + background: #e8e9f1; + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; +} + +QScrollBar::sub-page:vertical { + background: #e8e9f1; + border-top-left-radius: 9px; + border-top-right-radius: 9px; +} +QScrollBar::add-page:vertical { + background: #e8e9f1; + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; +} + +/*-----------------------------------*/ +QScrollBar::up-arrow, +QScrollBar::sub-line, +QScrollBar::add-line { + width: 0px; + height: 0px; +} + +QScrollBar::handle { + background: #009352; + border-radius: 5px; +} + + + + + + + + 670 + 90 + 341 + 621 + + + + + + + 30 + 90 + 331 + 621 + + + + + + + 28 + 88 + 985 + 625 + + + + /* background-color: #f0fFfF;*/ + background-color: #e8e9f1; + /*grey*/ + /*#e8e9f1*/ + /*green*/ + /*#009352*/ + + border: none; + border-radius: 10px; +/* padding-top: 20px;*/ + + + + + + + + + + 350 + 90 + 341 + 621 + + + + + + + 30 + 30 + 351 + 41 + + + + + 26 + 75 + true + + + + Монитор ячеек + + + + + + 490 + 50 + 61 + 20 + + + + + + + 630 + 50 + 61 + 20 + + + + + + + 410 + 50 + 71 + 16 + + + + столбцов + + + + + + 570 + 50 + 51 + 16 + + + + ячеек + + + + + + 440 + 20 + 75 + 23 + + + + Тест 1 + + + + + + 560 + 20 + 75 + 23 + + + + Тест 2 + + + lbCellsMonitorTableBorderBackground + tableViewMiddle + tableViewLeft + tableViewRight + lbCenterTabName + editCols + editCells + lbCols + lbCells + pbTestOne + pbTestTwo + + + + diff --git a/commands.cpp b/commands.cpp new file mode 100644 index 0000000..a6398ac --- /dev/null +++ b/commands.cpp @@ -0,0 +1,744 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "commands.h" +#include +#include + +Commands::Commands(QObject *parent) : QObject(parent) +{ + mSendCan = QSettings().value("send_can", false).toBool(); + mCanId = QSettings().value("can_id", 0).toInt(); + mIsLimitedMode = false; + + // Firmware state + mFirmwareIsUploading = false; + mFirmwareState = 0; + mFimwarePtr = 0; + mFirmwareTimer = 0; + mFirmwareRetries = 0; + mFirmwareUploadStatus = "FW Upload Status"; + mCheckNextbmsConfig = false; + + mTimer = new QTimer(this); + mTimer->setInterval(10); + mTimer->start(); + + mbmsConfig = 0; + + mTimeoutCount = 50; + mTimeoutFwVer = 0; + mTimeoutBMSconf = 0; + mTimeoutValues = 0; + mTimeoutCells = 0; + mTimeoutAux = 0; + mTimeoutExp = 0; + mTimeoutPingCan = 0; + + connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot())); +} + +void Commands::setLimitedMode(bool is_limited) +{ + mIsLimitedMode = is_limited; +} + +bool Commands::isLimitedMode() +{ + return mIsLimitedMode; +} + +void Commands::setSendCan(bool sendCan, int id) +{ + mSendCan = sendCan; + QSettings().setValue("send_can", sendCan); + + if (id >= 0) { + setCanSendId(id); + } +} + +bool Commands::getSendCan() +{ + return mSendCan; +} + +void Commands::setCanSendId(unsigned int id) +{ + mCanId = id; + QSettings().setValue("can_id", id); +} + +int Commands::getCanSendId() +{ + return mCanId; +} + +void Commands::processPacket(QByteArray data) +{ + VByteArray vb(data); + COMM_PACKET_ID id = (COMM_PACKET_ID)vb.vbPopFrontUint8(); + + switch (id) { + case COMM_FW_VERSION: { + mTimeoutFwVer = 0; + int fw_major; + int fw_minor; + QString hw; + QByteArray uuid; + + if (vb.size() >= 2) { + fw_major = vb.vbPopFrontInt8(); + fw_minor = vb.vbPopFrontInt8(); + hw = vb.vbPopFrontString(); + if (vb.size() >= 12) { + uuid.append(vb.left(12)); + vb.remove(0, 12); + } + } else { + fw_major = -1; + fw_minor = -1; + } + + emit fwVersionReceived(fw_major, fw_minor, hw, uuid); + } break; + + case COMM_ERASE_NEW_APP: + case COMM_WRITE_NEW_APP_DATA: + firmwareUploadUpdate(!vb.at(0)); + break; + + case COMM_GET_VALUES: { + mTimeoutValues = 0; + BMS_VALUES values; + + values.packVoltage = vb.vbPopFrontDouble32(1e3); + values.packCurrent = vb.vbPopFrontDouble32(1e3); + + values.soC = vb.vbPopFrontUint8(); + + values.cVHigh = vb.vbPopFrontDouble32(1e3); + values.cVAverage = vb.vbPopFrontDouble32(1e3); + values.cVLow = vb.vbPopFrontDouble32(1e3); + values.cVMisMatch = vb.vbPopFrontDouble32(1e3); + + values.loadLCVoltage = vb.vbPopFrontDouble16(1e1); + values.loadLCCurrent = vb.vbPopFrontDouble16(1e1); + + values.chargerVoltage = vb.vbPopFrontDouble16(1e1); + + values.tempBattHigh = vb.vbPopFrontDouble16(1e1); + values.tempBattAverage = vb.vbPopFrontDouble16(1e1); + values.tempBattLow = vb.vbPopFrontDouble16(1e1); + values.tempBMSHigh = vb.vbPopFrontDouble16(1e1); + values.tempBMSAverage = vb.vbPopFrontDouble16(1e1); + values.tempBMSLow = vb.vbPopFrontDouble16(1e1); + values.humidity = vb.vbPopFrontDouble16(1e1); + + values.opState = opStateToStr((OperationalStateTypedef)vb.vbPopFrontUint8()); + values.balanceActive = vb.vbPopFrontUint8(); + values.faultState = faultStateToStr((bms_fault_code)vb.vbPopFrontUint8()); + emit valuesReceived(values); + } break; + + case COMM_GET_BMS_CELLS:{ + mTimeoutCells = 0; + int mCellAmount; + QVector mCellVoltages; + mCellVoltages.clear(); + + mCellAmount = vb.vbPopFrontUint8(); + + for(int cellValuePointer = 0; cellValuePointer < mCellAmount; cellValuePointer++){ + mCellVoltages.append(vb.vbPopFrontDouble16(1e3)); + } + + emit cellsReceived(mCellAmount,mCellVoltages); + + } break; + + case COMM_GET_BMS_AUX:{ + mTimeoutAux = 0; + int mAuxAmount; + QVector mAuxVoltages; + mAuxVoltages.clear(); + + mAuxAmount = vb.vbPopFrontUint8(); + + for(int auxValuePointer = 0; auxValuePointer < mAuxAmount; auxValuePointer++){ + mAuxVoltages.append(vb.vbPopFrontDouble16(1e1)); + } + + emit auxReceived(mAuxAmount,mAuxVoltages); + + } break; + + case COMM_GET_BMS_EXP_TEMP:{ + mTimeoutExp = 0; + int mExpTempAmount; + QVector mExpTempVoltages; + mExpTempVoltages.clear(); + + mExpTempAmount = vb.vbPopFrontUint8(); + + for(int expTempValuePointer = 0; expTempValuePointer < mExpTempAmount; expTempValuePointer++){ + mExpTempVoltages.append(vb.vbPopFrontDouble16(1e1)); + } + + emit expTempReceived(mExpTempAmount,mExpTempVoltages); + + } break; + + case COMM_PRINT: + emit printReceived(QString::fromLatin1(vb)); + break; + + case COMM_ROTOR_POSITION: + emit rotorPosReceived(vb.vbPopFrontDouble32(1e5)); + break; + + case COMM_GET_MCCONF: + case COMM_GET_MCCONF_DEFAULT: + mTimeoutBMSconf = 0; + if (mbmsConfig) { + mbmsConfig->deSerialize(vb); + mbmsConfig->updateDone(); + + if (mCheckNextbmsConfig) { + mCheckNextbmsConfig = false; + emit bmsConfigCheckResult(mbmsConfig->checkDifference(&mbmsConfigLast)); + } + } + break; + + case COMM_SET_MCCONF: + emit ackReceived("BMS Write OK"); + break; + + case COMM_STORE_BMS_CONF: + if (mbmsConfig) { + mbmsConfig->storingDone(); + } + break; + + case COMM_PING_CAN: { + mTimeoutPingCan = 0; + QVector devs; + while(vb.size() > 0) { + devs.append(vb.vbPopFrontUint8()); + } + emit pingCanRx(devs, false); + } break; + + default: + break; + } +} + +void Commands::getFwVersion() +{ + if (mTimeoutFwVer > 0) { + return; + } + + mTimeoutFwVer = mTimeoutCount; + + VByteArray vb; + vb.vbAppendInt8(COMM_FW_VERSION); + emitData(vb); +} + +void Commands::getValues() +{ + if (mTimeoutValues > 0) { + return; + } + + mTimeoutValues = mTimeoutCount; + + VByteArray vb; + vb.vbAppendInt8(COMM_GET_VALUES); + emitData(vb); +} + +void Commands::getCells() +{ + if (mTimeoutCells > 0) { + return; + } + + mTimeoutCells = mTimeoutCount; + + VByteArray vb; + vb.vbAppendInt8(COMM_GET_BMS_CELLS); + emitData(vb); +} + +void Commands::getAux() +{ + if (mTimeoutAux > 0) { + return; + } + + mTimeoutAux = mTimeoutCount; + + VByteArray vb; + vb.vbAppendInt8(COMM_GET_BMS_AUX); + emitData(vb); +} + +void Commands::getExpansionTemp() +{ + if (mTimeoutExp > 0) { + return; + } + + mTimeoutExp = mTimeoutCount; + + VByteArray vb; + vb.vbAppendInt8(COMM_GET_BMS_EXP_TEMP); + emitData(vb); +} +void Commands::sendTerminalCmd(QString cmd) +{ + VByteArray vb; + vb.vbAppendInt8(COMM_TERMINAL_CMD); + vb.append(cmd.toLatin1()); + emitData(vb); +} + +void Commands::setDetect(disp_pos_mode mode) +{ + VByteArray vb; + vb.vbAppendInt8(COMM_SET_DETECT); + vb.vbAppendInt8(mode); + emitData(vb); +} + +void Commands::samplePrint(debug_sampling_mode mode, int sample_len, int dec) +{ + VByteArray vb; + vb.vbAppendInt8(COMM_SAMPLE_PRINT); + vb.vbAppendInt8(mode); + vb.vbAppendUint16(sample_len); + vb.vbAppendUint8(dec); + emitData(vb); +} + +void Commands::getBMSconf() +{ + if (mTimeoutBMSconf > 0) { + return; + } + + mTimeoutBMSconf = mTimeoutCount; + + + mCheckNextbmsConfig = false; + VByteArray vb; + vb.vbAppendInt8(COMM_GET_MCCONF); + emitData(vb); +} + +void Commands::getBMSconfDefault() +{ + if (mTimeoutBMSconf > 0) { + return; + } + + mTimeoutBMSconf = mTimeoutCount; + + mCheckNextbmsConfig = false; + VByteArray vb; + vb.vbAppendInt8(COMM_GET_MCCONF_DEFAULT); + emitData(vb); +} + +void Commands::setBMSconf(bool check) +{ + if (mbmsConfig) { + mbmsConfigLast = *mbmsConfig; + VByteArray vb; + vb.vbAppendInt8(COMM_SET_MCCONF); + mbmsConfig->serialize(vb); + emitData(vb); + + if (check) { + checkbmsConfig(); + } + } +} + +void Commands::reboot() +{ + VByteArray vb; + vb.vbAppendInt8(COMM_REBOOT); + emitData(vb); +} + +void Commands::sendAlive() +{ + VByteArray vb; + vb.vbAppendInt8(COMM_ALIVE); + emitData(vb); +} + +void Commands::pairNrf(int ms) +{ + VByteArray vb; + vb.vbAppendInt8(COMM_NRF_START_PAIRING); + vb.vbAppendInt32(ms); + emitData(vb); +} + +void Commands::timerSlot() +{ + if (mFirmwareIsUploading) { + if (mFirmwareTimer) { + mFirmwareTimer--; + } else { + firmwareUploadUpdate(true); + } + } + + if (mTimeoutFwVer > 0) mTimeoutFwVer--; + if (mTimeoutBMSconf > 0) mTimeoutBMSconf--; + if (mTimeoutValues > 0) mTimeoutValues--; + if (mTimeoutCells > 0) mTimeoutCells--; + if (mTimeoutAux > 0) mTimeoutAux--; + if (mTimeoutExp > 0) mTimeoutExp--; +} + +void Commands::emitData(QByteArray data) +{ + // Only allow firmware commands in limited mode + if (mIsLimitedMode && data.at(0) > COMM_WRITE_NEW_APP_DATA) { + return; + } + + if (mSendCan) { + data.prepend((char)mCanId); + data.prepend((char)COMM_FORWARD_CAN); + } + + emit dataToSend(data); +} + +void Commands::firmwareUploadUpdate(bool isTimeout) +{ + if (!mFirmwareIsUploading) { + return; + } + + const int app_packet_size = 200; + const int retries = 5; + const int timeout = 350; + + if (mFirmwareState == 0) { + mFirmwareUploadStatus = "Buffer Erase"; + if (isTimeout) { + // Erase timed out, abort. + mFirmwareIsUploading = false; + mFimwarePtr = 0; + mFirmwareUploadStatus = "Buffer Erase Timeout"; + } else { + mFirmwareState++; + mFirmwareRetries = retries; + mFirmwareTimer = timeout; + firmwareUploadUpdate(true); + } + } else if (mFirmwareState == 1) { + mFirmwareUploadStatus = "CRC/Size Write"; + if (isTimeout) { + if (mFirmwareRetries > 0) { + mFirmwareRetries--; + mFirmwareTimer = timeout; + } else { + mFirmwareIsUploading = false; + mFimwarePtr = 0; + mFirmwareState = 0; + mFirmwareUploadStatus = "CRC/Size Write Timeout"; + return; + } + + quint16 crc = Packet::crc16((const unsigned char*)mNewFirmware.constData(), mNewFirmware.size()); + + VByteArray vb; + vb.append((char)COMM_WRITE_NEW_APP_DATA); + vb.vbAppendUint32(0); + vb.vbAppendUint32(mNewFirmware.size()); + vb.vbAppendUint16(crc); + emitData(vb); + } else { + mFirmwareState++; + mFirmwareRetries = retries; + mFirmwareTimer = timeout; + firmwareUploadUpdate(true); + } + } else if (mFirmwareState == 2) { + mFirmwareUploadStatus = "FW Data Write"; + if (isTimeout) { + if (mFirmwareRetries > 0) { + mFirmwareRetries--; + mFirmwareTimer = timeout; + } else { + mFirmwareIsUploading = false; + mFimwarePtr = 0; + mFirmwareState = 0; + mFirmwareUploadStatus = "FW Data Write Timeout"; + return; + } + + int fw_size_left = mNewFirmware.size() - mFimwarePtr; + int send_size = fw_size_left > app_packet_size ? app_packet_size : fw_size_left; + + VByteArray vb; + vb.append((char)COMM_WRITE_NEW_APP_DATA); + + if (mFirmwareIsBootloader) { + vb.vbAppendUint32(mFimwarePtr + (1024 * 2 * 50)); + } else { + vb.vbAppendUint32(mFimwarePtr + 6); + } + + vb.append(mNewFirmware.mid(mFimwarePtr, send_size)); + emitData(vb); + } else { + mFirmwareRetries = retries; + mFirmwareTimer = timeout; + mFimwarePtr += app_packet_size; + + if (mFimwarePtr >= mNewFirmware.size()) { + mFirmwareIsUploading = false; + mFimwarePtr = 0; + mFirmwareState = 0; + mFirmwareUploadStatus = "FW Upload Done"; + + // Upload done. Enter bootloader! + if (!mFirmwareIsBootloader) { + QByteArray buffer; + buffer.append((char)COMM_JUMP_TO_BOOTLOADER); + emitData(buffer); + } + } else { + firmwareUploadUpdate(true); + } + } + } +} + +QString Commands::opStateToStr(OperationalStateTypedef fault) +{ + switch (fault) { + case OP_STATE_INIT: return "Init"; + case OP_STATE_CHARGING: return "Charging"; + case OP_STATE_PRE_CHARGE: return "PreCharging"; + case OP_STATE_LOAD_ENABLED: return "Load enabled"; + case OP_STATE_BATTERY_DEAD: return "Battery dead"; + case OP_STATE_POWER_DOWN: return "Power down"; + case OP_STATE_EXTERNAL: return "External"; + case OP_STATE_ERROR: return "Error"; + case OP_STATE_ERROR_PRECHARGE: return "ErrPreCharge"; + case OP_STATE_BALANCING: return "Balancing"; + case OP_STATE_CHARGED: return "Charged"; + case OP_STATE_FORCEON: return "ForceOn"; + default: return "Unknown fault"; + } +} + +QString Commands::faultStateToStr(bms_fault_code fault) +{ + switch (fault) { + case FAULT_CODE_NONE: return "System OK"; + case FAULT_CODE_PACK_OVER_VOLTAGE: return "Pack overvoltage"; + case FAULT_CODE_PACK_UNDER_VOLTAGE: return "Pack undervoltage"; + case FAULT_CODE_LOAD_OVER_VOLTAGE: return "Load overvoltage"; + case FAULT_CODE_LOAD_UNDER_VOLTAGE: return "Load undervoltage"; + case FAULT_CODE_CHARGER_OVER_VOLTAGE: return "Charger overvoltage"; + case FAULT_CODE_CHARGER_UNDER_VOLTAGE: return "Charger undervoltgae"; + case FAULT_CODE_CELL_HARD_OVER_VOLTAGE: return "Cell hard overvoltage"; + case FAULT_CODE_CELL_HARD_UNDER_VOLTAGE: return "Cell hard undervoltage"; + case FAULT_CODE_CELL_SOFT_OVER_VOLTAGE: return "Cell soft overvoltage"; + case FAULT_CODE_CELL_SOFT_UNDER_VOLTAGE: return "Cell soft undervoltage"; + case FAULT_CODE_MAX_UVP_OVP_ERRORS: return "MAX OVP/UVP errors"; + case FAULT_CODE_MAX_UVT_OVT_ERRORS: return "MAX OVT/UVT errors"; + case FAULT_CODE_OVER_CURRENT: return "Over current"; + case FAULT_CODE_OVER_TEMP_BMS: return "Over temp BMS"; + case FAULT_CODE_UNDER_TEMP_BMS: return "Under temp BMS"; + case FAULT_CODE_DISCHARGE_OVER_TEMP_CELLS: return "Discharge over temp cell"; + case FAULT_CODE_DISCHARGE_UNDER_TEMP_CELLS: return "Discharge under temp cell"; + case FAULT_CODE_CHARGE_OVER_TEMP_CELLS: return "Charge over temp cell"; + case FAULT_CODE_CHARGE_UNDER_TEMP_CELLS: return "Charge under temp cell"; + case FAULT_CODE_PRECHARGE_TIMEOUT: return "Precharge timeout"; + case FAULT_CODE_DISCHARGE_RETRY: return "Discharge retry"; + case FAULT_CODE_CHARGE_RETRY: return "Charge retry"; + case FAULT_CODE_CHARGER_DISCONNECT: return "Charge retry"; + default: return "Unknown fault"; + } +} + +void Commands::setbmsConfig(ConfigParams *bmsConfig) +{ + mbmsConfig = bmsConfig; + connect(mbmsConfig, SIGNAL(updateRequested()), this, SLOT(getBMSconf())); + connect(mbmsConfig, SIGNAL(updateRequestDefault()), this, SLOT(getBMSconfDefault())); +} + +void Commands::startFirmwareUpload(QByteArray &newFirmware, bool isBootloader) +{ + mFirmwareIsBootloader = isBootloader; + mFirmwareIsUploading = true; + mFirmwareState = mFirmwareIsBootloader ? 2 : 0; + mFimwarePtr = 0; + mFirmwareTimer = 500; + mFirmwareRetries = 5; + mNewFirmware.clear(); + mNewFirmware.append(newFirmware); + mFirmwareUploadStatus = "Buffer Erase"; + + if (mFirmwareIsBootloader) { + firmwareUploadUpdate(true); + } else { + VByteArray vb; + vb.vbAppendInt8(COMM_ERASE_NEW_APP); + vb.vbAppendUint32(mNewFirmware.size()); + emitData(vb); + } +} + +double Commands::getFirmwareUploadProgress() +{ + if (mFirmwareIsUploading) { + return (double)mFimwarePtr / (double)mNewFirmware.size(); + } else { + return -1.0; + } +} + +QString Commands::getFirmwareUploadStatus() +{ + return mFirmwareUploadStatus; +} + +void Commands::cancelFirmwareUpload() +{ + if (mFirmwareIsUploading) { + mFirmwareIsUploading = false; + mFimwarePtr = 0; + mFirmwareState = 0; + mFirmwareUploadStatus = "Cancelled"; + } +} + +void Commands::checkbmsConfig() +{ + mCheckNextbmsConfig = true; + VByteArray vb; + vb.vbAppendInt8(COMM_GET_MCCONF); + emitData(vb); +} + +void Commands::storeBMSConfig() +{ + VByteArray vb; + vb.vbAppendInt8(COMM_STORE_BMS_CONF); + emitData(vb); +} + +void Commands::emitEmptyValues() +{ + BMS_VALUES values; + values.packVoltage = 0.0; + values.packCurrent = 0.0; + values.soC = 0.0; + values.cVHigh = 0.0; + values.cVAverage = 0.0; + values.cVLow = 0.0; + values.cVMisMatch = 0.0; + values.loadLCVoltage = 0.0; + values.loadLCCurrent = 0.0; + values.loadHCVoltage = 0.0; + values.loadHCCurrent = 0.0; + values.chargerVoltage = 0.0; + values.auxVoltage = 0.0; + values.auxCurrent = 0.0; + values.tempBattHigh = 0.0; + values.tempBattAverage = 0.0; + values.tempBattLow = 0.0; + values.tempBMSHigh = 0.0; + values.tempBMSAverage = 0.0; + values.tempBMSLow = 0.0; + values.humidity = 0.0; + values.opState = "Unknown"; + values.balanceActive = 0.0; + values.faultState = "Unknown"; + + + emit valuesReceived(values); +} + +void Commands::emitEmptySetupValues() +{ + BMS_VALUES values; + values.packVoltage = 0.0; + values.packCurrent = 0.0; + values.soC = 0.0; + values.cVHigh = 0.0; + values.cVAverage = 0.0; + values.cVLow = 0.0; + values.cVMisMatch = 0.0; + values.loadLCVoltage = 0.0; + values.loadLCCurrent = 0.0; + values.loadHCVoltage = 0.0; + values.loadHCCurrent = 0.0; + values.chargerVoltage = 0.0; + values.auxVoltage = 0.0; + values.auxCurrent = 0.0; + values.tempBattHigh = 0.0; + values.tempBattAverage = 0.0; + values.tempBattLow = 0.0; + values.tempBMSHigh = 0.0; + values.tempBMSAverage = 0.0; + values.tempBMSLow = 0.0; + values.opState = OP_STATE_INIT; + values.balanceActive = 1; + values.faultState = FAULT_CODE_NONE; + + emit valuesSetupReceived(values); +} + + +void Commands::pingCan() +{ + if (mTimeoutPingCan > 0) { + return; + } + + mTimeoutPingCan = 500; + + VByteArray vb; + vb.vbAppendInt8(COMM_PING_CAN); + emitData(vb); +} diff --git a/commands.h b/commands.h new file mode 100644 index 0000000..e010ea0 --- /dev/null +++ b/commands.h @@ -0,0 +1,131 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef COMMANDS_H +#define COMMANDS_H + +#include +#include +#include "vbytearray.h" +#include "datatypes.h" +#include "packet.h" +#include "configparams.h" + +class Commands : public QObject +{ + Q_OBJECT +public: + explicit Commands(QObject *parent = 0); + + void setLimitedMode(bool is_limited); + Q_INVOKABLE bool isLimitedMode(); + Q_INVOKABLE void setSendCan(bool sendCan, int id = -1); + Q_INVOKABLE bool getSendCan(); + Q_INVOKABLE void setCanSendId(unsigned int id); + Q_INVOKABLE int getCanSendId(); + void setbmsConfig(ConfigParams *bmsConfig); + Q_INVOKABLE void startFirmwareUpload(QByteArray &newFirmware, bool isBootloader = false); + Q_INVOKABLE double getFirmwareUploadProgress(); + Q_INVOKABLE QString getFirmwareUploadStatus(); + Q_INVOKABLE void cancelFirmwareUpload(); + void checkbmsConfig(); + void storeBMSConfig(); + Q_INVOKABLE void emitEmptyValues(); + Q_INVOKABLE void emitEmptySetupValues(); + + +signals: + void dataToSend(QByteArray &data); + + void fwVersionReceived(int major, int minor, QString hw, QByteArray uuid); + void ackReceived(QString ackType); + void valuesReceived(BMS_VALUES values); + void cellsReceived(int cellCount, QVector cellVoltageArray); + void auxReceived(int auxCount, QVector auxVoltageArray); + void expTempReceived(int expTempCount, QVector expTempVoltageArray); + void printReceived(QString str); + void rotorPosReceived(double pos); + void bmsConfigCheckResult(QStringList paramsNotSet); + void valuesSetupReceived(BMS_VALUES values); + void pingCanRx(QVector devs, bool isTimeout); + +public slots: + void processPacket(QByteArray data); + + void getFwVersion(); + void getValues(); + void getCells(); + void getAux(); + void getExpansionTemp(); + void sendTerminalCmd(QString cmd); + void setDetect(disp_pos_mode mode); + void samplePrint(debug_sampling_mode mode, int sample_len, int dec); + void getBMSconf(); + void getBMSconfDefault(); + void setBMSconf(bool check = true); + void reboot(); + void sendAlive(); + void pairNrf(int ms); + void pingCan(); + +private slots: + void timerSlot(); + +private: + void emitData(QByteArray data); + void firmwareUploadUpdate(bool isTimeout); + QString opStateToStr(OperationalStateTypedef fault); + QString faultStateToStr(bms_fault_code fault); + + QTimer *mTimer; + bool mSendCan; + int mCanId; + bool mIsLimitedMode; + + // FW upload state + QByteArray mNewFirmware; + bool mFirmwareIsUploading; + int mFirmwareState; + int mFimwarePtr; + int mFirmwareTimer; + int mFirmwareRetries; + bool mFirmwareIsBootloader; + QString mFirmwareUploadStatus; + + ConfigParams *mbmsConfig; + ConfigParams mbmsConfigLast; + bool mCheckNextbmsConfig; + + int mTimeoutCount; + int mTimeoutFwVer; + int mTimeoutBMSconf; + int mTimeoutValues; + int mTimeoutCells; + int mTimeoutAux; + int mTimeoutExp; + int mTimeoutPingCan; +}; + +#endif // COMMANDS_H diff --git a/configparam.cpp b/configparam.cpp new file mode 100644 index 0000000..0fc133b --- /dev/null +++ b/configparam.cpp @@ -0,0 +1,101 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "configparam.h" + +ConfigParam::ConfigParam() +{ + reset(); +} + +void ConfigParam::reset() +{ + type = CFG_T_UNDEFINED; + longName = "none"; + description = "TODO"; + cDefine.clear(); + + valDouble = 0.0; + valInt = 0; + maxDouble = 99.0; + minDouble = 0.0; + stepDouble = 1.0; + editorDecimalsDouble = 2; + editorScale = 1.0; + maxInt = 99; + minInt = 0; + stepInt = 1; + vTx = VESC_TX_UNDEFINED; + vTxDoubleScale = 1.0; + suffix = ""; + enumNames.clear(); + editAsPercentage = false; + showDisplay = false; + transmittable = true; +} + +void ConfigParam::setInt(int val, int max, int min, int step) +{ + type = CFG_T_INT; + valInt = val; + maxInt = max; + minInt = min; + stepInt = step; +} + +void ConfigParam::setDouble(double val, double max, double min, double step, int decimals) +{ + type = CFG_T_DOUBLE; + valDouble = val; + maxDouble = max; + minDouble = min; + stepDouble = step; + editorDecimalsDouble = decimals; +} + +void ConfigParam::setDoubleTx(VESC_TX_T tx, double scale) +{ + vTx = tx; + vTxDoubleScale = scale; +} + +void ConfigParam::setEnum(int val, QStringList names) +{ + type = CFG_T_ENUM; + valInt = val; + enumNames = names; +} + +void ConfigParam::setString(QString val) +{ + type = CFG_T_QSTRING; + valString = val; +} + +void ConfigParam::setBool(bool val) +{ + type = CFG_T_BOOL; + valInt = val; +} diff --git a/configparam.h b/configparam.h new file mode 100644 index 0000000..9996f2d --- /dev/null +++ b/configparam.h @@ -0,0 +1,71 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef CONFIGPARAM_H +#define CONFIGPARAM_H + +#include +#include "datatypes.h" + +class ConfigParam +{ +public: + ConfigParam(); + + void reset(); + void setInt(int val, int max = 99, int min = 0, int step = 0); + void setDouble(double val, double max = 99.0, double min = 0.0, + double step = 1.0, int decimals = 2); + void setDoubleTx(VESC_TX_T tx, double scale); + void setEnum(int val, QStringList names); + void setString(QString val); + void setBool(bool val); + + CFG_T type; + QString longName; + QString description; + QString cDefine; + double valDouble; + int valInt; + QString valString; + QStringList enumNames; + double maxDouble; + double minDouble; + double stepDouble; + int editorDecimalsDouble; + int maxInt; + int minInt; + int stepInt; + VESC_TX_T vTx; + double vTxDoubleScale; + QString suffix; + double editorScale; + bool editAsPercentage; + bool showDisplay; + bool transmittable; + +}; + +#endif // CONFIGPARAM_H diff --git a/configparams.cpp b/configparams.cpp new file mode 100644 index 0000000..e0eecaf --- /dev/null +++ b/configparams.cpp @@ -0,0 +1,1559 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "configparams.h" +#include +#include "widgets/parameditdouble.h" +#include "widgets/parameditint.h" +#include "widgets/parameditstring.h" +#include "widgets/parameditenum.h" +#include "widgets/parameditbool.h" +#include +#include +#include +#include +#include "utility.h" + +ConfigParams::ConfigParams(QObject *parent) : QObject(parent) +{ + mUpdateOnlyName.clear(); + mXmlStatus = tr("OK"); + mUpdatesEnabled = true; +} + +void ConfigParams::addParam(const QString &name, ConfigParam param) +{ + if (!mParams.contains(name)) { + + mParams.insert(name, param); + mParamList.append(name); + } else { + qWarning() << name << "already present."; + } +} + +void ConfigParams::deleteParam(const QString &name) +{ + mParams.remove(name); + for (int i = 0;i < mParamList.size();i++) { + if (mParamList.at(i) == name) { + mParamList.removeAt(i); + break; + } + } +} + +/** + * @brief ConfigParams::setUpdateOnly + * Only update parameter with the following name. + * + * @param name + * The name of the parameter to update. If empty all parameters will be updated. + */ +void ConfigParams::setUpdateOnly(const QString &name) +{ + mUpdateOnlyName = name; +} + +QString ConfigParams::getUpdateOnly() +{ + return mUpdateOnlyName; +} + +bool ConfigParams::getUpdatesEnabled() const +{ + return mUpdatesEnabled; +} + +void ConfigParams::setUpdatesEnabled(bool updatesEnabled) +{ + mUpdatesEnabled = updatesEnabled; +} + +void ConfigParams::clearParams() +{ + mParams.clear(); + mParamList.clear(); +} + +void ConfigParams::clearAll() +{ + clearParams(); + clearSerializeOrder(); +} + +bool ConfigParams::hasParam(const QString &name) +{ + return mParams.contains(name); +} + +ConfigParam *ConfigParams::getParam(const QString &name) +{ + ConfigParam *retVal = 0; + + if (mParams.contains(name)) { + retVal = &mParams[name]; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +ConfigParam ConfigParams::getParamCopy(const QString &name) const +{ + ConfigParam retVal; + + if (mParams.contains(name)) { + retVal = mParams.value(name); + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +bool ConfigParams::isParamDouble(const QString &name) +{ + if (mParams.contains(name) && mParams[name].type == CFG_T_DOUBLE) { + return true; + } else { + return false; + } +} + +bool ConfigParams::isParamInt(const QString &name) +{ + if (mParams.contains(name) && mParams[name].type == CFG_T_INT) { + return true; + } else { + return false; + } +} + +bool ConfigParams::isParamEnum(const QString &name) +{ + if (mParams.contains(name) && mParams[name].type == CFG_T_ENUM) { + return true; + } else { + return false; + } +} + +bool ConfigParams::isParamQString(const QString &name) +{ + if (mParams.contains(name) && mParams[name].type == CFG_T_QSTRING) { + return true; + } else { + return false; + } +} + +bool ConfigParams::isParamBool(const QString &name) +{ + if (mParams.contains(name) && mParams[name].type == CFG_T_BOOL) { + return true; + } else { + return false; + } +} + +double ConfigParams::getParamDouble(const QString &name) +{ + double retVal = 0.0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_DOUBLE) { + retVal = p.valDouble; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +int ConfigParams::getParamInt(const QString &name) +{ + int retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_INT) { + retVal = p.valInt; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +int ConfigParams::getParamEnum(const QString &name) +{ + int retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_ENUM) { + retVal = p.valInt; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +QString ConfigParams::getParamQString(const QString &name) +{ + QString retVal = ""; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_QSTRING) { + retVal = p.valString; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +bool ConfigParams::getParamBool(const QString &name) +{ + bool retVal = false; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_BOOL) { + retVal = p.valInt; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +QString ConfigParams::getLongName(const QString &name) +{ + QString retVal = ""; + + if (mParams.contains(name)) { + retVal = mParams[name].longName; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +QString ConfigParams::getDescription(const QString &name) +{ + QString retVal = ""; + + if (mParams.contains(name)) { + retVal = mParams[name].description; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +double ConfigParams::getParamMaxDouble(const QString &name) +{ + double retVal = 0.0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_DOUBLE) { + retVal = p.maxDouble; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +double ConfigParams::getParamMinDouble(const QString &name) +{ + double retVal = 0.0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_DOUBLE) { + retVal = p.minDouble; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +double ConfigParams::getParamStepDouble(const QString &name) +{ + double retVal = 0.0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_DOUBLE) { + retVal = p.stepDouble; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +int ConfigParams::getParamDecimalsDouble(const QString &name) +{ + int retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_DOUBLE) { + retVal = p.editorDecimalsDouble; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +int ConfigParams::getParamMaxInt(const QString &name) +{ + int retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_INT) { + retVal = p.maxInt; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +int ConfigParams::getParamMinInt(const QString &name) +{ + int retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_INT) { + retVal = p.minInt; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +int ConfigParams::getParamStepInt(const QString &name) +{ + int retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_INT) { + retVal = p.stepInt; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +QStringList ConfigParams::getParamEnumNames(const QString &name) +{ + QStringList retVal; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (p.type == CFG_T_ENUM) { + retVal = p.enumNames; + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +double ConfigParams::getParamEditorScale(const QString &name) +{ + double retVal = 0.0; + + if (mParams.contains(name)) { + retVal = mParams[name].editorScale; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +QString ConfigParams::getParamSuffix(const QString &name) +{ + QString retVal = ""; + + if (mParams.contains(name)) { + retVal = mParams[name].suffix; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +bool ConfigParams::getParamEditAsPercentage(const QString &name) +{ + bool retVal = false; + + if (mParams.contains(name)) { + retVal = mParams[name].editAsPercentage; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +bool ConfigParams::getParamShowDisplay(const QString &name) +{ + bool retVal = false; + + if (mParams.contains(name)) { + retVal = mParams[name].showDisplay; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +bool ConfigParams::getParamTransmittable(const QString &name) +{ + bool retVal = false; + + if (mParams.contains(name)) { + retVal = mParams[name].transmittable; + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +QStringList ConfigParams::getParamOrder() const +{ + return mParamList; +} + +void ConfigParams::setParamOrder(const QStringList &order) +{ + // TODO: Add check to make sure that the new order is valid. + mParamList = order; +} + +void ConfigParams::setParamValue(const QString &name, QVariant val) +{ + ConfigParam *retVal = 0; + ConfigParam &p = mParams[name]; + + if (mParams.contains(name)) { + p.suffix; + p.editorDecimalsDouble; + p.editAsPercentage; + p.showDisplay; + + //int(p.type); + switch (p.type) { + case CFG_T_QSTRING: { + p.valString = val.toString(); + } + break; + + case CFG_T_DOUBLE: { + p.valDouble = val.toDouble(); + } + break; + + case CFG_T_ENUM: + case CFG_T_BOOL: + case CFG_T_INT: { + if(val.type() == QVariant::Bool) + p.valInt = val.toBool() ? 1 : 0; + else + p.valInt = val.toInt(); + } + break; + } + + //edit->setProperty("type", int(p.type)); + //edit->setProperty("suffix", p.suffix); + //edit->setProperty("editorDecimalsDouble", p.editorDecimalsDouble); + //edit->setProperty("editAsPercentage", p.editAsPercentage); + //edit->setProperty("value", p.valDouble); + + } else { + qWarning() << name << "not found"; + } +} + + +QWidget *ConfigParams::getEditor(const QString &name, QWidget *parent) +{ + QWidget *retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + switch (p.type) { + case CFG_T_DOUBLE: { + ParamEditDouble *edit = new ParamEditDouble(parent); + edit->setName(name); + edit->setSuffix(p.suffix); + edit->setDecimals(p.editorDecimalsDouble); + edit->setShowAsPercentage(p.editAsPercentage); + edit->showDisplay(p.showDisplay); + + edit->setProperty("type", int(p.type)); + edit->setProperty("suffix", p.suffix); + edit->setProperty("editorDecimalsDouble", p.editorDecimalsDouble); + edit->setProperty("editAsPercentage", p.editAsPercentage); + edit->setProperty("value", p.valDouble); + + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_INT: { + ParamEditInt *edit = new ParamEditInt(parent); + edit->setName(name); + edit->setSuffix(p.suffix); + edit->setShowAsPercentage(p.editAsPercentage); + edit->showDisplay(p.showDisplay); + + edit->setProperty("type", int(p.type)); + edit->setProperty("suffix", p.suffix); + edit->setProperty("editorDecimalsDouble", p.editorDecimalsDouble); + edit->setProperty("editAsPercentage", p.editAsPercentage); + edit->setProperty("value", p.valInt); + + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_QSTRING: { + ParamEditString *edit = new ParamEditString(parent); + edit->setName(name); + + edit->setProperty("type", int(p.type)); + edit->setProperty("suffix", p.suffix); + edit->setProperty("editorDecimalsDouble", p.editorDecimalsDouble); + edit->setProperty("editAsPercentage", p.editAsPercentage); + edit->setProperty("value", p.valString); + + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_ENUM: { + ParamEditEnum *edit = new ParamEditEnum(parent); + edit->setName(name); + + edit->setProperty("type", int(p.type)); + edit->setProperty("suffix", p.suffix); + edit->setProperty("editorDecimalsDouble", p.editorDecimalsDouble); + edit->setProperty("editAsPercentage", p.editAsPercentage); + edit->setProperty("value", p.valInt); + + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_BOOL: { + ParamEditBool *edit = new ParamEditBool(parent); + edit->setName(name); + + edit->setProperty("type", int(p.type)); + edit->setProperty("suffix", p.suffix); + edit->setProperty("editorDecimalsDouble", p.editorDecimalsDouble); + edit->setProperty("editAsPercentage", p.editAsPercentage); + edit->setProperty("value", p.valInt); + + edit->setConfig(this); + retVal = edit; + } break; + + default: + qWarning() << "no editor for" << name << "could be created"; + break; + } + + } else { + qWarning() << name << "not found"; + } + + return retVal; +} + +/* +QWidget *ConfigParams::getEditor(const QString &name, QWidget *parent) +{ + QWidget *retVal = 0; + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + switch (p.type) { + case CFG_T_DOUBLE: { + ParamEditDouble *edit = new ParamEditDouble(parent); + edit->setName(name); + edit->setSuffix(p.suffix); + edit->setDecimals(p.editorDecimalsDouble); + edit->setShowAsPercentage(p.editAsPercentage); + edit->showDisplay(p.showDisplay); + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_INT: { + ParamEditInt *edit = new ParamEditInt(parent); + edit->setName(name); + edit->setSuffix(p.suffix); + edit->setShowAsPercentage(p.editAsPercentage); + edit->showDisplay(p.showDisplay); + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_QSTRING: { + ParamEditString *edit = new ParamEditString(parent); + edit->setName(name); + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_ENUM: { + ParamEditEnum *edit = new ParamEditEnum(parent); + edit->setName(name); + edit->setConfig(this); + retVal = edit; + } break; + + case CFG_T_BOOL: { + ParamEditBool *edit = new ParamEditBool(parent); + edit->setName(name); + edit->setConfig(this); + retVal = edit; + } break; + + default: + qWarning() << "no editor for" << name << "could be created"; + break; + } + + } else { + qWarning() << name << "not found"; + } + + return retVal; +} +*/ + + + +void ConfigParams::getParamSerial(VByteArray &vb, const QString &name) +{ + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + switch (p.type) { + case CFG_T_UNDEFINED: + qWarning() << name << ": type not defined."; + break; + + case CFG_T_DOUBLE: + if (p.vTx == VESC_TX_DOUBLE16) { + vb.vbAppendDouble16(p.valDouble, p.vTxDoubleScale); + } else if (p.vTx == VESC_TX_DOUBLE32) { + vb.vbAppendDouble32(p.valDouble, p.vTxDoubleScale); + } else if (p.vTx == VESC_TX_DOUBLE32_AUTO) { + vb.vbAppendDouble32Auto(p.valDouble); + } else { + qWarning() << name << ": wrong tx type set."; + } + break; + + case CFG_T_INT: + if (p.vTx == VESC_TX_UINT8) { + vb.vbAppendUint8(p.valInt); + } else if (p.vTx == VESC_TX_INT8) { + vb.vbAppendInt8(p.valInt); + } else if (p.vTx == VESC_TX_UINT16) { + vb.vbAppendUint16(p.valInt); + } else if (p.vTx == VESC_TX_INT16) { + vb.vbAppendInt16(p.valInt); + } else if (p.vTx == VESC_TX_UINT32) { + vb.vbAppendUint32(p.valInt); + } else if (p.vTx == VESC_TX_INT32) { + vb.vbAppendInt32(p.valInt); + } else { + qWarning() << name << ": wrong tx type set."; + } + break; + + case CFG_T_QSTRING: + qWarning() << name << ": QString not supported."; + break; + + case CFG_T_ENUM: + case CFG_T_BOOL: + vb.vbAppendInt8(p.valInt); + break; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::setParamSerial(VByteArray &vb, const QString &name, QObject *src) +{ + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + switch (p.type) { + case CFG_T_UNDEFINED: + qWarning() << name << ": type not defined."; + break; + + case CFG_T_DOUBLE: { + double val = 0.0; + if (p.vTx == VESC_TX_DOUBLE16) { + val = vb.vbPopFrontDouble16(p.vTxDoubleScale); + } else if (p.vTx == VESC_TX_DOUBLE32) { + val = vb.vbPopFrontDouble32(p.vTxDoubleScale); + } else if (p.vTx == VESC_TX_DOUBLE32_AUTO) { + val = vb.vbPopFrontDouble32Auto(); + } else { + qWarning() << name << ": wrong tx type set."; + } + + if (mUpdatesEnabled && (mUpdateOnlyName.isEmpty() || mUpdateOnlyName == name)) { + if (p.valDouble != val) { + p.valDouble = val; + emit paramChangedDouble(src, name, val); + } + } + } break; + + case CFG_T_INT: { + int val = 0; + + if (p.vTx == VESC_TX_UINT8) { + val = vb.vbPopFrontUint8(); + } else if (p.vTx == VESC_TX_INT8) { + val = vb.vbPopFrontInt8(); + } else if (p.vTx == VESC_TX_UINT16) { + val = vb.vbPopFrontUint16(); + } else if (p.vTx == VESC_TX_INT16) { + val = vb.vbPopFrontInt16(); + } else if (p.vTx == VESC_TX_UINT32) { + val = vb.vbPopFrontUint32(); + } else if (p.vTx == VESC_TX_INT32) { + val = vb.vbPopFrontInt32(); + } else { + qWarning() << name << ": wrong tx type set."; + } + + if (mUpdatesEnabled && (mUpdateOnlyName.isEmpty() || mUpdateOnlyName == name)) { + if (p.valInt != val) { + p.valInt = val; + emit paramChangedInt(src, name, val); + } + } + } break; + + case CFG_T_QSTRING: + qWarning() << name << ": QString not supported."; + break; + + case CFG_T_ENUM: + case CFG_T_BOOL: { + int val = vb.vbPopFrontInt8(); + + if (mUpdatesEnabled && (mUpdateOnlyName.isEmpty() || mUpdateOnlyName == name)) { + if (p.valInt != val) { + p.valInt = val; + if (p.type == CFG_T_BOOL) { + emit paramChangedBool(src, name, val); + } else { + emit paramChangedEnum(src, name, val); + } + } + } + } break; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::updateParamDouble(QString name, double param, QObject *src) +{ + if (!mUpdatesEnabled || (!mUpdateOnlyName.isEmpty() && mUpdateOnlyName != name)) { + return; + } + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + if (p.type == CFG_T_DOUBLE) { + if (p.valDouble != param) { + p.valDouble = param; + emit paramChangedDouble(src, name, param); + } + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::updateParamInt(QString name, int param, QObject *src) +{ + if (!mUpdatesEnabled || (!mUpdateOnlyName.isEmpty() && mUpdateOnlyName != name)) { + return; + } + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + if (p.type == CFG_T_INT) { + if (p.valInt != param) { + p.valInt = param; + emit paramChangedInt(src, name, param); + } + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::updateParamEnum(QString name, int param, QObject *src) +{ + if (!mUpdatesEnabled || (!mUpdateOnlyName.isEmpty() && mUpdateOnlyName != name)) { + return; + } + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + if (p.type == CFG_T_ENUM) { + if (p.valInt != param) { + p.valInt = param; + emit paramChangedEnum(src, name, param); + } + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::updateParamString(QString name, QString param, QObject *src) +{ + if (!mUpdatesEnabled || (!mUpdateOnlyName.isEmpty() && mUpdateOnlyName != name)) { + return; + } + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + if (p.type == CFG_T_QSTRING) { + if (p.valString != param) { + p.valString = param; + emit paramChangedQString(src, name, param); + } + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::updateParamBool(QString name, bool param, QObject *src) +{ + if (!mUpdatesEnabled || (!mUpdateOnlyName.isEmpty() && mUpdateOnlyName != name)) { + return; + } + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + if (p.type == CFG_T_BOOL) { + if (p.valInt != param) { + p.valInt = param; + emit paramChangedBool(src, name, param); + } + } else { + qWarning() << name << "wrong type"; + } + } else { + qWarning() << name << "not found"; + } +} + +void ConfigParams::requestUpdate() +{ + emit updateRequested(); +} + +void ConfigParams::requestUpdateDefault() +{ + emit updateRequestDefault(); +} + +void ConfigParams::updateDone() +{ + // Accept all names from now on again. + mUpdateOnlyName.clear(); + emit updated(); +} + +void ConfigParams::storingDone() +{ + emit stored(); +} + +// http://realtimecollisiondetection.net/blog/?p=89 +bool ConfigParams::almostEqual(float A, float B, float eps) +{ + return fabsf(A - B) <= eps * fmaxf(1.0f, fmaxf(fabsf(A), fabsf(B))); +} + +QStringList ConfigParams::getSerializeOrder() const +{ + return mSerializeOrder; +} + +void ConfigParams::setSerializeOrder(const QStringList &serializeOrder) +{ + mSerializeOrder = serializeOrder; +} + +void ConfigParams::clearSerializeOrder() +{ + mSerializeOrder.clear(); +} + +void ConfigParams::serialize(VByteArray &vb) +{ + for (int i = 0;i < mSerializeOrder.size();i++) { + getParamSerial(vb, mSerializeOrder.at(i)); + } +} + +void ConfigParams::deSerialize(VByteArray &vb) +{ + for (int i = 0;i < mSerializeOrder.size();i++) { + setParamSerial(vb, mSerializeOrder.at(i)); + } +} + +void ConfigParams::getXML(QXmlStreamWriter &stream, QString configName) +{ + stream.writeStartDocument(); + stream.writeStartElement(configName); + + QHashIterator i(mParams); + while (i.hasNext()) { + i.next(); + + const ConfigParam &p = i.value(); + QString name = i.key(); + + switch (p.type) { + case CFG_T_BOOL: + case CFG_T_ENUM: + case CFG_T_INT: + stream.writeTextElement(name, QString::number(p.valInt)); + break; + + case CFG_T_DOUBLE: + stream.writeTextElement(name, QString::number(p.valDouble)); + break; + + case CFG_T_QSTRING: + stream.writeTextElement(name, p.valString); + break; + + case CFG_T_UNDEFINED: + // Undefined parameters have no value to save. + break; + + default: + qWarning() << name << ": type not supported."; + break; + } + } + + stream.writeEndDocument(); +} + +bool ConfigParams::setXML(QXmlStreamReader &stream, QString configName) +{ + bool nameFound = false; + while (stream.readNextStartElement()) { + if (stream.name() == configName) { + nameFound = true; + break; + } + } + + if (nameFound) { + while (stream.readNextStartElement()) { + QString name = stream.name().toString(); + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + QString text = stream.readElementText(); + int valInt = text.toInt(); + double valDouble = text.toDouble(); + + switch (p.type) { + case CFG_T_BOOL: + if (valInt != p.valInt) { + p.valInt = valInt; + emit paramChangedBool(0, name, valInt); + } + break; + + case CFG_T_ENUM: + if (valInt != p.valInt) { + p.valInt = valInt; + emit paramChangedEnum(0, name, valInt); + } + break; + + case CFG_T_INT: + if (valInt != p.valInt) { + p.valInt = valInt; + emit paramChangedInt(0, name, valInt); + } + break; + + case CFG_T_DOUBLE: + if (valDouble != p.valDouble) { + p.valDouble = valDouble; + emit paramChangedDouble(0, name, valDouble); + } + break; + + case CFG_T_QSTRING: + if (text != p.valString) { + p.valString = text; + emit paramChangedQString(0, name, text); + } + break; + + default: + qWarning() << name << ": type not supported."; + break; + } + } else { + qWarning() << "Parameter not found: " << name; + stream.skipCurrentElement(); + } + + if (stream.hasError()) { + qWarning() << "XML ERROR :" << stream.errorString(); + qWarning() << stream.lineNumber() << stream.columnNumber(); + } + } + + mXmlStatus = tr("OK"); + emit updated(); + return true; + } else { + mXmlStatus = tr("tag %1 not found").arg(configName); + qWarning() << mXmlStatus; + return false; + } +} + +bool ConfigParams::saveXml(QString fileName, QString configName) +{ + QFile file(fileName); + if (!file.open(QIODevice::WriteOnly)) { + mXmlStatus = tr("Could not open %1 for writing").arg(fileName); + qWarning() << mXmlStatus; + return false; + } + + emit savingXml(); + + QXmlStreamWriter stream(&file); + stream.setCodec("UTF-8"); + stream.setAutoFormatting(true); + getXML(stream, configName); + + file.close(); + + mXmlStatus = tr("OK"); + return true; +} + +bool ConfigParams::loadXml(QString fileName, QString configName) +{ + QFile file(fileName); + if (!file.open(QIODevice::ReadOnly)) { + mXmlStatus = tr("Could not open %1 for reading").arg(fileName); + qWarning() << mXmlStatus; + return false; + } + + QXmlStreamReader stream(&file); + bool res = setXML(stream, configName); + file.close(); + + return res; +} + +QString ConfigParams::xmlStatus() +{ + return mXmlStatus; +} + +void ConfigParams::getParamsXML(QXmlStreamWriter &stream) +{ + stream.writeStartDocument(); + stream.writeStartElement("ConfigParams"); + stream.writeStartElement("Params"); + + for (int i = 0;i < mParamList.size();i++) { + QString paramName = mParamList.at(i); + ConfigParam *p = getParam(paramName); + + stream.writeStartElement(paramName); + + stream.writeTextElement("longName", p->longName); + stream.writeTextElement("type", QString::number(p->type)); + stream.writeTextElement("transmittable", QString::number(p->transmittable)); + stream.writeTextElement("description", p->description); + stream.writeTextElement("cDefine", p->cDefine); + + switch (p->type) { + case CFG_T_DOUBLE: + stream.writeTextElement("editorDecimalsDouble", QString::number(p->editorDecimalsDouble)); + stream.writeTextElement("editorScale", QString::number(p->editorScale)); + stream.writeTextElement("editAsPercentage", QString::number(p->editAsPercentage)); + stream.writeTextElement("maxDouble", QString::number(p->maxDouble)); + stream.writeTextElement("minDouble", QString::number(p->minDouble)); + stream.writeTextElement("showDisplay", QString::number(p->showDisplay)); + stream.writeTextElement("stepDouble", QString::number(p->stepDouble)); + stream.writeTextElement("valDouble", QString::number(p->valDouble)); + stream.writeTextElement("vTxDoubleScale", QString::number(p->vTxDoubleScale)); + stream.writeTextElement("suffix", p->suffix); + stream.writeTextElement("vTx", QString::number(p->vTx)); + break; + + case CFG_T_INT: + stream.writeTextElement("editorScale", QString::number(p->editorScale)); + stream.writeTextElement("editAsPercentage", QString::number(p->editAsPercentage)); + stream.writeTextElement("maxInt", QString::number(p->maxInt)); + stream.writeTextElement("minInt", QString::number(p->minInt)); + stream.writeTextElement("showDisplay", QString::number(p->showDisplay)); + stream.writeTextElement("stepInt", QString::number(p->stepInt)); + stream.writeTextElement("valInt", QString::number(p->valInt)); + stream.writeTextElement("suffix", p->suffix); + stream.writeTextElement("vTx", QString::number(p->vTx)); + break; + + case CFG_T_QSTRING: + stream.writeTextElement("valString", p->valString); + break; + + case CFG_T_ENUM: + stream.writeTextElement("valInt", QString::number(p->valInt)); + for (int j = 0;j < p->enumNames.size();j++) { + stream.writeTextElement("enumNames", p->enumNames.at(j)); + } + break; + + case CFG_T_BOOL: + stream.writeTextElement("valInt", QString::number(p->valInt)); + break; + + default: + break; + } + + stream.writeEndElement(); + } + + stream.writeEndElement(); + + stream.writeStartElement("SerOrder"); + for (int i = 0;i < mSerializeOrder.size();i++) { + stream.writeTextElement("ser", mSerializeOrder.at(i)); + } + + stream.writeEndDocument(); +} + +bool ConfigParams::setParamsXML(QXmlStreamReader &stream) +{ + QString configName = "ConfigParams"; + + bool nameFound = false; + while (stream.readNextStartElement()) { + if (stream.name() == configName) { + nameFound = true; + break; + } + } + + if (nameFound) { + while (stream.readNextStartElement()) { + QString nameFirst = stream.name().toString(); + + if (nameFirst == "Params") { + clearParams(); + + while (stream.readNextStartElement()) { + QString paramName = stream.name().toString(); + ConfigParam p; + + while (stream.readNextStartElement()) { + QString name = stream.name().toString(); + + if (name == "description") { + p.description = stream.readElementText(); + } else if (name == "cDefine") { + p.cDefine = stream.readElementText(); + } else if (name == "editorDecimalsDouble") { + p.editorDecimalsDouble = stream.readElementText().toDouble(); + } else if (name == "editorScale") { + p.editorScale = stream.readElementText().toDouble(); + } else if (name == "editAsPercentage") { + p.editAsPercentage = stream.readElementText().toInt(); + } else if (name == "enumNames") { + p.enumNames.append(stream.readElementText()); + } else if (name == "longName") { + p.longName = stream.readElementText(); + } else if (name == "maxDouble") { + p.maxDouble = stream.readElementText().toDouble(); + } else if (name == "maxInt") { + p.maxInt = stream.readElementText().toInt(); + } else if (name == "minDouble") { + p.minDouble = stream.readElementText().toDouble(); + } else if (name == "minInt") { + p.minInt = stream.readElementText().toInt(); + } else if (name == "showDisplay") { + p.showDisplay = stream.readElementText().toInt(); + } else if (name == "stepDouble") { + p.stepDouble = stream.readElementText().toDouble(); + } else if (name == "stepInt") { + p.stepInt = stream.readElementText().toInt(); + } else if (name == "suffix") { + p.suffix = stream.readElementText(); + } else if (name == "type") { + p.type = (CFG_T)stream.readElementText().toInt(); + } else if (name == "transmittable") { + p.transmittable = stream.readElementText().toInt(); + } else if (name == "valDouble") { + p.valDouble = stream.readElementText().toDouble(); + } else if (name == "valInt") { + p.valInt = stream.readElementText().toInt(); + } else if (name == "valString") { + p.valString = stream.readElementText(); + } else if (name == "vTx") { + p.vTx = (VESC_TX_T)stream.readElementText().toInt(); + } else if (name == "vTxDoubleScale") { + p.vTxDoubleScale = stream.readElementText().toDouble(); + } else { + qWarning() << "Parameter not found: " << name; + stream.skipCurrentElement(); + } + + if (stream.hasError()) { + qWarning() << "XML ERROR :" << stream.errorString(); + qWarning() << stream.lineNumber() << stream.columnNumber(); + } + } + + addParam(paramName, p); + } + } else if (nameFirst == "SerOrder") { + mSerializeOrder.clear(); + while (stream.readNextStartElement()) { + QString name = stream.name().toString(); + + if (name == "ser") { + mSerializeOrder.append(stream.readElementText()); + } else { + qWarning() << "Parameter not found: " << name; + stream.skipCurrentElement(); + } + } + } else { + qWarning() << "Parameter not found: " << nameFirst; + stream.skipCurrentElement(); + } + } + + mXmlStatus = tr("OK"); + return true; + } else { + mXmlStatus = tr("tag %1 not found").arg(configName); + qWarning() << mXmlStatus; + return false; + } +} + +bool ConfigParams::saveParamsXml(QString fileName) +{ + QFile file(fileName); + if (!file.open(QIODevice::WriteOnly)) { + mXmlStatus = tr("Could not open %1 for writing").arg(fileName); + qWarning() << mXmlStatus; + return false; + } + + QXmlStreamWriter stream(&file); + stream.setCodec("UTF-8"); + stream.setAutoFormatting(true); + + getParamsXML(stream); + + file.close(); + + mXmlStatus = tr("OK"); + return true; +} + +bool ConfigParams::loadParamsXml(QString fileName) +{ + QFile file(fileName); + if (!file.open(QIODevice::ReadOnly)) { + mXmlStatus = tr("Could not open %1 for reading").arg(fileName); + qWarning() << mXmlStatus; + return false; + } + + QXmlStreamReader stream(&file); + bool res = setParamsXML(stream); + + file.close(); + + return res; +} + +bool ConfigParams::saveCDefines(const QString &fileName, bool wrapIfdef) +{ + QFile file(fileName); + if (!file.open(QIODevice::WriteOnly)) { + mXmlStatus = tr("Could not open %1 for writing").arg(fileName); + qWarning() << mXmlStatus; + return false; + } + + QTextStream out(&file); + QFileInfo info(file); + QString nameStr = info.fileName().toUpper().replace(".", "_") + "_"; + + out << "// This file is autogenerated by EBMS Tool\n\n"; + + out << "#ifndef " + nameStr + "\n"; + out << "#define " + nameStr + "\n\n"; + + for (int i = 0;i < mSerializeOrder.size();i++) { + QString name = mSerializeOrder.at(i); + + if (mParams.contains(name)) { + ConfigParam &p = mParams[name]; + + if (!p.cDefine.isEmpty()) { + out << "// " + p.longName + "\n"; + if (wrapIfdef) { + out << "#ifndef " + p.cDefine + "\n"; + } + + switch (p.type) { + case CFG_T_BOOL: + case CFG_T_ENUM: + case CFG_T_INT: + out << "#define " + p.cDefine + " " + QString::number(p.valInt) + "\n"; + break; + + case CFG_T_DOUBLE: + out << "#define " + p.cDefine + " " + QString::number(p.valDouble) + "\n"; + break; + + case CFG_T_QSTRING: + out << "#define " + p.cDefine + " " + p.valString + "\n"; + break; + + default: + qWarning() << name << ": type not supported."; + break; + } + + if (wrapIfdef) { + out << "#endif\n"; + } + + out << "\n"; + } + } else { + qWarning() << name << "not found."; + } + } + + out << "// " + nameStr + "\n"; + out << "#endif\n\n"; + + out.flush(); + file.close(); + + return true; +} + +/** + * @brief ConfigParams::checkDifference + * Check which parameters differ between this configuration and another one. + * + * @param config + * The configuration to check against. + * + * @return + * A list with parameters that differ. + */ +QStringList ConfigParams::checkDifference(ConfigParams *config) +{ + QStringList res; + + for(QString p: mParamList) { + ConfigParam *thisParam = this->getParam(p); + ConfigParam *otherParam = config->getParam(p); + + if (thisParam && otherParam) { + if (thisParam->type == otherParam->type) { + switch (thisParam->type) { + case CFG_T_BOOL: + case CFG_T_ENUM: + case CFG_T_INT: + if (thisParam->valInt != otherParam->valInt) { + res.append(p); + } + break; + + case CFG_T_DOUBLE: + if (!almostEqual(thisParam->valDouble, otherParam->valDouble, 0.0001)) { + res.append(p); + } + break; + + case CFG_T_QSTRING: + if (thisParam->valString != otherParam->valString) { + res.append(p); + } + break; + + default: + break; + } + } + } + } + + return res; +} + +ConfigParams &ConfigParams::operator=(const ConfigParams &other) +{ + this->mParams = other.mParams; + this->mParamList = other.mParamList; + this->mUpdateOnlyName = other.mUpdateOnlyName; + this->mUpdatesEnabled = other.mUpdatesEnabled; + this->mSerializeOrder = other.mSerializeOrder; + this->mXmlStatus = other.mXmlStatus; + + return *this; +} diff --git a/configparams.h b/configparams.h new file mode 100644 index 0000000..9936465 --- /dev/null +++ b/configparams.h @@ -0,0 +1,151 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef CONFIGPARAMS_H +#define CONFIGPARAMS_H + +#include +#include +#include +#include +#include "configparam.h" +#include "vbytearray.h" + +class ConfigParams : public QObject +{ + Q_OBJECT +public: + explicit ConfigParams(QObject *parent = 0); + void addParam(const QString &name, ConfigParam param); + void deleteParam(const QString &name); + Q_INVOKABLE void setUpdateOnly(const QString &name); + Q_INVOKABLE QString getUpdateOnly(); + Q_INVOKABLE bool getUpdatesEnabled() const; + Q_INVOKABLE void setUpdatesEnabled(bool updatesEnabled); + void clearParams(); + void clearAll(); + + Q_INVOKABLE bool hasParam(const QString &name); + ConfigParam *getParam(const QString &name); + ConfigParam getParamCopy(const QString &name) const; + void setParamValue(const QString &name, QVariant val); + + Q_INVOKABLE bool isParamDouble(const QString &name); + Q_INVOKABLE bool isParamInt(const QString &name); + Q_INVOKABLE bool isParamEnum(const QString &name); + Q_INVOKABLE bool isParamQString(const QString &name); + Q_INVOKABLE bool isParamBool(const QString &name); + + Q_INVOKABLE double getParamDouble(const QString &name); + Q_INVOKABLE int getParamInt(const QString &name); + Q_INVOKABLE int getParamEnum(const QString &name); + Q_INVOKABLE QString getParamQString(const QString &name); + Q_INVOKABLE bool getParamBool(const QString &name); + Q_INVOKABLE QString getLongName(const QString &name); + Q_INVOKABLE QString getDescription(const QString &name); + + Q_INVOKABLE double getParamMaxDouble(const QString &name); + Q_INVOKABLE double getParamMinDouble(const QString &name); + Q_INVOKABLE double getParamStepDouble(const QString &name); + Q_INVOKABLE int getParamDecimalsDouble(const QString &name); + Q_INVOKABLE int getParamMaxInt(const QString &name); + Q_INVOKABLE int getParamMinInt(const QString &name); + Q_INVOKABLE int getParamStepInt(const QString &name); + Q_INVOKABLE QStringList getParamEnumNames(const QString &name); + Q_INVOKABLE double getParamEditorScale(const QString &name); + Q_INVOKABLE QString getParamSuffix(const QString &name); + Q_INVOKABLE bool getParamEditAsPercentage(const QString &name); + Q_INVOKABLE bool getParamShowDisplay(const QString &name); + Q_INVOKABLE bool getParamTransmittable(const QString &name); + + QStringList getParamOrder() const; + void setParamOrder(const QStringList &order); + + QWidget *getEditor(const QString &name, QWidget *parent = 0); + + void getParamSerial(VByteArray &vb, const QString &name); + void setParamSerial(VByteArray &vb, const QString &name, QObject *src = 0); + + QStringList getSerializeOrder() const; + void setSerializeOrder(const QStringList &serializeOrder); + void clearSerializeOrder(); + + void serialize(VByteArray &vb); + void deSerialize(VByteArray &vb); + + void getXML(QXmlStreamWriter &stream, QString configName); + bool setXML(QXmlStreamReader &stream, QString configName); + bool saveXml(QString fileName, QString configName); + bool loadXml(QString fileName, QString configName); + QString xmlStatus(); + + void getParamsXML(QXmlStreamWriter &stream); + bool setParamsXML(QXmlStreamReader &stream); + bool saveParamsXml(QString fileName); + bool loadParamsXml(QString fileName); + + bool saveCDefines(const QString &fileName, bool wrapIfdef = false); + + QStringList checkDifference(ConfigParams *config); + + // Operators + ConfigParams& operator=(const ConfigParams &other); + +signals: + void paramChangedDouble(QObject *src, QString name, double newParam); + void paramChangedInt(QObject *src, QString name, int newParam); + void paramChangedEnum(QObject *src, QString name, int newParam); + void paramChangedQString(QObject *src, QString name, QString newParam); + void paramChangedBool(QObject *src, QString name, bool newParam); + void updateRequested(); + void updateRequestDefault(); + void updated(); + void stored(); + void savingXml(); + +public slots: + void updateParamDouble(QString name, double param, QObject *src = 0); + void updateParamInt(QString name, int param, QObject *src = 0); + void updateParamEnum(QString name, int param, QObject *src = 0); + void updateParamString(QString name, QString param, QObject *src = 0); + void updateParamBool(QString name, bool param, QObject *src = 0); + void requestUpdate(); + void requestUpdateDefault(); + void updateDone(); + void storingDone(); + +private: + QHash mParams; + QStringList mParamList; + QString mUpdateOnlyName; + bool mUpdatesEnabled; + QStringList mSerializeOrder; + QString mXmlStatus; + + bool almostEqual(float A, float B, float eps); + +}; + +#endif // CONFIGPARAMS_H diff --git a/configparamsgetter.cpp b/configparamsgetter.cpp new file mode 100644 index 0000000..6f071e5 --- /dev/null +++ b/configparamsgetter.cpp @@ -0,0 +1,189 @@ +#include "configparamsgetter.h" + +//bool BmsSettingsWidget::addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName) + + +bool getSerialNumber(QLabel* lab, ConfigParams *params, QString paramName) +{ + // (*) serial number is inside a DOUBLE value inside the BMS + // (**) But we need only the INT part of that double value + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + if (editor && !name.isEmpty()) + { + if(editor->property("type").toInt() == CFG_T_DOUBLE) // (*) + { + auto val = params->getParamDouble(paramName); + quint64 valUint64 = quint64(val); // (**) + lab->setText( QString::number(valUint64) ); + res = true; + } + } + return res; +} + +bool getSerialNumber(QLineEdit* edit, ConfigParams *params, QString paramName) +{ + // (*) serial number is inside a DOUBLE value inside the BMS + // (**) But we need only the INT part of that double value + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + if (editor && !name.isEmpty()) + { + if(editor->property("type").toInt() == CFG_T_DOUBLE) // (*) + { + auto val = params->getParamDouble(paramName); + quint64 valUint64 = quint64(val); // (**) + edit->setText( QString::number(valUint64) ); + res = true; + } + } + return res; +} + +bool addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + //ConfigParam &p = params[paramName]; + //ConfigParam &p = mParams[name]; + + QString name = params->getLongName(paramName); + + if (editor && !name.isEmpty()) + { + //int row = rowCount(); + //setRowCount(row + 1); + //QTableWidgetItem *item = new QTableWidgetItem(name); + //item->setFlags(item->flags() & ~Qt::ItemIsEditable); + //setItem(row, 0, item); + //setCellWidget(row, 1, editor); + //edit->setText(editor->); + + auto vtype = editor->property("type"); + auto type = vtype.toInt(); + //CFG_T_UNDEFINED = 0, + + switch (type) + { + case CFG_T_INT: + case CFG_T_ENUM: + { + auto val = params->getParamInt(paramName); + edit->setText(QString::number(val)); + break; + } + case CFG_T_DOUBLE: + { + auto val = params->getParamDouble(paramName); + edit->setText(QString::number(val)); + break; + } + case CFG_T_QSTRING: + { + auto val = params->getParamQString(paramName); + edit->setText(val); + break; + } + case CFG_T_BOOL: + { + auto val = params->getParamBool(paramName); + edit->setText(val ? "true" : "false"); + break; + } + default: + { + auto val = editor->property("value"); + auto valString = val.toString(); + edit->setText(valString.isEmpty() ? "Erro Read Value" : valString); + break; + } + } + + auto vsuffix = editor->property("suffix"); + auto suffix = vsuffix.toString(); + auto veditorDecimalsDouble = editor->property("editorDecimalsDouble"); + auto editorDecimalsDouble = veditorDecimalsDouble.toDouble(); + auto veditAsPercentage = editor->property("editAsPercentage"); + auto editAsPercentage = veditAsPercentage.toBool(); + + res = true; + //resizeColumnToContents(0); + //resizeRowsToContents(); + } + + return res; +} + + + +bool addParamRowEx(QLineEdit* edit, ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + + if (editor && !name.isEmpty()) { + //int row = rowCount(); + //setRowCount(row + 1); + //QTableWidgetItem *item = new QTableWidgetItem(name); + //item->setFlags(item->flags() & ~Qt::ItemIsEditable); + //setItem(row, 0, item); + //setCellWidget(row, 1, editor); + //edit->setText(editor->); + + auto vtype = editor->property("type"); + auto type = vtype.toInt(); + auto vval = editor->property("value"); + //CFG_T_UNDEFINED = 0, + + switch(type) + { + case(CFG_T_INT): + case(CFG_T_ENUM): + { + auto val = vval.toInt(); + edit->setText(QString::number(val)); + break; + } + case(CFG_T_DOUBLE): + { + auto val = vval.toDouble(); + edit->setText(QString::number(val)); + break; + } + case(CFG_T_QSTRING): + { + auto val = vval.toString(); + edit->setText(val); + break; + } + case(CFG_T_BOOL): + { + auto val = vval.toBool(); + edit->setText(val ? "true" : "false"); + break; + } + default: + auto valString = vval.toString(); + edit->setText(valString.isEmpty() ? "Erro Read Value" : valString); + break; + } + + auto vsuffix = editor->property("suffix"); + auto suffix = vsuffix.toString(); + auto veditorDecimalsDouble = editor->property("editorDecimalsDouble"); + auto editorDecimalsDouble = veditorDecimalsDouble.toDouble(); + auto veditAsPercentage = editor->property("editAsPercentage"); + auto editAsPercentage = veditAsPercentage.toBool(); + + res = true; + //resizeColumnToContents(0); + //resizeRowsToContents(); + } + + return res; +} + diff --git a/configparamsgetter.h b/configparamsgetter.h new file mode 100644 index 0000000..89ebc8a --- /dev/null +++ b/configparamsgetter.h @@ -0,0 +1,18 @@ +#ifndef CONFIGPARAMSGETTER_H +#define CONFIGPARAMSGETTER_H + +#include +#include +#include + +#include "configparams.h" + +//class SettingsWidget : public QWidget +//{ +bool getSerialNumber(QLabel* lab, ConfigParams *params, QString paramName); +bool getSerialNumber(QLineEdit* edit, ConfigParams *params, QString paramName); +bool addParamRow(QLineEdit* edit, ConfigParams *params, QString paramName); +bool addParamRowEx(QLineEdit* edit, ConfigParams *params, QString paramName); +//}; + +#endif // CONFIGPARAMSGETTER_H diff --git a/configurationpage.cpp b/configurationpage.cpp new file mode 100644 index 0000000..ff10e61 --- /dev/null +++ b/configurationpage.cpp @@ -0,0 +1,535 @@ +#include "configurationpage.h" +#include "ui_configurationpage.h" +#include + +#include "connectandenterpage.h" + +ConfigurationPage::ConfigurationPage(QWidget *parent) : + QFrame(parent), + ui(new Ui::ConfigurationPage) +{ + ui->setupUi(this); + + connect( ui->pbLinkSerialNumber , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosSerialNumber ); } ); + connect( ui->pbLinkConfiguration , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosConfiguration ); } ); + connect( ui->pbLinkSoc , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosSoc ); } ); + connect( ui->pbLinkRestrictions , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosRestrictions ); } ); + connect( ui->pbLinkCellsConfiguration , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosCellsConfiguration ); } ); + connect( ui->pbLinkBalancingConfiguration, &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosBalancingConfiguration); } ); + connect( ui->pbLinkOutputsSetting , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosOutputsSetting ); } ); + connect( ui->pbLinkClaibrateZero , &QPushButton::clicked, this, [=]() { setPositionInPixelsToScrollTo(PosClaibrateZero ); } ); + + connect( ui->pbReadDefaultSettingsFromFile , &QPushButton::clicked, this, &ConfigurationPage::onPbReadDefaultSettingsFromFileClicked); + connect( ui->pbReadCurrentSettingsFromBms , &QPushButton::clicked, this, &ConfigurationPage::onPbReadCurrentSettingsFromBmsClicked); + connect( ui->pbWriteCurrentValuesToBms , &QPushButton::clicked, this, &ConfigurationPage::onPbWriteCurrentValuesToBmsClicked); + connect( ui->pbWriteToNonVolatileBmsMemory , &QPushButton::clicked, this, &ConfigurationPage::onPbWriteToNonVolatileBmsMemoryClicked); + + connect(ui->bmsSettings, &BmsSettings::showStatusInfo, this, &ConfigurationPage::showStatusInfo); + connect(ui->bmsSettings, &BmsSettings::showMessageDialog, this, &ConfigurationPage::showMessageDialog); + connect(ui->bmsSettings, &BmsSettings::sendMessage, this, &ConfigurationPage::sendMessage); + connect(this, &ConfigurationPage::loadParams, ui->bmsSettings, &BmsSettings::onLoadParams); + + initTimerForStatusBar(); + initTimerForProgressBar(); + initTimerForOneSecondDelayAfterButtonClick(); + + checkIfButtonTextFitsInButton(); +} + + +BMSInterface *ConfigurationPage::bms() const +{ + return mDieBieMS; +} + +void ConfigurationPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + ui->bmsSettings->setDieBieMS(mDieBieMS); + + // SEND_STATUS_INFO // + connect(mDieBieMS, &BMSInterface::statusMessage, this, &ConfigurationPage::showStatusInfo); + + connect(mDieBieMS->bmsConfig(), &ConfigParams::updateRequested, ui->bmsSettings, &BmsSettings::onBmsconfUpdateRequested); + connect(mDieBieMS->bmsConfig(), &ConfigParams::updateRequestDefault, ui->bmsSettings, &BmsSettings::onBmsconfUpdateRequestDefault); + connect(mDieBieMS->bmsConfig(), &ConfigParams::updated, ui->bmsSettings, &BmsSettings::onBmsconfUpdated); + connect(mDieBieMS->bmsConfig(), &ConfigParams::updated, this, &ConfigurationPage::onBmsconfUpdatedOrStored); + connect(mDieBieMS->bmsConfig(), &ConfigParams::stored, ui->bmsSettings, &BmsSettings::onBmsconfStored); + connect(mDieBieMS->bmsConfig(), &ConfigParams::stored, this, &ConfigurationPage::onBmsconfUpdatedOrStored); + + //connect(mDieBieMS->bmsConfig(), &ConfigParams::updated, this, &ConfigurationPage::bmsconfUpdated); + + //void ConfigParams::requestUpdate() => emit updateRequested(); + //void ConfigParams::requestUpdateDefault() => emit updateRequestDefault(); + //void ConfigParams::updateDone() => emit updated(); + //void ConfigParams::storingDone() => emit stored(); + + //void sigBmsconfUpdateRequested(); + //void sigBmsconfUpdateRequestDefault(); + //void sigBmsconfUpdated(); + //void sigBmsconfStored(); + + //connect(ui->bmsSettings, &BmsSettings::sendMessage, this, &ConfigurationPage::sendMessage); + //connect(this, &ConfigurationPage::loadParams, ui->bmsSettings, &BmsSettings::onLoadParams); + + /* + connect(mPacket, (dataToSend(QByteArray&)),this, (packetDataToSend(QByteArray&))); + connect(mPacket, (packetReceived(QByteArray&)),this, (packetReceived(QByteArray&))); + connect(mCommands, (dataToSend(QByteArray&)),this, (cmdDataToSend(QByteArray&))); + connect(mCommands, (fwVersionReceived(int,int,QString,QByteArray)),this, SLOT(fwVersionReceived(int,int,QString,QByteArray))); + connect(mCommands, (ackReceived(QString)), this, (ackReceived(QString))); + connect(mbmsConfig, (updated()), this, (bmsconfUpdated())); + connect(mbmsConfig, (stored()), this, (bmsconfStored())); + connect(mTimer, (timeout()), this, (timerSlot())); + */ + +} + +ConfigurationPage::~ConfigurationPage() +{ + delete ui; +} + +void ConfigurationPage::checkIfButtonTextFitsInButton() +{ + int textWidth = QFontMetrics(ui->pbWriteCurrentValuesToBms->font()).width(ui->pbWriteCurrentValuesToBms->text()); + int btnWidth = ui->pbWriteCurrentValuesToBms->width(); + if(btnWidth <= textWidth) + ui->pbWriteCurrentValuesToBms->setText(tr("Записать текущие значения\nв BMS")); +} + +void ConfigurationPage::setPositionInPixelsToScrollTo(int positionInPixelsToScrollTo) +{ + if(positionInPixelsToScrollTo != PosSerialNumber) + positionInPixelsToScrollTo -= 15; + + ui->scrollAreaBmsSettings->verticalScrollBar()->setValue(positionInPixelsToScrollTo); +} + + + +//void ConfigurationPage::bmsconfUpdated() +//{ +// //mMcConfRead = false; +//} + + +#if 0 +void ConfigurationPage::onTimerSlot() +{ + // Update status label + if (mStatusInfoTime) { + mStatusInfoTime--; + if (!mStatusInfoTime) { + //mStatusLabel->setStyleSheet(qApp->styleSheet()); + } + } + /*else { + QString str = mDieBieMS->getConnectedPortName(); + if (str != mStatusLabel->text()) { + mStatusLabel->setText(mDieBieMS->getConnectedPortName()); + static QString statusLast = ""; + if (str != statusLast) { + mPageDebugPrint->printConsole("Status: " + str + "
"); + statusLast = str; + } + } + }*/ + +/* // CAN fwd + if (ui->actionCanFwd->isChecked() != mDieBieMS->commands()->getSendCan()) { + ui->actionCanFwd->setChecked(mDieBieMS->commands()->getSendCan()); + } + + // RT data only every 5 iterations + if (ui->actionRtData->isChecked()) { + static int values_cnt = 0; + static int cells_cnt = 0; + + values_cnt++; + if (values_cnt >= 5) { + values_cnt = 0; + mDieBieMS->commands()->getValues(); + } + + cells_cnt++; + if (cells_cnt >= 20) { + cells_cnt = 0; + mDieBieMS->commands()->getCells(); + } + } + + // Send alive command once every 10 iterations + if (ui->actionSendAlive->isChecked()) { + static int alive_cnt = 0; + alive_cnt++; + if (alive_cnt >= 10) { + alive_cnt = 0; + mDieBieMS->commands()->sendAlive(); + } + } +*/ + // Read configuration it isn't read since starting VESC Tool + if (mDieBieMS->isPortConnected()) { + static int conf_cnt = 0; + conf_cnt++; + if (conf_cnt >= 20) { + conf_cnt = 0; + if (!mMcConfRead) { + mDieBieMS->commands()->getBMSconf(); + mMcConfRead = true; + } + } + } + +/* // Disable all data streaming when uploading firmware + if (mDieBieMS->commands()->getFirmwareUploadProgress() > 0.1) { + ui->actionSendAlive->setChecked(false); + ui->actionRtData->setChecked(false); + } + + // Run startup checks + static bool has_run_start_checks = false; + if (!has_run_start_checks) { + has_run_start_checks = true; + checkUdev(); + Utility::checkVersion(mDieBieMS); + } +*/ + + + +} +#endif + + + +/* +{ +// connect(mTimer, SIGNAL(timeout()),this, SLOT(timerSlot())); +connect(mDieBieMS, &BMSInterface::statusMessage, this, &ConnectAndEnterPage::showStatusInfo); +connect(mDieBieMS, &BMSInterface::messageDialog, this, &ConnectAndEnterPage::showMessageDialog); +connect(mDieBieMS, &BMSInterface::serialPortNotWritable, this, &ConnectAndEnterPage::serialPortNotWritable); +connect(mDieBieMS->commands(), &Commands::bmsConfigCheckResult, this, &ConnectAndEnterPage::bmsConfigCheckResult); +// connect(ui->actionAboutQt, SIGNAL(triggered(bool)),qApp, SLOT(aboutQt())); + +// Remove the menu with the option to hide the toolbar +// ui->mainToolBar->setContextMenuPolicy(Qt::PreventContextMenu); + +mDieBieMS->bmsConfig()->loadParamsXml("://res/config.xml"); +mDieBieMS->infoConfig()->loadParamsXml("://res/info.xml"); +// reloadPages(); + +connect(mDieBieMS->bmsConfig(), SIGNAL(updated()), this, SLOT(bmsconfUpdated())); +} +//*/ + + +void ConfigurationPage::onTimerSlot() +{ + // Update status label + if (mStatusInfoTime) { + mStatusInfoTime--; + if (!mStatusInfoTime) { + // clear Status Label + ui->lbStatus->setText(""); + ui->lbStatus->setStyleSheet(qApp->styleSheet()); + } + } +} + +void ConfigurationPage::showStatusInfo(QString info, bool isGood) +{ + if (isGood) { + ui->lbStatus->setStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
"); + } else { + ui->lbStatus->setStyleSheet("QLabel { background-color : red; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
"); + } + + mStatusInfoTime = 160; + ui->lbStatus->setText(info); +} + + +// pbLoadSettingsFromFile +//void ConfigurationPage::on_pbLoadSettingsFromFile_clicked() +//{ +// bool NOTHING_IS_CONNECTED_HERE_ACCORDING_SPECIFICATION_FROM_CUSTOMER = true; +//} + + +//// pbLoadCurrentSettingsFromBms +//void ConfigurationPage::on_pbLoadCurrentSettingsFromBms_clicked() +//{ +// // Загрузить настройки из файла +// // Загрузить текущие настройки\nиз BMS +// // actionReadBMScconf +// mDieBieMS->commands()->getBMSconf(); +// // ? // mDieBieMS->commands()->getBMSconfDefault(); +//} + +//// pbWriteToNonVolatileBmsMemory +//void ConfigurationPage::on_pbWriteToNonVolatileBmsMemory_clicked() +//{ +// // Записать в энергонезависимую\nпамять BMS +// // actionStoreBMScconf +// mDieBieMS->commands()->storeBMSConfig(); +//} + +// pbWriteCurrentValuesToBms + + +//////////////////////////////////////////////////////////// + +/* + start 0 12 = Default that is not in bms it's in somekind of real offline file (we do NOT have connection to bms but there parameters show up somehow) +connect 8 8 Config updated with default params not from file, but from default params of bms + deflt bms edit | bms edit +^ - 8 8 7 | 8 8 read bms conf +-> - 8 7 7 | 7 8 read default 8 is defaul - that was on the start +v - 8 8 7 | 7 7 write bms config +S - 8 ? ? | ? ? save currect config from bms into outside file to the flash card + before | after +*/ + + +void ConfigurationPage::onPbReadDefaultSettingsFromFileClicked() +{ + if(mIsOneSedondPassed) + { + mOneSecondWait->start(); + mIsOneSedondPassed = false; + if(mIsOperationFinished) + { + mIsOperationFinished = false; + + onStartPercents(); + // bms edit | bms edit + //-> - 7 7 | 7 8 read default 8 is defaul - that was on the start + // Загрузить настройки\nпо умолчанию + mDieBieMS->commands()->getBMSconfDefault(); + } + } +} + +void ConfigurationPage::onPbReadCurrentSettingsFromBmsClicked() +{ + if(mIsOneSedondPassed) + { + mOneSecondWait->start(); + mIsOneSedondPassed = false; + + if(mIsOperationFinished) + { + mIsOperationFinished = false; + + onStartPercents(); + // bms edit | bms edit + //^ - 7 8 | 7 7 read bms conf + mDieBieMS->commands()->getBMSconf(); + } + } +} + +//// pbLoadCurrentSettingsFromBms +void ConfigurationPage::onPbWriteCurrentValuesToBmsClicked() +{ + if(mIsOneSedondPassed) + { + mOneSecondWait->start(); + mIsOneSedondPassed = false; + + if(mIsOperationFinished) + { + mIsOperationFinished = false; + + onStartPercents(); + // Записать текущие значения в BMS + // actionWriteBMScconf + mDieBieMS->commands()->setBMSconf(); + } + } +} + +//// pbWriteToNonVolatileBmsMemory +void ConfigurationPage::onPbWriteToNonVolatileBmsMemoryClicked() +{ + if(mIsOneSedondPassed) + { + mOneSecondWait->start(); + mIsOneSedondPassed = false; + + if(mIsOperationFinished) + { + mIsOperationFinished = false; + + onStartPercents(); + // Записать в энергонезависимую\nпамять BMS + // actionStoreBMScconf + mDieBieMS->commands()->storeBMSConfig(); + } + } +} + + +/* +void ConfigurationPage::onPbReadDefaultSettingsFromFileClicked() +{ + // bms edit | bms edit + //-> - 7 7 | 7 8 read default 8 is defaul - that was on the start + // Загрузить настройки\nпо умолчанию + mDieBieMS->commands()->getBMSconfDefault(); +} + +void ConfigurationPage::onPbReadCurrentSettingsFromBmsClicked() +{ + // bms edit | bms edit + //^ - 7 8 | 7 7 read bms conf + mDieBieMS->commands()->getBMSconf(); +} + +//// pbLoadCurrentSettingsFromBms +void ConfigurationPage::onPbWriteCurrentValuesToBmsClicked() +{ + // Записать текущие значения в BMS + // actionWriteBMScconf + mDieBieMS->commands()->setBMSconf(); +} + +//// pbWriteToNonVolatileBmsMemory +void ConfigurationPage::onPbWriteToNonVolatileBmsMemoryClicked() +{ + // Записать в энергонезависимую\nпамять BMS + // actionStoreBMScconf + mDieBieMS->commands()->storeBMSConfig(); +} +*/ + + + + + +// +// +// + +void ConfigurationPage::onBmsconfUpdatedOrStored() +{ + mIsOperationFinished = true; + //onFinishPercents(); +} + +void ConfigurationPage::initTimerForStatusBar() +{ + mTimer = new QTimer(this); + connect(mTimer, &QTimer::timeout, this, &ConfigurationPage::onTimerSlot); + mTimer->start(20); +} + +void ConfigurationPage::initTimerForProgressBar() +{ + mTimerProgress = new QTimer(this); + mTimerProgress->setSingleShot(false); + mTimerProgress->setInterval(100); + connect(mTimerProgress, &QTimer::timeout, this, &ConfigurationPage::processPercents); + // timer->start(1000); + ui->progressBar->setValue(0); +} + +void ConfigurationPage::initTimerForOneSecondDelayAfterButtonClick() +{ + mOneSecondWait = new QTimer(this); + mOneSecondWait->setSingleShot(true); + mOneSecondWait->setInterval(10000); + connect(mOneSecondWait, &QTimer::timeout, this, [this]() + { + mIsOneSedondPassed = true; + }); + mIsOneSedondPassed = true; + mIsOperationFinished = true; +} + +void ConfigurationPage::processPercents() +{ + mSeconds++; + int percents = mSeconds * (100.0 / mMaxSecs); + ui->progressBar->setValue(percents); + + auto val = ui->progressBar->value(); + if (val >= 0 && val < 50) + { + ui->progressBar->setStyleSheet("QProgressBar::chunk { background-color:lime; };"); + } + else if (val >= 50 && val < 85) + { + if(mIsOperationFinished) + { + mIsOneSedondPassed = true; + mIsOperationFinished = true; + + onStopPercents(); + } + + ui->progressBar->setStyleSheet("QProgressBar::chunk { background-color:yellow; };"); + } + else if (val >= 85 && val < 95) + { + ui->progressBar->setStyleSheet("QProgressBar::chunk { background-color:red; };"); + } + else if (val >= 95) + { + ui->progressBar->setStyleSheet("QProgressBar::chunk { background-color:red; };"); + mIsOneSedondPassed = true; + mIsOperationFinished = true; + + onStopPercents(); + showStatusInfo("ERROR! SOMETHING WENT WRONG", false); + } + + //if (ui->progressBar->value() == 100) + // onFinishPercents(); +} + +void ConfigurationPage::onStartPercents() +{ + onStopPercents(); + mTimerProgress->start(); +} + +void ConfigurationPage::onStopPercents() +{ + mSeconds = 0; + mTimerProgress->stop(); + ui->progressBar->setValue(0); + + //mIsOneSedondPassed = true; + //mIsOperationFinished = true; +} + +void ConfigurationPage::onFinishPercents() +{ + mTimerProgress->stop(); + mSeconds = 0; + ui->progressBar->setValue(100); +} + + + + + + + + + + + + + + + + + + + diff --git a/configurationpage.h b/configurationpage.h new file mode 100644 index 0000000..94926b1 --- /dev/null +++ b/configurationpage.h @@ -0,0 +1,119 @@ +#ifndef CONFIGURATIONPAGE_H +#define CONFIGURATIONPAGE_H + +#include +#include + +#include "bmsinterface.h" +#include "debugprintpage.h" + +namespace Ui { +class ConfigurationPage; +} + +class ConfigurationPage : public QFrame +{ + Q_OBJECT + +public: + explicit ConfigurationPage(QWidget *parent = nullptr); + ~ConfigurationPage(); + + enum ElementsPixelsPositions { + PosSerialNumber = 0 + ,PosConfiguration = 240 + ,PosSoc = 490 + ,PosRestrictions = 770 + ,PosCellsConfiguration = 1150 + ,PosBalancingConfiguration = 1580 + ,PosOutputsSetting = 1860 + ,PosClaibrateZero = 2840 + }; + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + void setDebugPrintPage(DebugPrintPage *page) { + mPageDebugPrint = page; + } + +signals: + void loadParams(); + void sendMessage(QString message); + + void showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText); + + //void sigBmsconfUpdateRequested(); + //void sigBmsconfUpdateRequestDefault(); + //void sigBmsconfUpdated(); + //void sigBmsconfStored(); + +private slots: + void showStatusInfo(QString info, bool isGood); + void onTimerSlot(); + + void onBmsconfUpdatedOrStored(); + + void onPbReadDefaultSettingsFromFileClicked(); + void onPbReadCurrentSettingsFromBmsClicked(); + void onPbWriteCurrentValuesToBmsClicked(); + void onPbWriteToNonVolatileBmsMemoryClicked(); + + + /* + //void on_pbLoadSettingsFromFile_clicked(); + //void on_pbLoadCurrentSettingsFromBms_clicked(); + void on_pbWriteToNonVolatileBmsMemory_clicked(); + //void on_pbWriteCurrentValuesToBms_clicked(); + + //void bmsconfUpdated(); + + void on_pbReadDefaultSettingsFromFile_clicked(); + + void on_pbReadCurrentSettingsFromBms_clicked(); + + void on_pbWriteCurrentValuesToBms_clicked(); + */ + +private: + Ui::ConfigurationPage *ui; + + BMSInterface *mDieBieMS; + + DebugPrintPage *mPageDebugPrint; + + void initTimerForStatusBar(); + void initTimerForProgressBar(); + void initTimerForOneSecondDelayAfterButtonClick(); + + void onStartPercents(); + void onStopPercents(); + void onFinishPercents(); + + void processPercents(); + double mSeconds = 0; + const double mMaxSecs = 200; + QTimer *mTimer; + int mStatusInfoTime = 0; + QTimer *mTimerProgress; + QTimer *mOneSecondWait; + bool mIsOneSedondPassed = true; + bool mIsOperationFinished = true; + + void setPositionInPixelsToScrollTo(int positionInPixelsToScrollTo); + void checkIfButtonTextFitsInButton(); + + /* + DebugPrintPage *mPageDebugPrint; + + QTimer *mTimer; + int mStatusInfoTime; + + bool mMcConfRead = false; + + void setPositionInPixelsToScrollTo(int positionInPixelsToScrollTo); + void checkIfButtonTextFitsInButton(); + */ + +}; + +#endif // CONFIGURATIONPAGE_H diff --git a/configurationpage.ui b/configurationpage.ui new file mode 100644 index 0000000..6989854 --- /dev/null +++ b/configurationpage.ui @@ -0,0 +1,707 @@ + + + ConfigurationPage + + + + 0 + 0 + 1084 + 755 + + + + Form + + + /* background-color: #f7f8fc;*/ + +QScrollArea#scrollAreaBmsSettings, #bmsSettings +{ + background-color: #f7f8fc; /*COLOR OF THE LEFT PART WITH GROUPBOXES*/ +} +QScrollArea#scrollAreaBmsSettings, #bmsSettings +{ + background-color: #f7f8fc; /*COLOR OF THE RIGHT PART WITH BUTTONS*/ +} + + + + + +QLabel#lbIconLogo +{ + /*background-image: url(:/images/cubo-verde-logo.png);*/ + border-image: url(:/res/cubo-verde-logo-white.png) 0 0 0 0 stretch stretch; +} + +QLabel#lbHeaderLanguageIcon +{ + /*background-image: url(:/images/cubo-verde-logo.png);*/ + border-image: url(:/res/language-russ.png) 0 0 0 0 stretch stretch; +} + + +QPushButton#pbMainMenuBarHideMenu, +#pbMainMenuBarAkbMonitor, +#pbMainMenuBarCellsMonitor, +#pbMainMenuBarConfiguration, +#pbMainMenuBarVisualization, +#pbMainMenuBarHistory, +#pbMainMenuBarSeriveOfBms, +#pbMainMenuBarExit +{ + color: #FFFFFF; + background-color: #009352; + border: 0px solid black; + background:#009352; + text-align: left; + padding-left: 85px; + font-size:17px; +} +QPushButton#pbMainMenuBarHideMenu +{ + font-size:15px; +} + + +QPushButton#pbMainMenuBarHideMenu:hover, +#pbMainMenuBarAkbMonitor:hover, +#pbMainMenuBarCellsMonitor:hover, +#pbMainMenuBarConfiguration:hover, +#pbMainMenuBarVisualization:hover, +#pbMainMenuBarHistory:hover, +#pbMainMenuBarSeriveOfBms:hover, +#pbMainMenuBarExit:hover +{ + background-color: #01673a; +} + +/*------------------*/ + +QPushButton#pbConnect, +#pbWriteCurrentValuesToBms, +#pbReadDefaultSettingsFromFile, +#pbReadCurrentSettingsFromBms +{ + color:black; + background-color: #f7f8fc; /* white;*/ + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbConnect:hover:pressed, +#pbWriteCurrentValuesToBms:hover:pressed, +#pbReadDefaultSettingsFromFile:hover:pressed, +#pbReadCurrentSettingsFromBms:hover:pressed +{ + background-color:lightgrey; +} + +QPushButton#pbConnect:hover:!pressed, +#pbWriteCurrentValuesToBms:hover:!pressed, +#pbReadDefaultSettingsFromFile:hover:!pressed, +#pbReadCurrentSettingsFromBms:hover:!pressed +{ +/* background-color: #0FF73a;*/ +} + + +/*pbWriteCurrentValuesToBms*/ +QPushButton#pbWriteToNonVolatileBmsMemory +{ + background-color:#009352; + color:white; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteToNonVolatileBmsMemory:hover:pressed +{ + background-color:#01673a; +} + +QPushButton#pbWriteToNonVolatileBmsMemory:hover:!pressed +{ +/* background-color: #01673a;*/ +} + + +QPushButton#pbLinkSerialNumber, +#pbLinkSoc, +#pbLinkRestrictions, +#pbLinkClaibrateZero, +#pbLinkCellsConfiguration, +#pbLinkOutputsSetting, +#pbLinkBalancingConfiguration, +#pbLinkConfiguration +{ + color:#009352; + text-decoration: none; + background: transparent; + border-color:transparent; + text-align:left; + border-radius: 1px; + text-decoration: underline; +} + +QPushButton#pbLinkSerialNumber:hover:!pressed, +#pbLinkSoc:hover:!pressed, +#pbLinkRestrictions:hover:!pressed, +#pbLinkClaibrateZero:hover:!pressed, +#pbLinkCellsConfiguration:hover:!pressed, +#pbLinkOutputsSetting:hover:!pressed, +#pbLinkBalancingConfiguration:hover:!pressed, +#pbLinkConfiguration:hover:!pressed +{ +/* text-decoration: underline;*/ + color:#01673a; +} + +QPushButton#pbLinkSerialNumber:hover:pressed, +#pbLinkSoc:hover:pressed, +#pbLinkRestrictions:hover:pressed, +#pbLinkClaibrateZero:hover:pressed, +#pbLinkCellsConfiguration:hover:pressed, +#pbLinkOutputsSetting:hover:pressed, +#pbLinkBalancingConfiguration:hover:pressed, +#pbLinkConfiguration:hover:pressed +{ + color:#0093FF; +} + + + +QComboBox#cboxComConnections +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + +/*------------------*/ + +QGroupBox#gbSerialNumber, +QGroupBox#gbConfiguration, +QGroupBox#gbSoc, +QGroupBox#gbRestrictions, +QGroupBox#gbCellsConfiguration, +QGroupBox#gbBalancingConfiguration, +QGroupBox#gbOutputsSettings, +QGroupBox#gbZeroPoint { + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + +/*-----------------------*/ + +QScrollBar { + border-radius: 10px; + background: #e8e9f1; +} + +QScrollBar::vertical { + width: 10px; + margin: 0px 0px 0px 0px; +} + +/*-----------------------------------*/ +QScrollBar::sub-page:horizontal { + background: #e8e9f1; + border-top-left-radius: 9px; + border-bottom-left-radius: 9px; +} +QScrollBar::add-page:horizontal { + background: #e8e9f1; + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; +} + +QScrollBar::sub-page:vertical { + background: #e8e9f1; + border-top-left-radius: 9px; + border-top-right-radius: 9px; +} +QScrollBar::add-page:vertical { + background: #e8e9f1; + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; +} + +/*-----------------------------------*/ +QScrollBar::up-arrow, +QScrollBar::sub-line, +QScrollBar::add-line { + width: 0px; + height: 0px; +} + +QScrollBar::handle { + background: #009352; + border-radius: 5px; +} + + + + + + + + 80 + 40 + 111 + 111 + + + + Qt::NoContextMenu + + + QFrame::NoFrame + + + + + + Qt::AlignCenter + + + + + + 1300 + 30 + 31 + 21 + + + + + Segoe WP SemiLight + 12 + 75 + true + + + + color:#0A72BA; +font-weight:bold; + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 770 + 100 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Серийный номер + + + + + + 770 + 140 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Конфигурация + + + + + + 770 + 180 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + SOC + + + + + + 770 + 220 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Ограничения + + + + + + 770 + 260 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Конфигурация ячеек + + + + + + 770 + 300 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Конфигурация балансировки + + + + + + 770 + 340 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Настройка выходов + + + + + + 770 + 380 + 261 + 31 + + + + + Segoe WP SemiLight + 14 + 50 + false + true + false + + + + + + + Значение датчика точка "0" + + + + + + 770 + 440 + 281 + 51 + + + + + + + Загрузить настройки +по умолчанию + + + + + + 770 + 500 + 281 + 51 + + + + + + + Загрузить текущие настройки +из BMS + + + + + + 770 + 560 + 281 + 51 + + + + + + + Записать текущие значения в BMS + + + + + + 770 + 620 + 281 + 51 + + + + + + + Записать в энергонезависимую +память BMS + + + + + + 0 + 0 + 731 + 753 + + + + true + + + + + 0 + 0 + 729 + 751 + + + + /*#content +{ + background-color: #f7f8fc +} +*/ + +/* background-color: #f7f8fc;*/ + + + + + 6 + + + 9 + + + + + + + + 770 + 680 + 281 + 41 + + + + + 13 + + + + background-color: #e8e8e8 + + + + + + false + + + Qt::AlignCenter + + + true + + + + + + 770 + 720 + 281 + 16 + + + + + 7 + + + + QProgressBar::chunk { background-color:lime; }; + + + 24 + + + lbIconLogo + scrollAreaBmsSettings + pbLinkSerialNumber + pbReadDefaultSettingsFromFile + pbReadCurrentSettingsFromBms + pbLinkSoc + pbLinkRestrictions + pbLinkClaibrateZero + pbWriteCurrentValuesToBms + pbLinkCellsConfiguration + pbLinkOutputsSetting + pbLinkBalancingConfiguration + pbWriteToNonVolatileBmsMemory + lbHeaderLanguageIcon + pbLinkConfiguration + lbStatus + progressBar + + + + BmsSettings + QWidget +
bmssettings.h
+ 1 +
+
+ + +
diff --git a/connectandenterpage.cpp b/connectandenterpage.cpp new file mode 100644 index 0000000..3130aba --- /dev/null +++ b/connectandenterpage.cpp @@ -0,0 +1,384 @@ +#include "connectandenterpage.h" +#include "ui_connectandenterpage.h" +#include "utility.h" +#include "widgets/paramdialog.h" + +#include +#include +#include + +ConnectAndEnterPage::ConnectAndEnterPage(QWidget *parent) + : QWidget(parent), + // QDialog(parent), + ui(new Ui::ConnectAndEnterPage), + mDieBieMS(nullptr), + mIsConnected(false) +{ + ui->setupUi(this); + + on_pbSerialRefresh_clicked(); + + ui->lbIconLogo->show(); + + // hide buttons: HIDE - EXPAND - CLOSE + //setWindowFlags(Qt::CustomizeWindowHint); + connect(ui->cboxSerialPort, &HoverableComboBox::opened, this, &ConnectAndEnterPage::onComboBoxSerialPortOpened); + connect(ui->cboxSerialPort, &HoverableComboBox::closed, this, &ConnectAndEnterPage::onComboBoxSerialPortClosed); + + ui->cboxSerialPort->setView(new QListView()); +} + +ConnectAndEnterPage::~ConnectAndEnterPage() +{ + delete ui; +} + +void ConnectAndEnterPage::prepareWindowBeforeShow() +{ + ui->lbStatus->setStyleSheet("QLabel { background-color : white; color : white; }"); + ui->lbStatus->clear(); + + mIsConnected = false; + if(mDieBieMS) { + //if(mDieBieMS->isPortConnected()) + mDieBieMS->disconnectPort(); + } + + on_pbSerialRefresh_clicked(); +} + + + +bool ConnectAndEnterPage::isConnectionPrepared() +{ +// return true; + return mIsConnected; +} +QString ConnectAndEnterPage::portToConnect() +{ + return ui->cboxSerialPort->currentText(); +} +void ConnectAndEnterPage::clearPortToConnect() +{ + ui->cboxSerialPort->clear(); +} +//* +void ConnectAndEnterPage::initDieBieMS(BMSInterface* dieBieBms) +{ + // mVersion = QString::number(DT_VERSION); + //mDieBieMS = new BMSInterface(this); + mDieBieMS = dieBieBms; + + mStatusInfoTime = 0; + // mStatusLabel = new QLabel(this); + // ui->lbStatusBar = (mStatusLabel); + + // mTimer = new QTimer(this); + mKeyLeft = false; + mKeyRight = false; + mMcConfRead = false; + + // SEND_STATUS_INFO // + connect(mDieBieMS, &BMSInterface::statusMessage, this, &ConnectAndEnterPage::showStatusInfo); + connect(mDieBieMS, &BMSInterface::messageDialog, this, &ConnectAndEnterPage::showMessageDialog); + connect(mDieBieMS, &BMSInterface::serialPortNotWritable, this, &ConnectAndEnterPage::serialPortNotWritable); + connect(mDieBieMS->commands(), &Commands::bmsConfigCheckResult, this, &ConnectAndEnterPage::bmsConfigCheckResult); + // connect(ui->actionAboutQt, SIGNAL(triggered(bool)),qApp, SLOT(aboutQt())); + // connect(mTimer, SIGNAL(timeout()),this, SLOT(timerSlot())); + + // Remove the menu with the option to hide the toolbar + // ui->mainToolBar->setContextMenuPolicy(Qt::PreventContextMenu); + + mDieBieMS->bmsConfig()->loadParamsXml("://res/config.xml"); + mDieBieMS->infoConfig()->loadParamsXml("://res/info.xml"); + // reloadPages(); + + connect(mDieBieMS->bmsConfig(), SIGNAL(updated()), this, SLOT(bmsconfUpdated())); + + on_pbSerialRefresh_clicked(); +} +//*/ + + +void ConnectAndEnterPage::setDebugPrintPage(DebugPrintPage *page) +{ + mPageDebugPrint = page; +} + +void ConnectAndEnterPage::showStatusInfo(QString info, bool isGood) +{ + if (isGood) { + ui->lbStatus->setStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
"); + } else { + ui->lbStatus->setStyleSheet("QLabel { background-color : red; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
"); + } + + mStatusInfoTime = 80; + ui->lbStatus->setText(info); +} + +bool ConnectAndEnterPage::waitProcess(QProcess &process, bool block, int timeoutMs) +{ + bool wasEnables = isEnabled(); + bool killed = false; + + if (block) { + setEnabled(false); + } + + process.waitForStarted(); + + QEventLoop loop; + QTimer timeoutTimer; + timeoutTimer.setSingleShot(true); + timeoutTimer.start(timeoutMs); + connect(&process, SIGNAL(finished(int)), &loop, SLOT(quit())); + connect(&timeoutTimer, SIGNAL(timeout()), &loop, SLOT(quit())); + loop.exec(); + + if (process.state() == QProcess::Running) { + process.kill(); + process.waitForFinished(); + killed = true; + } + + setEnabled(wasEnables); + + return !killed; +} + +QString ConnectAndEnterPage::runCmd(QString cmd, QStringList args) +{ + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start(cmd, args); + waitProcess(process); + QString res = process.readAllStandardOutput(); + process.close(); + return res; +} + +void ConnectAndEnterPage::serialPortNotWritable(const QString &port) +{ + (void)port; + +#ifdef Q_OS_LINUX + QMessageBox::StandardButton reply; + reply = QMessageBox::warning(this, tr("Connect Serial Port"), + tr("The serial port is not writable. This can usually be fixed by " + "adding your user to the dialout, uucp and/or lock groups. Would " + "you like to do that?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QString name = qgetenv("USER"); + if (name.isEmpty()) { + name = qgetenv("USERNAME"); + } + + bool hasDialout = !runCmd("getent", + QStringList() << "group" + << "dialout") + .isEmpty(); + bool hasUucp = !runCmd("getent", + QStringList() << "group" + << "uucp") + .isEmpty(); + bool hasLock = !runCmd("getent", + QStringList() << "group" + << "lock") + .isEmpty(); + + QString grps; + if (hasDialout) { + grps += "dialout"; + } + + if (hasUucp) { + if (!grps.isEmpty()) { + grps += ","; + } + grps += "uucp"; + } + + if (hasLock) { + if (!grps.isEmpty()) { + grps += ","; + } + grps += "lock"; + } + + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", + QStringList() << "usermod" + << "-aG" << grps << name); + waitProcess(process); + if (process.exitCode() == 0) { + showMessageDialog(tr("Command Result"), + tr("Result from command:\n\n" + "%1\n" + "You have to reboot for this " + "change to take effect.") + .arg(QString(process.readAllStandardOutput())), + true, false); + } else { + showMessageDialog(tr("Command Result"), tr("Running command failed."), false, false); + } + process.close(); + } +#endif +} + +void ConnectAndEnterPage::bmsconfUpdated() +{ + mMcConfRead = true; +} + +void ConnectAndEnterPage::bmsConfigCheckResult(QStringList paramsNotSet) +{ + if (!paramsNotSet.isEmpty()) { + ParamDialog::showParams(tr("Parameters truncated"), + tr("The following parameters were truncated because they were set outside " + "of their allowed limits."), + mDieBieMS->bmsConfig(), paramsNotSet, this); + } +} + +void ConnectAndEnterPage::showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText) +{ + (void)richText; + + mIsConnected = isGood; + if (isGood) { + QMessageBox::information(this, title, msg); + } else { + QMessageBox::warning(this, title, msg); + } + + emit sigConnected(); +} + +BMSInterface *ConnectAndEnterPage::bms() const +{ + return mDieBieMS; +} + +void ConnectAndEnterPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; +} + +void ConnectAndEnterPage::setDieBieMSEx(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + connect(mDieBieMS->bleDevice(), SIGNAL(scanDone(QVariantMap, bool)), this, SLOT(bleScanDone(QVariantMap, bool))); + + QString lastBleAddr = QSettings().value("ble_addr").toString(); + if (lastBleAddr != "") { + QString setName = mDieBieMS->getBleName(lastBleAddr); + + QString name; + if (!setName.isEmpty()) { + name += setName; + name += " ["; + name += lastBleAddr; + name += "]"; + } else { + name = lastBleAddr; + } + // ui->bleDevBox->insertItem(0, name, lastBleAddr); + } + + on_pbSerialRefresh_clicked(); +} + +void ConnectAndEnterPage::on_pbSerialRefresh_clicked() +{ + ui->pbSerialRefresh->setChecked(false); + + if (mDieBieMS) { + ui->cboxSerialPort->clear(); + QList ports = mDieBieMS->listSerialPorts(); + foreach (const VSerialInfo_t &port, ports) { + ui->cboxSerialPort->addItem(port.name, port.systemPath); + } + ui->cboxSerialPort->setCurrentIndex(0); + } +} + +void ConnectAndEnterPage::on_pbConnect_clicked() +{ + // Big Connect Button on Wellcome page + // Utility::autoconnectBlockingWithProgress(mDieBieMS, this); + + // Simple Connect Button on Connection Page + mIsConnected = false; + if (mDieBieMS) { + mIsConnected = mDieBieMS->connectSerial(ui->cboxSerialPort->currentData().toString(), + SERIAL_BAUD_DEFAULT_VAL // ui->spinboxSerialPort->value() + ); + } + + if(mIsConnected) + emit sigConnected(); + //*/ +} + +void ConnectAndEnterPage::on_pbExit_clicked() +{ + if(mDieBieMS) + mDieBieMS->disconnectPort(); + //mDieBieMS->tcpInputDisconnected(); + + mIsConnected = false; + clearPortToConnect(); + + emit sigReject(); + //close(); +} + + + +void ConnectAndEnterPage::onComboBoxSerialPortOpened() +{ + //ui->pbSerialRefresh->setChecked(true); +} + +void ConnectAndEnterPage::onComboBoxSerialPortClosed() +{ + //ui->pbSerialRefresh->setChecked(false); +} + +void ConnectAndEnterPage::on_gbWindow_clicked() +{ + int a = 0; +} + +void ConnectAndEnterPage::on_gbHeader_clicked() +{ + int a = 0; +} + +/* +void ConnectAndEnterPage::ShowContextMenu(const QPoint &pos) +{ + QMenu contextMenu(tr("Context menu"), this); + + QAction action1("Remove Data Point", this); + connect(&action1, SIGNAL(triggered()), this, SLOT(removeDataPoint())); + contextMenu.addAction(&action1); + + contextMenu.exec(mapToGlobal(pos)); +} +*/ +void ConnectAndEnterPage::on_pbLanguage_clicked() +{ + +} + + + diff --git a/connectandenterpage.h b/connectandenterpage.h new file mode 100644 index 0000000..0c01c18 --- /dev/null +++ b/connectandenterpage.h @@ -0,0 +1,94 @@ +#ifndef CONNECTANDENTERPAGE_H +#define CONNECTANDENTERPAGE_H + +#include +#include +#include +#include + +#include "bmsinterface.h" + +#include "debugprintpage.h" + +namespace Ui { +class ConnectAndEnterPage; +} + +//class ConnectAndEnterPage : public QDialog +class ConnectAndEnterPage : public QWidget +{ + Q_OBJECT + +public: + explicit ConnectAndEnterPage(QWidget *parent = nullptr); + ~ConnectAndEnterPage(); + + void initDieBieMS(BMSInterface *); + + void prepareWindowBeforeShow(); + + bool isConnectionPrepared(); + QString portToConnect(); + + static const int SERIAL_BAUD_DEFAULT_VAL = 115200; + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + void setDieBieMSEx(BMSInterface *dieBieMS); + void setDebugPrintPage(DebugPrintPage *page); + + +signals: + void sigConnected(); + void sigReject(); + +private slots: + void on_pbExit_clicked(); + +private slots: + void showStatusInfo(QString info, bool isGood); + void showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText); + void serialPortNotWritable(const QString &port); + void bmsconfUpdated(); + void bmsConfigCheckResult(QStringList paramsNotSet); + + void on_pbConnect_clicked(); + void on_pbSerialRefresh_clicked(); + + void onComboBoxSerialPortOpened(); + void onComboBoxSerialPortClosed(); + + void on_gbWindow_clicked(); + + void on_gbHeader_clicked(); + + void on_pbLanguage_clicked(); + +private: + Ui::ConnectAndEnterPage *ui; + BMSInterface * mDieBieMS; + bool mIsConnected; + // QString mPortForConnection; + + // QLabel *mStatusLabel; + DebugPrintPage *mPageDebugPrint; + + + int mStatusInfoTime; + bool mKeyLeft; + bool mKeyRight; + bool mMcConfRead; + + + + bool waitProcess(QProcess &process, bool block = true, int timeoutMs = 300000); + QString runCmd(QString cmd, QStringList args); + + void clearPortToConnect(); + + void ShowContextMenu(const QPoint &pos); + + +}; + +#endif // CONNECTANDENTERPAGE_H diff --git a/connectandenterpage.ui b/connectandenterpage.ui new file mode 100644 index 0000000..a5019e6 --- /dev/null +++ b/connectandenterpage.ui @@ -0,0 +1,733 @@ + + + ConnectAndEnterPage + + + + 0 + 0 + 1366 + 738 + + + + Form + + + /*#ConnectAndEnterPage +{ + background-color:#F7F8FC; +} +*/ + +QLabel { font-family:"Artifakt Element"; } +QPushButton { font-family:"Artifakt Element"; } +QComboBox { font-family:"Artifakt Element"; } + +QLabel#lbIconLogo +{ + /*background-image: url(:/images/cubo-verde-logo.png);*/ + border-image: url(:/res/cubo-verde-logo-green.png) 0 0 0 0 stretch stretch; +} + +QLabel#lbHeaderLanguageIcon +{ + /*background-image: url(:/images/cubo-verde-logo.png);*/ + border-image: url(:/res/language-russ.png) 0 0 0 0 stretch stretch; +} + +QLabel#lbChooseComPort +{ + font-weight: bold; +/*font-family: "DejaVu Sans";*/ +} + +/* +QComboBox#cboxComConnections +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} +*/ + + + + + + + 0 + 10 + 637 + 433 + + + + + 0 + 0 + + + + + 637 + 433 + + + + + 637 + 433 + + + + QGroupBox#gbWindow +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + + + + 0 + 71 + + + + QGroupBox#gbHeader +{ + background-color:white; + border-top-left-radius:10px; + border-top-right-radius:10px; + border-bottom-left-radius:0px; + border-bottom-right-radius:0px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + margin-left: -1px; + margin-right: -1px; + margin-top: -1px; +} + + + + + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 140 + 20 + + + + + + + + + 50 + 50 + + + + + 50 + 50 + + + + Qt::NoContextMenu + + + QFrame::NoFrame + + + QFrame::Plain + + + 0 + + + + + + :/res/cubo-verde-logo-green.png + + + true + + + Qt::AlignCenter + + + + + + + Qt::Horizontal + + + QSizePolicy::Fixed + + + + 215 + 20 + + + + + + + + + 0 + 0 + + + + + 50 + 0 + + + + + Artifakt Element + -1 + 75 + true + + + + Qt::RightToLeft + + + + + color:#0A72BA; + background-color:#ffffff; + border-color: #ffffff; + border-style: solid; + border-width: 1px; + border-radius: 7px; + font-weight:bold; + font-size: 16px; + /* font-family: "Times New Roman";*/ + /*font-family: "Artifakt Element";*/ + qproperty-icon: url(:/res/language-russ.png) 0 0 0 0 stretch stretch; + + + + + Рус + + + + 32 + 27 + + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + 12 + + + 150 + + + 150 + + + 0 + + + + + + + + + + + + + Artifakt Element + 24 + 75 + true + + + + Выберите COM-порт + + + Qt::AlignCenter + + + + + + + 0 + + + + + + 0 + 61 + + + + + Artifakt Element + 16 + + + + +/*QComboBox QAbstractItemView::item +{ + min-height: 50px; +} +*/ + +QListView::item +{ + color:black; + height:50px; + padding-left:15px; + font-size:16px; +} + +/* +QListView +{ + color:black; + height:50px; + padding-left:15px; + font-size:16px; +} +*/ +QComboBox { + color:black; + border: 1px solid lightgray; + border-radius: 7px; + padding-left:15px; + /*padding: 1px 18px 1px 3px;*/ +} +/* +QComboBox { + color:gray; + border: 1px solid lightgray; + border-radius: 7px; + padding: 1px 18px 1px 3px; + min-width: 6em; +} + +QComboBox:editable { + background: white; +} +*/ + + +/*not opened*/ +/*QComboBox:!editable, QComboBox::drop-down:editable { + background: white; + padding-left: 15px; +} +*/ + +/* QComboBox gets the "on" state when the popup is open */ +/*QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: #CCE9DC; + padding-left: 15px; +} +*/ + +/* shift the text when the popup opens */ +/*QComboBox:on { + padding-top: 3px; + padding-left: 15px; +} +*/ + +/* QComboBox gets the "on" state when the popup is open */ +QComboBox:!editable:on, QComboBox::drop-down:editable:on { + background: #CCE9DC; + padding-left: 15px; +} + +/* shift the text when the popup opens */ +/*QComboBox:on { + padding-top: 3px; + padding-left: 15px; +} +*/ + + +/*area around the /* V */ +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 50px; + + /*background: red;*/ + + /*border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; + /*padding-right: 10px; /* V */ +} + + +QComboBox QAbstractItemView { + /*no mouse over text*/ + color: black; + /*no mouse over white*/ + background-color: white; + /*mouse over text*/ + selection-color: black; + /*mouse over blue*/ + selection-background-color: #F0F1F4; /* blue */ + /*selection-background-color: #FFF1F4; /* red */ + +} + +QComboBox QAbstractItemView:pressed { + /*no mouse over text green*/ + color: #CCE9DC; +} + + +QComboBox::item:pressed { + /*pressed element text green*/ + color: #CCE9DC; +} + + + +/*----------------------------------------*/ + + +/*area around the /* V */ +QComboBox::drop-down { + subcontrol-origin: padding; + subcontrol-position: top right; + width: 50px; + + /*background: red;*/ + + /*border-left-width: 1px; + border-left-color: darkgray; + border-left-style: solid; /* just a single line */ + border-top-right-radius: 3px; /* same radius as the QComboBox */ + border-bottom-right-radius: 3px; + /*padding-right: 10px; /* V */ +} + + +QComboBox::down-arrow { + image: url(:/res/cbox-arrow-down-black.png); +} +QComboBox::down-arrow:on { /*QComboBox::up-arrow {*/ + image: url(:/res/cbox-arrow-up-green.png); +} + +/* shift the arrow when popup is open */ +/*QComboBox::down-arrow:on { + top: 1px; + left: 1px; +} +*/ + +/* +QComboBox QAbstractItemView { +/* color: black; /*rgb(85, 170, 255);*/ +/* background-color: white; /* #373e4e;*/ +/* padding: 10px; + selection-background-color: #CCE9DC; /*rgb(39, 44, 54);*/ + +/*selected green +background: #CCE9DC; +mouse over blue +background: #F0F1F4; +*/ +/*} + +/* +QGroupBox#gbSerialNumberLocal, +#gbBatteryModulesCellsAkbBmsParameters, +#gbCellMinMaxVoltageNumberAmperageParameters +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} +*/ + + + + + + + -1 + + + 4 + + + 0 + + + + + + + + 0 + 0 + + + + + 61 + 61 + + + + + 61 + 61 + + + + +QPushButton#pbSerialRefresh +{ + color:white; + background-color:#FFFFFF; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 7px; + padding:15px; + image: url(:/res/icons/Restart-97-Black.png) 0 0 0 0 stretch stretch; +} +QPushButton#pbSerialRefresh:hover:pressed +{ + background-color:#009352; + border-color: #009352; + image: url(:/res/icons/Restart-97-White.png) 0 0 0 0 stretch stretch; +} + +/* +QPushButton#pbSerialRefresh:checked +{ + background-color:#009352; + border-color: #009352; + image: url(:/res/icons/Restart-97-White.png) 0 0 0 0 stretch stretch; +} +*/ + + /*background-color:#01673a;*/ +/*QPushButton#pbSerialRefresh:hover:pressed +{ + background-color:lightgrey; +} +*/ + + + + + + + + true + + + false + + + + + + + + + + 281 + 61 + + + + QPushButton#pbConnect +{ + color:white; + background-color:#009352; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 7px; + font-weight:bold; + font-size: 16px; + /* font-family: "Times New Roman";*/ + font-family: "Artifakt Element"; +} + +QPushButton#pbConnect:hover:pressed +{ + background-color:#01673a; +} + + + + Подключиться + + + + + + + + 281 + 61 + + + + QPushButton#pbExit +{ + color:#000000; + background-color:#FFFFFF; + font-weight:bold; + font-size: 16px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 7px; +} + +QPushButton#pbExit:hover:pressed +{ + /*background-color:#01673a;*/ + background-color:lightgrey; +} + + + + + Закрыть + + + + + + + + Artifakt Element + 16 + + + + + + + Qt::AlignCenter + + + + + + + Qt::Vertical + + + + 20 + 40 + + + + + + + + + + + + HoverableComboBox + QComboBox +
hoverablecombobox.h
+
+ + LanguageSelectorButton + QPushButton +
languageselectorbutton.h
+
+
+ + + + +
diff --git a/customlefttabbarbutton.cpp b/customlefttabbarbutton.cpp new file mode 100644 index 0000000..b7ca1d8 --- /dev/null +++ b/customlefttabbarbutton.cpp @@ -0,0 +1,76 @@ +#include "customlefttabbarbutton.h" + +CustomLeftTabBarButton::CustomLeftTabBarButton(QWidget* parent) : QPushButton(parent) +{ + QIcon i = this->icon(); + QPixmap p = i.pixmap(5, 5); + m_pixmap = this->icon().pixmap(this->icon().actualSize(QSize(5, 5))); +} + +CustomLeftTabBarButton::~CustomLeftTabBarButton() +{ +} + +QSize CustomLeftTabBarButton::sizeHint() const +{ + const auto parentHint = QPushButton::sizeHint(); + // add margins here if needed + return QSize + ( + parentHint.width() + m_pixmap.width() , + std::max(parentHint.height(), m_pixmap.height()) + ); +} + +void CustomLeftTabBarButton::setPixmap(const QPixmap& pixmap) +{ + m_pixmap = pixmap; +} + +void CustomLeftTabBarButton::setPos(const QSize& pos) +{ + m_pixmapPos = pos; +} + +void CustomLeftTabBarButton::setIconStringForButton(QString iconString) +{ + QIcon i = QIcon(iconString); //":/res/lock-icon-closed.png"); + int sz = 20; + QSize size (sz , sz); + //= iconSize(); + i.actualSize(size); + QPixmap p = i.pixmap(sz); + m_pixmap = p; + this->setPixmap(p); +} + + +void CustomLeftTabBarButton::paintEvent(QPaintEvent* e) +{ + // Draw the button first + QPushButton::paintEvent(e); + + if (!m_pixmap.isNull()) + { + bool isTextEmpty = (text()==""); + + { + //const int y = (height() - m_pixmap.height()) / 2; // add margin if needed + int h_btn_half = height() / 2; + int h_icon_half = m_pixmap.height() / 2; + int w_btn_half = width() / 2; + int w_icon_half = m_pixmap.width() / 2; + int w_btn_tenth = width() / 10; + + QPainter painter(this); + painter.drawPixmap + ( + isTextEmpty + ? w_btn_half - w_icon_half + : 40 + , h_btn_half - h_icon_half + , m_pixmap + ); // hardcoded horizontal margin + } + } +} diff --git a/customlefttabbarbutton.h b/customlefttabbarbutton.h new file mode 100644 index 0000000..87b2a00 --- /dev/null +++ b/customlefttabbarbutton.h @@ -0,0 +1,32 @@ +#ifndef CUSTOMLEFTTABBARBUTTON_H +#define CUSTOMLEFTTABBARBUTTON_H + +#include +#include +#include +#include +#include +#include + +class CustomLeftTabBarButton : public QPushButton +{ +public: + explicit CustomLeftTabBarButton(QWidget* parent = nullptr); + virtual ~CustomLeftTabBarButton(); + + void setPos(const QSize& pos); + void setPixmap(const QPixmap& pixmap); + void setIconStringForButton(QString iconString); + + void setStringForButton(QString String); + virtual QSize sizeHint() const override; + +protected: + virtual void paintEvent(QPaintEvent* e) override; + +private: + QPixmap m_pixmap; + QSize m_pixmapPos; +}; + +#endif // CUSTOMLEFTTABBARBUTTON_H diff --git a/datatypes.h b/datatypes.h new file mode 100644 index 0000000..691c1bd --- /dev/null +++ b/datatypes.h @@ -0,0 +1,469 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef DATATYPES_H +#define DATATYPES_H + +#include +#include +#include +#include +#include + +typedef struct { + QString name; + QString systemPath; + bool isVesc; +} VSerialInfo_t; + +typedef enum { + CFG_T_UNDEFINED = 0, + CFG_T_DOUBLE, + CFG_T_INT, + CFG_T_QSTRING, + CFG_T_ENUM, + CFG_T_BOOL +} CFG_T; + +typedef enum { + VESC_TX_UNDEFINED = 0, + VESC_TX_UINT8, + VESC_TX_INT8, + VESC_TX_UINT16, + VESC_TX_INT16, + VESC_TX_UINT32, + VESC_TX_INT32, + VESC_TX_DOUBLE16, + VESC_TX_DOUBLE32, + VESC_TX_DOUBLE32_AUTO +} VESC_TX_T; + +typedef enum { + FAULT_CODE_NONE = 0, + FAULT_CODE_PACK_OVER_VOLTAGE, + FAULT_CODE_PACK_UNDER_VOLTAGE, + FAULT_CODE_LOAD_OVER_VOLTAGE, + FAULT_CODE_LOAD_UNDER_VOLTAGE, + FAULT_CODE_CHARGER_OVER_VOLTAGE, + FAULT_CODE_CHARGER_UNDER_VOLTAGE, + FAULT_CODE_CELL_HARD_OVER_VOLTAGE, + FAULT_CODE_CELL_HARD_UNDER_VOLTAGE, + FAULT_CODE_CELL_SOFT_OVER_VOLTAGE, + FAULT_CODE_CELL_SOFT_UNDER_VOLTAGE, + FAULT_CODE_MAX_UVP_OVP_ERRORS, + FAULT_CODE_MAX_UVT_OVT_ERRORS, + FAULT_CODE_OVER_CURRENT, + FAULT_CODE_OVER_TEMP_BMS, + FAULT_CODE_UNDER_TEMP_BMS, + FAULT_CODE_DISCHARGE_OVER_TEMP_CELLS, + FAULT_CODE_DISCHARGE_UNDER_TEMP_CELLS, + FAULT_CODE_CHARGE_OVER_TEMP_CELLS, + FAULT_CODE_CHARGE_UNDER_TEMP_CELLS, + FAULT_CODE_PRECHARGE_TIMEOUT, + FAULT_CODE_DISCHARGE_RETRY, + FAULT_CODE_CHARGE_RETRY, + FAULT_CODE_CHARGER_DISCONNECT +} bms_fault_code; + +typedef enum { + DISP_POS_MODE_NONE = 0, + DISP_POS_MODE_INDUCTANCE, + DISP_POS_MODE_OBSERVER, + DISP_POS_MODE_ENCODER, + DISP_POS_MODE_PID_POS, + DISP_POS_MODE_PID_POS_ERROR, + DISP_POS_MODE_ENCODER_OBSERVER_ERROR +} disp_pos_mode; + +struct MC_VALUES { + Q_GADGET + + Q_PROPERTY(double v_in MEMBER v_in) + Q_PROPERTY(double temp_mos MEMBER temp_mos) + Q_PROPERTY(double temp_motor MEMBER temp_motor) + Q_PROPERTY(double current_motor MEMBER current_motor) + Q_PROPERTY(double current_in MEMBER current_in) + Q_PROPERTY(double id MEMBER id) + Q_PROPERTY(double iq MEMBER iq) + Q_PROPERTY(double rpm MEMBER rpm) + Q_PROPERTY(double duty_now MEMBER duty_now) + Q_PROPERTY(double amp_hours MEMBER amp_hours) + Q_PROPERTY(double amp_hours_charged MEMBER amp_hours_charged) + Q_PROPERTY(double watt_hours MEMBER watt_hours) + Q_PROPERTY(double watt_hours_charged MEMBER watt_hours_charged) + Q_PROPERTY(int tachometer MEMBER tachometer) + Q_PROPERTY(int tachometer_abs MEMBER tachometer_abs) + Q_PROPERTY(double position MEMBER position) + //Q_PROPERTY(mc_fault_code fault_code MEMBER fault_code) + Q_PROPERTY(QString fault_str MEMBER fault_str) + +public: + MC_VALUES() { + v_in = 0.0; + temp_mos = 0.0; + temp_mos_1 = 0.0; + temp_mos_2 = 0.0; + temp_mos_3 = 0.0; + temp_motor = 0.0; + current_motor = 0.0; + current_in = 0.0; + id = 0.0; + iq = 0.0; + rpm = 0.0; + duty_now = 0.0; + amp_hours = 0.0; + amp_hours_charged = 0.0; + watt_hours = 0.0; + watt_hours_charged = 0.0; + tachometer = 0; + tachometer_abs = 0; + position = 0.0; + //fault_code = FAULT_CODE_NONE; + vesc_id = 0; + } + + double v_in; + double temp_mos; + double temp_mos_1; + double temp_mos_2; + double temp_mos_3; + double temp_motor; + double current_motor; + double current_in; + double id; + double iq; + double rpm; + double duty_now; + double amp_hours; + double amp_hours_charged; + double watt_hours; + double watt_hours_charged; + int tachometer; + int tachometer_abs; + double position; + //mc_fault_code fault_code; + int vesc_id; + QString fault_str; +}; + +Q_DECLARE_METATYPE(MC_VALUES) + +struct BMS_VALUES { + Q_GADGET + + Q_PROPERTY(double packVoltage MEMBER packVoltage) + Q_PROPERTY(double packCurrent MEMBER packCurrent) + Q_PROPERTY(int soC MEMBER soC) + Q_PROPERTY(double cVHigh MEMBER cVHigh) + Q_PROPERTY(double cVAverage MEMBER cVAverage) + Q_PROPERTY(double cVLow MEMBER cVLow) + Q_PROPERTY(double cVMisMatch MEMBER cVMisMatch) + Q_PROPERTY(double loadLCVoltage MEMBER loadLCVoltage) + Q_PROPERTY(double loadLCCurrent MEMBER loadLCCurrent) + Q_PROPERTY(double loadHCVoltage MEMBER loadHCVoltage) + Q_PROPERTY(double loadHCCurrent MEMBER loadHCCurrent) + Q_PROPERTY(double chargerVoltage MEMBER chargerVoltage) + Q_PROPERTY(double auxVoltage MEMBER auxVoltage) + Q_PROPERTY(double auxCurrent MEMBER auxCurrent) + Q_PROPERTY(double tempBattHigh MEMBER tempBattHigh) + Q_PROPERTY(double tempBattAverage MEMBER tempBattAverage) + Q_PROPERTY(double tempBattLow MEMBER tempBattLow) + Q_PROPERTY(double tempBMSHigh MEMBER tempBMSHigh) + Q_PROPERTY(double tempBMSAverage MEMBER tempBMSAverage) + Q_PROPERTY(double tempBMSLow MEMBER tempBMSLow) + Q_PROPERTY(double humidity MEMBER humidity) + Q_PROPERTY(QString opState MEMBER opState) + Q_PROPERTY(int balanceActive MEMBER balanceActive) + Q_PROPERTY(QString faultState MEMBER faultState) + +public: + BMS_VALUES(){ + packVoltage = 0.0; + packCurrent =0.0; + soC = 0; + cVHigh = 0.0; + cVAverage =0.0; + cVLow = 0.0; + cVMisMatch = 0.0; + loadLCVoltage = 0.0; + loadLCCurrent = 0.0; + loadHCVoltage = 0.0; + loadHCCurrent = 0.0; + chargerVoltage =0.0; + auxVoltage = 0.0; + auxCurrent = 0.0; + tempBattHigh = 0.0; + tempBattAverage = 0.0; + tempBattLow = 0.0; + tempBMSHigh = 0.0; + tempBMSAverage = 0.0; + tempBMSLow = 0.0; + humidity = 0.0; + balanceActive = 0; + } + + double packVoltage; + double packCurrent; + int soC; + double cVHigh; + double cVAverage; + double cVLow; + double cVMisMatch; + double loadLCVoltage; + double loadLCCurrent; + double loadHCVoltage; + double loadHCCurrent; + double chargerVoltage; + double auxVoltage; + double auxCurrent; + double tempBattHigh; + double tempBattAverage; + double tempBattLow; + double tempBMSHigh; + double tempBMSAverage; + double tempBMSLow; + double humidity; + QString opState; + int balanceActive; + QString faultState; +}; + +Q_DECLARE_METATYPE(BMS_VALUES) + +struct MCCONF_TEMP { + Q_GADGET + + Q_PROPERTY(double current_min_scale MEMBER current_min_scale) + Q_PROPERTY(double current_max_scale MEMBER current_max_scale) + Q_PROPERTY(double erpm_or_speed_min MEMBER erpm_or_speed_min) + Q_PROPERTY(double erpm_or_speed_max MEMBER erpm_or_speed_max) + Q_PROPERTY(double duty_min MEMBER duty_min) + Q_PROPERTY(double duty_max MEMBER duty_max) + Q_PROPERTY(double watt_min MEMBER watt_min) + Q_PROPERTY(double watt_max MEMBER watt_max) + Q_PROPERTY(QString name MEMBER name) + +public: + double current_min_scale; + double current_max_scale; + double erpm_or_speed_min; + double erpm_or_speed_max; + double duty_min; + double duty_max; + double watt_min; + double watt_max; + QString name; +}; + +Q_DECLARE_METATYPE(MCCONF_TEMP) + +typedef enum { + DEBUG_SAMPLING_OFF = 0, + DEBUG_SAMPLING_NOW, + DEBUG_SAMPLING_START, + DEBUG_SAMPLING_TRIGGER_START, + DEBUG_SAMPLING_TRIGGER_FAULT, + DEBUG_SAMPLING_TRIGGER_START_NOSEND, + DEBUG_SAMPLING_TRIGGER_FAULT_NOSEND, + DEBUG_SAMPLING_SEND_LAST_SAMPLES +} debug_sampling_mode; + +// Communication commands +typedef enum { + COMM_FW_VERSION = 0, + COMM_JUMP_TO_BOOTLOADER, + COMM_ERASE_NEW_APP, + COMM_WRITE_NEW_APP_DATA, + COMM_GET_VALUES, + COMM_SET_DUTY, + COMM_SET_CURRENT, + COMM_SET_CURRENT_BRAKE, + COMM_SET_RPM, + COMM_SET_POS, + COMM_SET_HANDBRAKE, + COMM_SET_DETECT, + COMM_SET_SERVO_POS, + COMM_SET_MCCONF, + COMM_GET_MCCONF, + COMM_GET_MCCONF_DEFAULT, + COMM_SET_APPCONF, + COMM_GET_APPCONF, + COMM_GET_APPCONF_DEFAULT, + COMM_SAMPLE_PRINT, + COMM_TERMINAL_CMD, + COMM_PRINT, + COMM_ROTOR_POSITION, + COMM_EXPERIMENT_SAMPLE, + COMM_DETECT_MOTOR_PARAM, + COMM_DETECT_MOTOR_R_L, + COMM_DETECT_MOTOR_FLUX_LINKAGE, + COMM_DETECT_ENCODER, + COMM_DETECT_HALL_FOC, + COMM_REBOOT, + COMM_ALIVE, + COMM_GET_DECODED_PPM, + COMM_GET_DECODED_ADC, + COMM_GET_DECODED_CHUK, + COMM_FORWARD_CAN, + COMM_SET_CHUCK_DATA, + COMM_CUSTOM_APP_DATA, + COMM_NRF_START_PAIRING, + COMM_GPD_SET_FSW, + COMM_GPD_BUFFER_NOTIFY, + COMM_GPD_BUFFER_SIZE_LEFT, + COMM_GPD_FILL_BUFFER, + COMM_GPD_OUTPUT_SAMPLE, + COMM_GPD_SET_MODE, + COMM_GPD_FILL_BUFFER_INT8, + COMM_GPD_FILL_BUFFER_INT16, + COMM_GPD_SET_BUFFER_INT_SCALE, + COMM_GET_VALUES_SETUP, + COMM_SET_MCCONF_TEMP, + COMM_SET_MCCONF_TEMP_SETUP, + COMM_GET_VALUES_SELECTIVE, + COMM_GET_VALUES_SETUP_SELECTIVE, + COMM_EXT_NRF_PRESENT, + COMM_EXT_NRF_ESB_SET_CH_ADDR, + COMM_EXT_NRF_ESB_SEND_DATA, + COMM_EXT_NRF_ESB_RX_DATA, + COMM_EXT_NRF_SET_ENABLED, + COMM_DETECT_MOTOR_FLUX_LINKAGE_OPENLOOP, + COMM_DETECT_APPLY_ALL_FOC, + COMM_JUMP_TO_BOOTLOADER_ALL_CAN, + COMM_ERASE_NEW_APP_ALL_CAN, + COMM_WRITE_NEW_APP_DATA_ALL_CAN, + COMM_PING_CAN, + COMM_APP_DISABLE_OUTPUT, + COMM_TERMINAL_CMD_SYNC, + COMM_GET_IMU_DATA, + COMM_BM_CONNECT, + COMM_BM_ERASE_FLASH_ALL, + COMM_BM_WRITE_FLASH, + COMM_BM_REBOOT, + COMM_BM_DISCONNECT, + COMM_BM_MAP_PINS_DEFAULT, + COMM_BM_MAP_PINS_NRF5X, + COMM_ERASE_BOOTLOADER, + COMM_ERASE_BOOTLOADER_ALL_CAN, + COMM_PLOT_INIT, + COMM_PLOT_DATA, + COMM_PLOT_ADD_GRAPH, + COMM_PLOT_SET_GRAPH, + COMM_GET_DECODED_BALANCE, + COMM_BM_MEM_READ, + COMM_WRITE_NEW_APP_DATA_LZO, + COMM_WRITE_NEW_APP_DATA_ALL_CAN_LZO, + COMM_BM_WRITE_FLASH_LZO, + COMM_SET_CURRENT_REL, + COMM_CAN_FWD_FRAME, + COMM_SET_BATTERY_CUT, + COMM_SET_BLE_NAME, + COMM_SET_BLE_PIN, + COMM_SET_CAN_MODE, + COMM_GET_IMU_CALIBRATION, + COMM_GET_MCCONF_TEMP, + + // Custom configuration for hardware + COMM_GET_CUSTOM_CONFIG_XML, + COMM_GET_CUSTOM_CONFIG, + COMM_GET_CUSTOM_CONFIG_DEFAULT, + COMM_SET_CUSTOM_CONFIG, + + // BMS commands + COMM_BMS_GET_VALUES, + COMM_BMS_SET_CHARGE_ALLOWED, + COMM_BMS_SET_BALANCE_OVERRIDE, + COMM_BMS_RESET_COUNTERS, + COMM_BMS_FORCE_BALANCE, + COMM_BMS_ZERO_CURRENT_OFFSET, + + // FW updates commands for different HW types + COMM_JUMP_TO_BOOTLOADER_HW, + COMM_ERASE_NEW_APP_HW, + COMM_WRITE_NEW_APP_DATA_HW, + COMM_ERASE_BOOTLOADER_HW, + COMM_JUMP_TO_BOOTLOADER_ALL_CAN_HW, + COMM_ERASE_NEW_APP_ALL_CAN_HW, + COMM_WRITE_NEW_APP_DATA_ALL_CAN_HW, + COMM_ERASE_BOOTLOADER_ALL_CAN_HW, + + COMM_SET_ODOMETER, + + // ENNOID-BMS specific + COMM_STORE_BMS_CONF = 150, + COMM_GET_BMS_CELLS, + COMM_GET_BMS_AUX, + COMM_GET_BMS_EXP_TEMP +} COMM_PACKET_ID; + +typedef struct { + int js_x; + int js_y; + int acc_x; + int acc_y; + int acc_z; + bool bt_c; + bool bt_z; +} chuck_data; + +struct bldc_detect { + Q_GADGET + + Q_PROPERTY(double cycle_int_limit MEMBER cycle_int_limit) + Q_PROPERTY(double bemf_coupling_k MEMBER bemf_coupling_k) + Q_PROPERTY(QVector hall_table MEMBER hall_table) + Q_PROPERTY(int hall_res MEMBER hall_res) + +public: + double cycle_int_limit; + double bemf_coupling_k; + QVector hall_table; + int hall_res; +}; + +Q_DECLARE_METATYPE(bldc_detect) + +typedef enum { + NRF_PAIR_STARTED = 0, + NRF_PAIR_OK, + NRF_PAIR_FAIL +} NRF_PAIR_RES; + +typedef enum { + OP_STATE_INIT = 0, // 0 + OP_STATE_CHARGING, // 1 + OP_STATE_PRE_CHARGE, // 2 + OP_STATE_LOAD_ENABLED, // 3 + OP_STATE_BATTERY_DEAD, // 4 + OP_STATE_POWER_DOWN, // 5 + OP_STATE_EXTERNAL, // 6 + OP_STATE_ERROR, // 7 + OP_STATE_ERROR_PRECHARGE, // 8 + OP_STATE_BALANCING, // 9 + OP_STATE_CHARGED, // 10 + OP_STATE_FORCEON, // 11 +} OperationalStateTypedef; + +#endif // DATATYPES_H diff --git a/debugprintpage.cpp b/debugprintpage.cpp new file mode 100644 index 0000000..aee423a --- /dev/null +++ b/debugprintpage.cpp @@ -0,0 +1,58 @@ +#include "debugprintpage.h" +#include "ui_debugprintpage.h" +#include +#include +#include + +DebugPrintPage *DebugPrintPage::currentMsgHandler = 0; + +DebugPrintPage::DebugPrintPage(QWidget *parent) : + QFrame(parent), + ui(new Ui::DebugPrintPage) +{ + ui->setupUi(this); + + currentMsgHandler = this; + + connect(ui->clearButton, &QPushButton::clicked, this, &DebugPrintPage::on_clearButton_clicked); +} + +DebugPrintPage::~DebugPrintPage() +{ + delete ui; +} + +void DebugPrintPage::on_clearButton_clicked() +{ + clearConsole(); +} + +void DebugPrintPage::clearConsole() +{ + ui->consoleBrowser->clear(); +} + +BMSInterface *DebugPrintPage::bms() const +{ + return mDieBieMS; +} + +void DebugPrintPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + connect(mDieBieMS->commands(), SIGNAL(printReceived(QString)), + this, SLOT(printReceived(QString))); + } +} + + +void DebugPrintPage::printConsole(QString str) +{ + ui->consoleBrowser->moveCursor(QTextCursor::End); + ui->consoleBrowser->insertHtml(QDateTime::currentDateTime(). + toString("yyyy-MM-dd hh:mm:ss: ") + + str); + ui->consoleBrowser->moveCursor(QTextCursor::End); +} diff --git a/debugprintpage.h b/debugprintpage.h new file mode 100644 index 0000000..da23693 --- /dev/null +++ b/debugprintpage.h @@ -0,0 +1,39 @@ +#ifndef DEBUGPRINTPAGE_H +#define DEBUGPRINTPAGE_H + +#include +#include + +#include "bmsinterface.h" + +namespace Ui { +class DebugPrintPage; +} + +class DebugPrintPage : public QFrame +{ + Q_OBJECT + +public: + explicit DebugPrintPage(QWidget *parent = nullptr); + ~DebugPrintPage(); + + static DebugPrintPage* currentMsgHandler; + + void clearConsole(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +public slots: + void printConsole(QString str); + +private slots: + void on_clearButton_clicked(); + +private: + Ui::DebugPrintPage *ui; + BMSInterface *mDieBieMS; +}; + +#endif // DEBUGPRINTPAGE_H diff --git a/debugprintpage.ui b/debugprintpage.ui new file mode 100644 index 0000000..0f93810 --- /dev/null +++ b/debugprintpage.ui @@ -0,0 +1,233 @@ + + + DebugPrintPage + + + + 0 + 0 + 1071 + 755 + + + + Form + + + +QWidget#DebugPrintPage +{ + background-color: #f7f8fc +} + +QPushButton#pbVisualizationMenuBarVoltage +{ + border: 2px solid lightgrey; + border-top-left-radius: 15px; + background: white; + color: black; + font-size: 18px; + border-right-color: white; +} + +QPushButton#pbVisualizationMenuBarAmperage +{ + border: 2px solid lightgrey; +/* border-top-left-radius: 20px;*/ + background: white; + color: black; + font-size: 18px; + border-left-color: white; + border-right-color: white; +} + +QPushButton#pbVisualizationMenuBarTemperature +{ + border: 2px solid lightgrey; + background: white; + color: black; + font-size: 18px; + border-left-color: white; + border-right-color: white; +} + +/*----------------------------------------------------------------------*/ + +QPushButton#pbVisualizationMenuBarVoltage:hover:checked, +#pbVisualizationMenuBarAmperage:hover:checked, +#pbVisualizationMenuBarTemperature:hover:checked +{ + /*background-color: #01673a;*/ + border-bottom-color:#009352; + color:#009352; +} + + +QPushButton#pbVisualizationMenuBarVoltage:!hover:checked, +#pbVisualizationMenuBarAmperage:!hover:checked, +#pbVisualizationMenuBarTemperature:!hover:checked +{ + /*background-color: #01673a;*/ + border-bottom-color: #009352; + color:#009352; +} + + +QPushButton#pbVisualizationMenuBarVoltage:hover:!checked, +#pbVisualizationMenuBarAmperage:hover:!checked, +#pbVisualizationMenuBarTemperature:hover:!checked +{ + /*background-color: #009352;*/ + /*background-color: #028249;*/ + border-bottom-color: lightgrey; + color:black; +} + + + + + + + 50 + 30 + 931 + 41 + + + + + 26 + 75 + true + + + + Вывод информации + + + Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft + + + + + + 53 + 90 + 991 + 581 + + + + + 14 + 50 + false + + + + background-color:#FFFFFF; + border: 2px solid lightgrey; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + + + + + + + Qt::AlignCenter + + + + + + 53 + 91 + 991 + 581 + + + + + DejaVu Sans Mono + + + + background-color:transparent; + border: 2px solid lightgrey; + border-top-left-radius: 15px; + border-top-right-radius: 15px; + + + + QTextEdit::NoWrap + + + + + + 1000 + 680 + 44 + 40 + + + + + 0 + 0 + + + + Clear terminal + + + + + + + :/res/icons/Delete-96.png:/res/icons/Delete-96.png + + + + 32 + 32 + + + + + + false + + + + 60 + 680 + 931 + 39 + + + + + 20 + + + + labConsoleBrowserBackground + lbCenterTabName + consoleBrowser + clearButton + consoleEdit + + + + VTextBrowser + QTextEdit +
widgets/vtextbrowser.h
+
+
+ + + + +
diff --git a/digitalfiltering.cpp b/digitalfiltering.cpp new file mode 100644 index 0000000..81352a6 --- /dev/null +++ b/digitalfiltering.cpp @@ -0,0 +1,313 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "digitalfiltering.h" +#include +#include + +DigitalFiltering::DigitalFiltering() +{ +} + +// Found at http://paulbourke.net/miscellaneous//dft/ +// Dir: 0: Forward, != 0: Reverse +// m: 2^m points +// real: Real part +// imag: Imaginary part +void DigitalFiltering::fft(int dir, int m, double *real, double *imag) +{ + long n,i,i1,j,k,i2,l,l1,l2; + double c1,c2,tx,ty,t1,t2,u1,u2,z; + + // Calculate the number of points + n = 1 << m; + + // Do the bit reversal + i2 = n >> 1; + j = 0; + for (i=0;i>= 1; + } + j += k; + } + + // Compute the FFT + c1 = -1.0; + c2 = 0.0; + l2 = 1; + for (l=0;l DigitalFiltering::filterSignal(const QVector &signal, const QVector &filter, bool padAfter) +{ + QVector result; + int taps = filter.size(); + + for (int i = 0;i < taps / 2;i++) { + result.append(0.0); + } + + if (!padAfter) { + for (int i = 0;i < taps / 2;i++) { + result.append(0.0); + } + } + + for (int i = 0;i < signal.size() - taps;i++) { + double coeff = 0; + for (int j = 0;j < taps;j++) { + coeff += signal[i + j] * filter[j]; + } + result.append(coeff); + } + + if (padAfter) { + for (int i = 0;i < taps / 2;i++) { + result.append(0.0); + } + } + + return result; +} + +QVector DigitalFiltering::generateFirFilter(double f_break, int bits, bool useHamming) +{ + int taps = 1 << bits; + double imag[taps]; + double filter_vector[taps]; + + for(int i = 0;i < taps;i++) { + if (i < (int)((double)taps * f_break)) { + filter_vector[i] = 1.0; + } else { + filter_vector[i] = 0.0; + } + imag[i] = 0; + } + + for (int i = 0;i < taps / 2;i++) { + filter_vector[taps - i - 1] = filter_vector[i]; + } + + fft(1, bits, filter_vector, imag); + fftshift(filter_vector, taps); + + if (useHamming) { + hamming(filter_vector, taps); + } + + QVector result; + for(int i = 0;i < taps;i++) { + result.append(filter_vector[i]); + } + + return result; +} + +QVector DigitalFiltering::fftWithShift(QVector &signal, int resultBits, bool scaleByLen) +{ + QVector result; + int taps = signal.size(); + int resultLen = 1 << resultBits; + + double *signal_vector = new double[resultLen]; + double *imag = new double[resultLen]; + + if (resultLen < taps) { + int sizeDiffHalf = (taps - resultLen) / 2; + signal.remove(0, sizeDiffHalf); + signal.resize(resultLen); + + for(int i = 0;i < resultLen;i++) { + signal_vector[i] = signal[i]; + imag[i] = 0; + } + } else { + int sizeDiffHalf = (resultLen - taps) / 2; + for(int i = 0;i < resultLen;i++) { + if (i < sizeDiffHalf) { + signal_vector[i] = 0; + } else if (i < (taps + sizeDiffHalf)) { + signal_vector[i] = signal[i - sizeDiffHalf]; + } else { + signal_vector[i] = 0; + } + imag[i] = 0; + } + } + + fftshift(signal_vector, resultLen); + fft(0, resultBits, signal_vector, imag); + + double div_factor = scaleByLen ? (double)taps : 1.0; + for(int i = 0;i < resultLen;i++) { + result.append(fabs(signal_vector[i]) / div_factor); + } + + delete[] signal_vector; + delete[] imag; + + return result; +} diff --git a/digitalfiltering.h b/digitalfiltering.h new file mode 100644 index 0000000..6e1885a --- /dev/null +++ b/digitalfiltering.h @@ -0,0 +1,48 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef DIGITALFILTERING_H +#define DIGITALFILTERING_H + +#include + +class DigitalFiltering +{ +public: + DigitalFiltering(); + + static void fft(int dir,int m,double *real,double *imag); + static void dft(int dir, int len, double *real, double *imag); + static void fftshift(double *data, int len); + static void hamming(double *data, int len); + static void zeroPad(double *data, double *result, int dataLen, int resultLen); + static int whichPowerOfTwo(unsigned int number); + + static QVector filterSignal(const QVector &signal, const QVector &filter, bool padAfter = false); + static QVector generateFirFilter(double f_break, int bits, bool useHamming); + static QVector fftWithShift(QVector &signal, int resultBits, bool scaleByLen = false); +}; + +#endif // DIGITALFILTERING_H diff --git a/historylineeditbox.cpp b/historylineeditbox.cpp new file mode 100644 index 0000000..2e258e0 --- /dev/null +++ b/historylineeditbox.cpp @@ -0,0 +1,108 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +#include "historylineeditbox.h" +#include + +HistoryLineEditBox::HistoryLineEditBox(QWidget *parent) : + QLineEdit(parent) +{ + mIndexNow = 0; + installEventFilter(this); +} + +bool HistoryLineEditBox::eventFilter(QObject *object, QEvent *e) +{ + Q_UNUSED(object); + + if (e->type() == QEvent::KeyPress) + { + QKeyEvent *keyEvent = static_cast(e); + /* + switch(keyEvent->key()) { + case Qt::Key_Up: + case Qt::Key_Down: + return false; + + case Qt::Key_Return: + case Qt::Key_Enter: + emit enterClicked(); + break; + + default: + return false; + } + */ + bool retval = false; + + switch(keyEvent->key()) { + case Qt::Key_Up: { + if (mIndexNow == 0) { + mCurrentText = text(); + } + + mIndexNow--; + + int ind = mHistory.size() + mIndexNow; + if (ind >= 0 && ind < mHistory.size()) { + setText(mHistory.at(ind)); + } else { + mIndexNow++; + } + } break; + + case Qt::Key_Down: + mIndexNow++; + + if (mIndexNow >= 0) { + if (mIndexNow == 0) { + setText(mCurrentText); + } + mIndexNow = 0; + } else { + int ind = mHistory.size() + mIndexNow; + if (ind >= 0 && ind < mHistory.size()) { + setText(mHistory.at(ind)); + } + } + break; + + case Qt::Key_Return: + case Qt::Key_Enter: + if (!text().isEmpty()) { + if (mHistory.isEmpty() || mHistory.last() != text()) { + mHistory.append(text()); + } + } + mIndexNow = 0; + mCurrentText.clear(); + retval = false; + + emit enterClicked(); + break; + + default: + break; + } + + return retval; + } + + return false; +} diff --git a/historylineeditbox.h b/historylineeditbox.h new file mode 100644 index 0000000..f7f3b02 --- /dev/null +++ b/historylineeditbox.h @@ -0,0 +1,48 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +#ifndef HISTORYLINEEDITBOX_H +#define HISTORYLINEEDITBOX_H + +#include +#include +#include +#include +#include +#include + +class HistoryLineEditBox : public QLineEdit +{ + Q_OBJECT + +public: + HistoryLineEditBox(QWidget *parent = nullptr); + bool eventFilter(QObject *object, QEvent *e); + +signals: + void enterClicked(); + +private: + QStringList mHistory; + int mIndexNow; + QString mCurrentText; + +}; + +#endif // HISTORYLINEEDITBOX_H diff --git a/hoverablecombobox.cpp b/hoverablecombobox.cpp new file mode 100644 index 0000000..4c35422 --- /dev/null +++ b/hoverablecombobox.cpp @@ -0,0 +1,9 @@ +#include "hoverablecombobox.h" + +HoverableComboBox::HoverableComboBox(QWidget* parent) : QComboBox (parent) +{ +} + +HoverableComboBox::~HoverableComboBox() +{ +} diff --git a/hoverablecombobox.h b/hoverablecombobox.h new file mode 100644 index 0000000..c7019dd --- /dev/null +++ b/hoverablecombobox.h @@ -0,0 +1,35 @@ +#ifndef HOVERABLECOMBOBOX_H +#define HOVERABLECOMBOBOX_H + +#include +#include +#include + +class HoverableComboBox : public QComboBox +{ + Q_OBJECT +public: + HoverableComboBox(QWidget *parent = nullptr); + ~HoverableComboBox() override; + +protected: + void hidePopup() override + { + QComboBox::hidePopup(); + emit closed(); + } + + void showPopup() override + { + QComboBox::showPopup(); + emit opened(); + } + +signals: + void opened(); + void closed(); +}; + +//HoverableComboBox(QObject *parent) : QComboBox (parent) { } + +#endif // HOVERABLECOMBOBOX_H diff --git a/images/IMAGE01.png b/images/IMAGE01.png new file mode 100644 index 0000000000000000000000000000000000000000..5e10452bd95b47c11d1d72891093e384d232bef7 GIT binary patch literal 68746 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
j?)=UGqYvj2m(2mesO@BLpdAYzcq;Pc+IMc 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�SXZe{F36Aw({)gcZE^kYO!E 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 literal 0 HcmV?d00001 diff --git a/images/IMAGE02.png b/images/IMAGE02.png new file mode 100644 index 0000000000000000000000000000000000000000..0393d74150377f84d20da31289a3257e8b56f47b GIT binary patch literal 98876 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
customlefttabbarbutton.h
+ + + ConfigurationPage + QWidget +
configurationpage.h
+ 1 +
+ + CellsMonitorPage + QWidget +
cellsmonitorpage.h
+ 1 +
+ + AkbMonitorPage + QWidget +
akbmonitorpage.h
+ 1 +
+ + VisualizationPage + QWidget +
visualizationpage.h
+ 1 +
+ + BmsServicePage + QWidget +
bmsservicepage.h
+ 1 +
+ + ConnectAndEnterPage + QWidget +
connectandenterpage.h
+ 1 +
+ + DebugPrintPage + QWidget +
debugprintpage.h
+ 1 +
+ + SettingsExtraPage + QWidget +
settingsextrapage.h
+ 1 +
+ + + + diff --git a/mobile/AdcMap.qml b/mobile/AdcMap.qml new file mode 100644 index 0000000..e2aeac1 --- /dev/null +++ b/mobile/AdcMap.qml @@ -0,0 +1,219 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property int parentWidth: 10 + property real vMin: 0.0 + property real vMax: 0.0 + property real vCenter: 0.0 + property real vNow: 0.0 + property real valueNow: 0.5 + property real vMin2: 0.0 + property real vMax2: 0.0 + property real vNow2: 0.0 + property real valueNow2: 0.5 + property bool resetDone: true + + property Commands mCommands: VescIf.commands() + property ConfigParams mAppConf: VescIf.appConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + function updateDisplay() { + resultArea.text = + "Value : " + parseFloat(valueNow).toFixed(2) + "\n" + + "Value2 : " + parseFloat(valueNow2).toFixed(2) + "\n\n" + + "Now : " + parseFloat(vNow).toFixed(2) + " V\n" + + "Min : " + parseFloat(vMin).toFixed(2) + " V\n" + + "Max : " + parseFloat(vMax).toFixed(2) + " V\n" + + "Center : " + parseFloat(vCenter).toFixed(2) + " V\n\n" + + "Now2 : " + parseFloat(vNow2).toFixed(2) + " V\n" + + "Min2 : " + parseFloat(vMin2).toFixed(2) + " V\n" + + "Max2 : " + parseFloat(vMax2).toFixed(2) + " V" + + valueBar.value = valueNow + valueBar2.value = valueNow2 + } + + Component.onCompleted: { + updateDisplay() + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: true + focus: true + width: parentWidth - 20 + height: Math.min(implicitHeight, column.height - 40) + closePolicy: Popup.CloseOnEscape + x: 10 + y: 10 + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width + ColumnLayout { + anchors.fill: parent + spacing: 0 + + TextArea { + id: resultArea + Layout.fillWidth: true + Layout.preferredHeight: 300 + readOnly: true + wrapMode: TextEdit.WordWrap + font.family: "DejaVu Sans Mono" + } + + ProgressBar { + id: valueBar + Layout.fillWidth: true + Layout.bottomMargin: 5 + from: 0.0 + to: 1.0 + value: 0.0 + } + + ProgressBar { + id: valueBar2 + Layout.fillWidth: true + from: 0.0 + to: 1.0 + value: 0.0 + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Help" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("app_adc_mapping_help"), + mInfoConf.getDescription("app_adc_mapping_help"), + true, true) + } + } + + Button { + text: "Reset" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + vMin = 0.0 + vMax = 0.0 + vCenter = 0.0 + vMin2 = 0.0 + vMax2 = 0.0 + resetDone = true + updateDisplay() + } + } + } + + Button { + text: "Apply & Write" + Layout.fillWidth: true + onClicked: { + mAppConf.updateParamDouble("app_adc_conf.voltage_start", vMin) + mAppConf.updateParamDouble("app_adc_conf.voltage_end", vMax) + mAppConf.updateParamDouble("app_adc_conf.voltage_center", vCenter) + mAppConf.updateParamDouble("app_adc_conf.voltage2_start", vMin2) + mAppConf.updateParamDouble("app_adc_conf.voltage2_end", vMax2) + VescIf.emitStatusMessage("Start, End and Center ADC Voltages Applied", true) + mCommands.setAppConf() + } + } + } + } + } + + Timer { + id: rtTimer + interval: 50 + running: true + repeat: true + + onTriggered: { + if (VescIf.isPortConnected() && dialog.visible) { + mCommands.getDecodedAdc() + } + } + } + + Connections { + target: mCommands + + onDecodedAdcReceived: { + valueNow = value + vNow = voltage + valueNow2 = value2 + vNow2 = voltage2 + + if (resetDone) { + resetDone = false + vMin = vNow + vMax = vNow + vMin2 = vNow2 + vMax2 = vNow2 + } + + if (vNow < vMin) { + vMin = vNow + } + + if (vNow > vMax) { + vMax = vNow + } + + var range = vMax - vMin + var pos = vNow - vMin + + if (pos > (range / 4.0) && pos < ((3.0 * range) / 4.0)) { + vCenter = vNow + } else { + vCenter = range / 2.0 + vMin + } + + if (vNow2 < vMin2) { + vMin2 = vNow2 + } + + if (vNow2 > vMax2) { + vMax2 = vNow2 + } + + updateDisplay() + } + } +} diff --git a/mobile/ConfigPageCell.qml b/mobile/ConfigPageCell.qml new file mode 100644 index 0000000..e83857c --- /dev/null +++ b/mobile/ConfigPageCell.qml @@ -0,0 +1,286 @@ +/* + Copyright 2020 Kevin Dionne kevin.dionne@ennoid.me + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 + +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property var editorsVisible: [] + property bool isHorizontal: width > height + + ParamEditors { + id: editors + } + + onIsHorizontalChanged: { + //updateEditors() + } + + function addSeparator(text) { + editorsVisible.push(editors.createSeparator(scrollCol, text)) + editorsVisible[editorsVisible.length - 1].Layout.columnSpan = isHorizontal ? 2 : 1 + } + + function destroyEditors() { + for (var i = 0;i < editorsVisible.length;i++) { + editorsVisible[i].destroy(); + } + editorsVisible = [] + } + + function createEditorMc(param) { + editorsVisible.push(editors.createEditorMc(scrollCol, param)) + editorsVisible[editorsVisible.length - 1].Layout.preferredWidth = 500 + editorsVisible[editorsVisible.length - 1].Layout.fillsWidth = true + } + + function updateEditors() { + destroyEditors() + + switch (pageBox.currentText) { + case "Specifications": + switch(tabBox.currentText) { + case "Pack configuration": + createEditorMc("cellMonitorICCount") + createEditorMc("cellMonitorICType") + createEditorMc("noOfParallelModules") + createEditorMc("noOfCellsSeries") + break; + case "SOC - Pack capacity": + createEditorMc("noOfCellsParallel") + createEditorMc("batteryCapacity") + break; + case "Cell specifications": + createEditorMc("cellTechnology") + createEditorMc("cellHardOverVoltage") + createEditorMc("cellHardUnderVoltage") + createEditorMc("cellLCSoftUnderVoltage") + createEditorMc("cellSoftOverVoltage") + createEditorMc("maxUnderAndOverVoltageErrorCount") + createEditorMc("hysteresisDischarge") + createEditorMc("hysteresisCharge") + break; + default: + break; + } + break; + + case "Balancing": + switch(tabBox.currentText) { + case "Balancing configuration": + createEditorMc("cellBalanceStart") + createEditorMc("cellBalanceDifferenceThreshold") + createEditorMc("cellBalanceUpdateInterval") + createEditorMc("cellBalanceAllTime") + break; + default: + break; + } + break; + + case "Throttling": + switch(tabBox.currentText) { + case "Discharge": + createEditorMc("cellThrottleLowerStart") + createEditorMc("cellThrottleLowerMargin") + createEditorMc("throttleDisChargeIncreaseRate") + break; + case "Charge": + createEditorMc("cellThrottleUpperStart") + createEditorMc("cellThrottleUpperMargin") + createEditorMc("throttleChargeIncreaseRate") + break; + default: + break; + } + break; + + case "SoC": + switch(tabBox.currentText) { + case "SoC general": + createEditorMc("stateOfChargeMethod") + createEditorMc("stateOfChargeStoreInterval") + createEditorMc("timeoutChargeCompleted") + createEditorMc("timeoutChargingCompletedMinimalMismatch") + createEditorMc("maxMismatchThreshold") + break; + default: + break; + } + + break; + + default: + break; + } + } + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + + GridLayout { + Layout.fillWidth: true + columns: isHorizontal ? 2 : 1 + rowSpacing: -5 + ComboBox { + id: pageBox + Layout.fillWidth: true + model: [ + "Specifications", + "Balancing", + "Throttling", + "SoC" + ] + + onCurrentTextChanged: { + var tabTextOld = tabBox.currentText + + switch(currentText) { + case "Specifications": + tabBox.model = [ + "Pack configuration", + "SOC - Pack capacity", + "Cell specifications" + ] + break; + + case "Balancing": + tabBox.model = [ + "Balancing configuration" + ] + break; + + case "Throttling": + tabBox.model = [ + "Discharge", + "Charge" + ] + break; + + case "SoC": + tabBox.model = [ + "SoC general" + ] + break; + + default: + break; + } + + tabBox.visible = tabBox.currentText.length !== 0 + + if (tabTextOld === tabBox.currentText) { + updateEditors() + } + } + } + + ComboBox { + id: tabBox + Layout.fillWidth: true + + onCurrentTextChanged: { + updateEditors() + } + } + } + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: column.width + clip: true + + GridLayout { + id: scrollCol + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + } + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Write" + + onClicked: { + mCommands.setBMSconf(true) + } + } + + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Read" + + onClicked: { + mCommands.getBMSconf() + } + } + + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Read Default Settings" + onTriggered: { + mCommands.getBMSconfDefault() + } + } + } + } + } + } + + Connections { + target: mCommands + + // TODO: For some reason this does not work + onBmsConfigCheckResult: { + if (paramsNotSet.length > 0) { + var notUpdated = "The following parameters were truncated because " + + "they were beyond the hardware limits:\n" + + for (var i = 0;i < paramsNotSet.length;i++) { + notUpdated += mbmsConf.getLongName(paramsNotSet[i]) + "\n" + } + + VescIf.emitMessageDialog("Parameters truncated", notUpdated, false, false) + } + } + } +} diff --git a/mobile/ConfigPageDisplay.qml b/mobile/ConfigPageDisplay.qml new file mode 100644 index 0000000..f5f01de --- /dev/null +++ b/mobile/ConfigPageDisplay.qml @@ -0,0 +1,203 @@ +/* + Copyright 2020 Kevin Dionne kevin.dionne@ennoid.me + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property var editorsVisible: [] + property bool isHorizontal: width > height + + ParamEditors { + id: editors + } + + onIsHorizontalChanged: { + //updateEditors() + } + + function addSeparator(text) { + editorsVisible.push(editors.createSeparator(scrollCol, text)) + editorsVisible[editorsVisible.length - 1].Layout.columnSpan = isHorizontal ? 2 : 1 + } + + function destroyEditors() { + for (var i = 0;i < editorsVisible.length;i++) { + editorsVisible[i].destroy(); + } + editorsVisible = [] + } + + function createEditorMc(param) { + editorsVisible.push(editors.createEditorMc(scrollCol, param)) + editorsVisible[editorsVisible.length - 1].Layout.preferredWidth = 500 + editorsVisible[editorsVisible.length - 1].Layout.fillsWidth = true + } + + function updateEditors() { + destroyEditors() + + switch (pageBox.currentText) { + case "Duration": + createEditorMc("displayTimeoutBatteryDead") + createEditorMc("displayTimeoutBatteryError") + createEditorMc("displayTimeoutBatteryErrorPreCharge") + createEditorMc("displayTimeoutSplashScreen") + break; + case "Custom": + createEditorMc("displayStyle") + break; + default: + break; + } + } + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + + GridLayout { + Layout.fillWidth: true + columns: isHorizontal ? 2 : 1 + rowSpacing: -5 + ComboBox { + id: pageBox + Layout.fillWidth: true + model: [ + "Duration", + "Custom" + ] + + onCurrentTextChanged: { + var tabTextOld = tabBox.currentText + + switch(currentText) { + case "Duration": + tabBox.model = [ + "" + ] + break; + case "Custom": + tabBox.model = [ + "" + ] + break; + default: + break; + } + + tabBox.visible = tabBox.currentText.length !== 0 + + if (tabTextOld === tabBox.currentText) { + updateEditors() + } + } + } + + ComboBox { + id: tabBox + Layout.fillWidth: true + + onCurrentTextChanged: { + updateEditors() + } + } + } + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: column.width + clip: true + + GridLayout { + id: scrollCol + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + } + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Write" + + onClicked: { + mCommands.setBMSconf(true) + } + } + + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Read" + + onClicked: { + mCommands.getBMSconf() + } + } + + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Read Default Settings" + onTriggered: { + mCommands.getBMSconfDefault() + } + } + } + } + } + } + + Connections { + target: mCommands + + // TODO: For some reason this does not work + onBmsConfigCheckResult: { + if (paramsNotSet.length > 0) { + var notUpdated = "The following parameters were truncated because " + + "they were beyond the hardware limits:\n" + + for (var i = 0;i < paramsNotSet.length;i++) { + notUpdated += mbmsConf.getLongName(paramsNotSet[i]) + "\n" + } + + VescIf.emitMessageDialog("Parameters truncated", notUpdated, false, false) + } + } + } +} diff --git a/mobile/ConfigPageGeneral.qml b/mobile/ConfigPageGeneral.qml new file mode 100644 index 0000000..d0a00a5 --- /dev/null +++ b/mobile/ConfigPageGeneral.qml @@ -0,0 +1,308 @@ +/* + Copyright 2020 Kevin Dionne kevin.dionne@ennoid.me + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property var editorsVisible: [] + property bool isHorizontal: width > height + + ParamEditors { + id: editors + } + + onIsHorizontalChanged: { + //updateEditors() + } + + function addSeparator(text) { + editorsVisible.push(editors.createSeparator(scrollCol, text)) + editorsVisible[editorsVisible.length - 1].Layout.columnSpan = isHorizontal ? 2 : 1 + } + + function destroyEditors() { + for (var i = 0;i < editorsVisible.length;i++) { + editorsVisible[i].destroy(); + } + editorsVisible = [] + } + + function createEditorMc(param) { + editorsVisible.push(editors.createEditorMc(scrollCol, param)) + editorsVisible[editorsVisible.length - 1].Layout.preferredWidth = 500 + editorsVisible[editorsVisible.length - 1].Layout.fillsWidth = true + } + + function updateEditors() { + destroyEditors() + + switch (pageBox.currentText) { + case "Power State": + switch(tabBox.currentText) { + case "Onstate": + createEditorMc("pulseToggleButton") + createEditorMc("notUsedCurrentThreshold") + createEditorMc("notUsedTimeout") + createEditorMc("powerDownDelay") + createEditorMc("allowForceOn") + break; + case "Jump to": + createEditorMc("extEnableState") + createEditorMc("chargeEnableState") + break; + default: + break; + } + break; + + case "Limits": + switch(tabBox.currentText) { + case "Current": + createEditorMc("maxAllowedCurrent") + break; + case "Temperature discharging": + createEditorMc("allowedTempBattDischargingMax") + createEditorMc("allowedTempBattDischargingMin") + break; + case "Temperature charging": + createEditorMc("allowedTempBattChargingMax") + createEditorMc("allowedTempBattChargingMin") + break; + case "Temperature cooling/heating": + createEditorMc("allowedTempBattCoolingMax") + createEditorMc("allowedTempBattCoolingMin") + break; + case "Temperature Master board": + createEditorMc("allowedTempBMSMax") + createEditorMc("allowedTempBMSMin") + break; + default: + break; + } + break; + + case "CAN": + switch(tabBox.currentText) { + case "CAN configuration": + createEditorMc("CANID") + createEditorMc("CANIDStyle") + createEditorMc("CANBaudRate") + break; + case "CAN messaging": + createEditorMc("emitStatusOverCAN") + createEditorMc("emitStatusProtocolType") + createEditorMc("useCANSafetyInput") + createEditorMc("useCANDelayedPowerDown") + break; + default: + break; + } + break; + + case "Sensors": + switch(tabBox.currentText) { + case "NTC specifications battery": + createEditorMc("tempEnableMaskBattery") + createEditorMc("noOfTempSensorPerModule") + createEditorMc("NTCLTC25Deg") + createEditorMc("NTCLTCBeta") + break; + case "NTC specifications expansion Board": + createEditorMc("tempEnableMaskExpansion") + createEditorMc("noOfExpansionBoard") + createEditorMc("noOfTempSensorPerExpansionBoard") + createEditorMc("NTCEXP25Deg") + createEditorMc("NTCEXPBeta") + break; + case "NTC advanced settings": + createEditorMc("maxUnderAndOverTemperatureErrorCount") + createEditorMc("humidityICType") + + + break; + + default: + break; + } + + break; + + default: + break; + } + } + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + + GridLayout { + Layout.fillWidth: true + columns: isHorizontal ? 2 : 1 + rowSpacing: -5 + ComboBox { + id: pageBox + Layout.fillWidth: true + model: [ + "Power State", + "Limits", + "CAN", + "Sensors" + ] + + onCurrentTextChanged: { + var tabTextOld = tabBox.currentText + + switch(currentText) { + case "Power State": + tabBox.model = [ + "Onstate", + "Jump to" + ] + break; + + case "Limits": + tabBox.model = [ + "Current", + "Temperature discharging", + "Temperature charging", + "Temperature cooling/heating", + "Temperature Master board" + ] + break; + + case "CAN": + tabBox.model = [ + "CAN configuration", + "CAN messaging" + ] + break; + + case "Sensors": + tabBox.model = [ + "NTC specifications battery", + "NTC enable", + "NTC specifications expansion Board" + ] + break; + + default: + break; + } + + tabBox.visible = tabBox.currentText.length !== 0 + + if (tabTextOld === tabBox.currentText) { + updateEditors() + } + } + } + + ComboBox { + id: tabBox + Layout.fillWidth: true + + onCurrentTextChanged: { + updateEditors() + } + } + } + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: column.width + clip: true + + GridLayout { + id: scrollCol + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + } + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Write" + + onClicked: { + mCommands.setBMSconf(true) + } + } + + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Read" + + onClicked: { + mCommands.getBMSconf() + } + } + + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Read Default Settings" + onTriggered: { + mCommands.getBMSconfDefault() + } + } + } + } + } + } + + Connections { + target: mCommands + + // TODO: For some reason this does not work + onBmsConfigCheckResult: { + if (paramsNotSet.length > 0) { + var notUpdated = "The following parameters were truncated because " + + "they were beyond the hardware limits:\n" + + for (var i = 0;i < paramsNotSet.length;i++) { + notUpdated += mbmsConf.getLongName(paramsNotSet[i]) + "\n" + } + + VescIf.emitMessageDialog("Parameters truncated", notUpdated, false, false) + } + } + } +} diff --git a/mobile/ConfigPageSignal.qml b/mobile/ConfigPageSignal.qml new file mode 100644 index 0000000..8df7c24 --- /dev/null +++ b/mobile/ConfigPageSignal.qml @@ -0,0 +1,244 @@ +/* + Copyright 2020 Kevin Dionne kevin.dionne@ennoid.me + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property var editorsVisible: [] + property bool isHorizontal: width > height + + ParamEditors { + id: editors + } + + onIsHorizontalChanged: { + // updateEditors() + } + + function addSeparator(text) { + editorsVisible.push(editors.createSeparator(scrollCol, text)) + editorsVisible[editorsVisible.length - 1].Layout.columnSpan = isHorizontal ? 2 : 1 + } + + function destroyEditors() { + for (var i = 0;i < editorsVisible.length;i++) { + editorsVisible[i].destroy(); + } + editorsVisible = [] + } + + function createEditorMc(param) { + editorsVisible.push(editors.createEditorMc(scrollCol, param)) + editorsVisible[editorsVisible.length - 1].Layout.preferredWidth = 500 + editorsVisible[editorsVisible.length - 1].Layout.fillsWidth = true + } + + function updateEditors() { + destroyEditors() + + switch (pageBox.currentText) { + case "Discharge Current": + createEditorMc("shuntLCFactor") + break; + case "Pack Voltage": + createEditorMc("voltageLCFactor") + createEditorMc("voltageLCOffset") + break; + case "Load Voltage": + createEditorMc("loadVoltageFactor") + createEditorMc("loadVoltageOffset") + break; + case "Charger Voltage": + createEditorMc("chargerVoltageFactor") + createEditorMc("chargerVoltageOffset") + break; + case "Data Source": + createEditorMc("packVoltageDataSource") + createEditorMc("packCurrentDataSource") + break; + case "Buzzer Control": + createEditorMc("buzzerSignalSource") + createEditorMc("buzzerPersistent") + break; + default: + break; + } + } + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + + GridLayout { + Layout.fillWidth: true + columns: isHorizontal ? 2 : 1 + rowSpacing: -5 + ComboBox { + id: pageBox + Layout.fillWidth: true + model: [ + "Discharge Current", + "Pack Voltage", + "Load Voltage", + "Charger Voltage", + "Data Source", + "Buzzer Control" + ] + + onCurrentTextChanged: { + var tabTextOld = tabBox.currentText + + switch(currentText) { + case "Discharge Current": + tabBox.model = [ + "" + ] + break; + case "Pack Voltage": + tabBox.model = [ + "" + ] + break; + case "Load Voltage": + tabBox.model = [ + "" + ] + break; + + case "Charger Voltage": + tabBox.model = [ + "" + ] + break; + + case "Data Source": + tabBox.model = [ + "" + ] + break; + + case "Buzzer Control": + tabBox.model = [ + "" + ] + break; + default: + break; + } + + tabBox.visible = tabBox.currentText.length !== 0 + + if (tabTextOld === tabBox.currentText) { + updateEditors() + } + } + } + + ComboBox { + id: tabBox + Layout.fillWidth: true + + onCurrentTextChanged: { + updateEditors() + } + } + } + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: column.width + clip: true + + GridLayout { + id: scrollCol + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + } + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Write" + + onClicked: { + mCommands.setBMSconf(true) + } + } + + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Read" + + onClicked: { + mCommands.getBMSconf() + } + } + + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Read Default Settings" + onTriggered: { + mCommands.getBMSconfDefault() + } + } + } + } + } + } + + Connections { + target: mCommands + + // TODO: For some reason this does not work + onBmsConfigCheckResult: { + if (paramsNotSet.length > 0) { + var notUpdated = "The following parameters were truncated because " + + "they were beyond the hardware limits:\n" + + for (var i = 0;i < paramsNotSet.length;i++) { + notUpdated += mbmsConf.getLongName(paramsNotSet[i]) + "\n" + } + + VescIf.emitMessageDialog("Parameters truncated", notUpdated, false, false) + } + } + } +} diff --git a/mobile/ConfigPageSwitch.qml b/mobile/ConfigPageSwitch.qml new file mode 100644 index 0000000..561b9a1 --- /dev/null +++ b/mobile/ConfigPageSwitch.qml @@ -0,0 +1,209 @@ +/* + Copyright 2020 Kevin Dionne kevin.dionne@ennoid.me + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property var editorsVisible: [] + property bool isHorizontal: width > height + + ParamEditors { + id: editors + } + + onIsHorizontalChanged: { + // updateEditors() + } + + function addSeparator(text) { + editorsVisible.push(editors.createSeparator(scrollCol, text)) + editorsVisible[editorsVisible.length - 1].Layout.columnSpan = isHorizontal ? 2 : 1 + } + + function destroyEditors() { + for (var i = 0;i < editorsVisible.length;i++) { + editorsVisible[i].destroy(); + } + editorsVisible = [] + } + + function createEditorMc(param) { + editorsVisible.push(editors.createEditorMc(scrollCol, param)) + editorsVisible[editorsVisible.length - 1].Layout.preferredWidth = 500 + editorsVisible[editorsVisible.length - 1].Layout.fillsWidth = true + } + + function updateEditors() { + destroyEditors() + + switch (pageBox.currentText) { + case "Discharge": + createEditorMc("LCUseDischarge") + createEditorMc("LCUsePrecharge") + createEditorMc("minimalPrechargePercentage") + createEditorMc("timeoutLCPreCharge") + createEditorMc("timeoutDischargeRetry") + break; + + case "Charge": + createEditorMc("chargerEnabledThreshold") + createEditorMc("timeoutChargerDisconnected") + createEditorMc("allowChargingDuringDischarge") + createEditorMc("timeoutChargeRetry") + break; + default: + break; + } + } + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + + GridLayout { + Layout.fillWidth: true + columns: isHorizontal ? 2 : 1 + rowSpacing: -5 + ComboBox { + id: pageBox + Layout.fillWidth: true + model: [ + "Discharge", + "Charge" + ] + + onCurrentTextChanged: { + var tabTextOld = tabBox.currentText + + switch(currentText) { + case "Discharge": + tabBox.model = [ + "" + ] + break; + + case "Charge": + tabBox.model = [ + "" + ] + break; + default: + break; + } + + tabBox.visible = tabBox.currentText.length !== 0 + + if (tabTextOld === tabBox.currentText) { + updateEditors() + } + } + } + + ComboBox { + id: tabBox + Layout.fillWidth: true + + onCurrentTextChanged: { + updateEditors() + } + } + } + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: column.width + clip: true + + GridLayout { + id: scrollCol + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + } + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Write" + + onClicked: { + mCommands.setBMSconf(true) + } + } + + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Read" + + onClicked: { + mCommands.getBMSconf() + } + } + + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Read Default Settings" + onTriggered: { + mCommands.getBMSconfDefault() + } + } + } + } + } + } + + Connections { + target: mCommands + + // TODO: For some reason this does not work + onBmsConfigCheckResult: { + if (paramsNotSet.length > 0) { + var notUpdated = "The following parameters were truncated because " + + "they were beyond the hardware limits:\n" + + for (var i = 0;i < paramsNotSet.length;i++) { + notUpdated += mbmsConf.getLongName(paramsNotSet[i]) + "\n" + } + + VescIf.emitMessageDialog("Parameters truncated", notUpdated, false, false) + } + } + } +} diff --git a/mobile/ConnectBle.qml b/mobile/ConnectBle.qml new file mode 100644 index 0000000..51158a4 --- /dev/null +++ b/mobile/ConnectBle.qml @@ -0,0 +1,393 @@ +/* + Copyright 2017 - 2019 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.bleuart 1.0 +import Ennoid.commands 1.0 + + +Item { + id: topItem + + property BleUart mBle: VescIf.bleDevice() + property Commands mCommands: VescIf.commands() + property alias disconnectButton: disconnectButton + property bool isHorizontal: width > height + signal requestOpenControls() + + ScrollView { + anchors.fill: parent + contentWidth: parent.width + clip: true + + GridLayout { + id: grid + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + columnSpacing: 5 + anchors.topMargin: 10 + rowSpacing: 30 + + Image { + id: image + Layout.columnSpan: isHorizontal ? 2 : 1 + Layout.preferredWidth: Math.min(topItem.width, topItem.height) + Layout.preferredHeight: (sourceSize.height * Layout.preferredWidth) / sourceSize.width + Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom + source: "qrc:/res/logo_white.png" + } + + GroupBox { + id: bleConnBox + title: qsTr("BLE Connection") + Layout.fillWidth: true + Layout.columnSpan: 1 + + GridLayout { + anchors.topMargin: -5 + anchors.bottomMargin: -5 + anchors.fill: parent + + clip: false + visible: true + rowSpacing: -10 + columnSpacing: 5 + rows: 5 + columns: 6 + + Button { + id: setNameButton + text: qsTr("Name") + Layout.columnSpan: 2 + Layout.preferredWidth: 500 + Layout.fillWidth: true + enabled: bleBox.count > 0 + + onClicked: { + if (bleItems.rowCount() > 0) { + bleNameDialog.open() + } else { + VescIf.emitMessageDialog("Set BLE Device Name", + "No device selected.", + false, false); + } + } + } + + Button { + text: "Pair" + Layout.fillWidth: true + Layout.preferredWidth: 500 + Layout.columnSpan: 2 + + onClicked: { + pairDialog.openDialog() + } + } + + Button { + id: scanButton + text: qsTr("Scan") + Layout.columnSpan: 2 + Layout.preferredWidth: 500 + Layout.fillWidth: true + + onClicked: { + scanButton.enabled = false + mBle.startScan() + } + } + + ComboBox { + id: bleBox + Layout.columnSpan: 6 + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + transformOrigin: Item.Center + + textRole: "key" + model: ListModel { + id: bleItems + } + } + + Button { + id: disconnectButton + text: qsTr("Disconnect") + enabled: false + Layout.preferredWidth: 500 + Layout.fillWidth: true + Layout.columnSpan: 3 + + onClicked: { + VescIf.disconnectPort() + } + } + + Button { + id: connectButton + text: qsTr("Connect") + enabled: false + Layout.preferredWidth: 500 + Layout.fillWidth: true + Layout.columnSpan: 3 + + onClicked: { + if (bleItems.rowCount() > 0) { + connectButton.enabled = false + VescIf.connectBle(bleItems.get(bleBox.currentIndex).value) + } + } + } + } + } + + + GroupBox { + id: canFwdBox + title: qsTr("CAN Forwarding") + Layout.fillWidth: true + + ColumnLayout { + anchors.topMargin: -5 + anchors.bottomMargin: -5 + anchors.fill: parent + spacing: -10 + + RowLayout { + Layout.fillWidth: true + + ComboBox { + id: canIdBox + Layout.fillWidth: true + + textRole: "key" + model: ListModel { + id: canItems + } + + onCurrentIndexChanged: { + if (fwdCanBox.checked && canItems.rowCount() > 0) { + mCommands.setCanSendId(canItems.get(canIdBox.currentIndex).value) + } + } + } + + CheckBox { + id: fwdCanBox + text: qsTr("Activate") + enabled: canIdBox.currentIndex >= 0 && canIdBox.count > 0 + + onClicked: { + mCommands.setSendCan(fwdCanBox.checked, canItems.get(canIdBox.currentIndex).value) + canScanButton.enabled = !checked + canAllButton.enabled = !checked + } + } + } + + ProgressBar { + id: canScanBar + visible: false + Layout.fillWidth: true + indeterminate: true + Layout.preferredHeight: canAllButton.height + } + + RowLayout { + id: canButtonLayout + Layout.fillWidth: true + + Button { + id: canAllButton + text: "List All (no Scan)" + Layout.fillWidth: true + Layout.preferredWidth: 500 + + onClicked: { + canItems.clear() + for (var i = 0;i < 255;i++) { + var name = "ENNOID-BMS " + i + canItems.append({ key: name, value: i }) + } + canIdBox.currentIndex = 0 + } + } + + Button { + id: canScanButton + text: "Scan CAN Bus" + Layout.fillWidth: true + Layout.preferredWidth: 500 + + onClicked: { + canScanBar.indeterminate = true + canButtonLayout.visible = false + canScanBar.visible = true + canItems.clear() + enabled = false + canAllButton.enabled = false + mCommands.pingCan() + } + } + } + } + } + } + } + + + + PairingDialog { + id: pairDialog + } + + Timer { + interval: 500 + running: !scanButton.enabled + repeat: true + + property int dots: 0 + onTriggered: { + var text = "S" + for (var i = 0;i < dots;i++) { + text = "-" + text + "-" + } + + dots++; + if (dots > 3) { + dots = 0; + } + + scanButton.text = text + } + } + + Timer { + interval: 100 + running: true + repeat: true + + onTriggered: { + connectButton.enabled = (bleItems.rowCount() > 0) && !VescIf.isPortConnected() && !mBle.isConnecting() + disconnectButton.enabled = VescIf.isPortConnected() + } + } + + Connections { + target: mBle + onScanDone: { + if (done) { + scanButton.enabled = true + scanButton.text = qsTr("Scan") + } + + bleItems.clear() + + for (var addr in devs) { + var name = devs[addr] + var name2 = name + " [" + addr + "]" + var setName = VescIf.getBleName(addr) + if (setName.length > 0) { + setName += " [" + addr + "]" + bleItems.insert(0, { key: setName, value: addr }) + } else if (name.indexOf("ENNOID-BMS") !== -1) { + bleItems.insert(0, { key: name2, value: addr }) + } else { + bleItems.append({ key: name2, value: addr }) + } + } + + connectButton.enabled = (bleItems.rowCount() > 0) && !VescIf.isPortConnected() + + bleBox.currentIndex = 0 + } + + onBleError: { + VescIf.emitMessageDialog("BLE Error", info, false, false) + } + } + + Connections { + target: mCommands + + onPingCanRx: { + canItems.clear() + for (var i = 0;i < devs.length;i++) { + var name = "ENNOID-BMS " + devs[i] + canItems.append({ key: name, value: devs[i] }) + } + canScanButton.enabled = true + canAllButton.enabled = true + canIdBox.currentIndex = 0 + canButtonLayout.visible = true + canScanBar.visible = false + canScanBar.indeterminate = false + } + } + + Dialog { + id: bleNameDialog + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + title: "Set BLE Device Name" + + width: parent.width - 20 + height: 200 + closePolicy: Popup.CloseOnEscape + x: 10 + y: Math.max(parent.height / 4 - height / 2, 20) + parent: ApplicationWindow.overlay + + Rectangle { + anchors.fill: parent + height: stringInput.implicitHeight + 14 + border.width: 2 + border.color: "#8d8d8d" + color: "#33a8a8a8" + radius: 3 + TextInput { + id: stringInput + color: "#ffffff" + anchors.fill: parent + anchors.margins: 7 + font.pointSize: 12 + focus: true + } + } + + onAccepted: { + if (stringInput.text.length > 0) { + var addr = bleItems.get(bleBox.currentIndex).value + var setName = stringInput.text + " [" + addr + "]" + + VescIf.storeBleName(addr, stringInput.text) + VescIf.storeSettings() + + bleItems.set(bleBox.currentIndex, { key: setName, value: addr }) + bleBox.currentText + } + } + } +} diff --git a/mobile/ConnectBle2.qml b/mobile/ConnectBle2.qml new file mode 100644 index 0000000..9847d0e --- /dev/null +++ b/mobile/ConnectBle2.qml @@ -0,0 +1,110 @@ +/* + Copyright 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.4 +import Ennoid.bmsinterface 1.0 +import Ennoid.bleuart 1.0 +import Ennoid.commands 1.0 + +ConnectBleForm { + property BleUart mBle: VescIf.bleDevice() + property Commands mCommands: VescIf.commands() + + scanButton.onClicked: { + mBle.startScan() + scanButton.enabled = false + scanButton.text = "Scanning" + } + + connectButton.onClicked: { + if (bleItems.rowCount() > 0) { + connectButton.enabled = false + VescIf.connectBle(bleItems.get(bleBox.currentIndex).value) + } + } + + disconnectButton.onClicked: { + VescIf.disconnectPort() + } + + fwdCanBox.onClicked: { + mCommands.setSendCan(fwdCanBox.checked, canIdBox.value) + } + + canIdBox.onValueChanged: { + mCommands.setCanSendId(canIdBox.value) + } + + Timer { + interval: 500 + running: !scanButton.enabled + repeat: true + + property int dots: 0 + onTriggered: { + var text = "Scanning" + for (var i = 0;i < dots;i++) { + text = "-" + text + "-" + } + + dots++; + if (dots > 3) { + dots = 0; + } + + scanButton.text = text + } + } + + Timer { + interval: 100 + running: true + repeat: true + + onTriggered: { + connectButton.enabled = (bleItems.rowCount() > 0) && !VescIf.isPortConnected() && !mBle.isConnecting() + disconnectButton.enabled = VescIf.isPortConnected() + } + } + + Connections { + target: mBle + onScanDone: { + if (done) { + scanButton.enabled = true + scanButton.text = qsTr("Scan") + } + + bleItems.clear() + + for (var name in devs) { + var name2 = name + " [" + devs[name] + "]" + if (name.indexOf("VESC") !== -1) { + bleItems.insert(0, { key: name2, value: devs[name] }) + } else { + bleItems.append({ key: name2, value: devs[name] }) + } + } + + connectButton.enabled = (bleItems.rowCount() > 0) && !VescIf.isPortConnected() + + bleBox.currentIndex = 0 + } + } +} diff --git a/mobile/ConnectBleForm.ui.qml b/mobile/ConnectBleForm.ui.qml new file mode 100644 index 0000000..da6ea76 --- /dev/null +++ b/mobile/ConnectBleForm.ui.qml @@ -0,0 +1,159 @@ +/* + Copyright 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +Item { + property alias scanButton: scanButton + property alias connectButton: connectButton + property alias disconnectButton: disconnectButton + property alias bleItems: bleItems + property alias canIdBox: canIdBox + property alias fwdCanBox: fwdCanBox + + id: item1 + width: 400 + height: 400 + + property alias bleBox: bleBox + + ColumnLayout { + anchors.fill: parent + + Image { + id: image + Layout.preferredWidth: Math.min(parent.width, parent.height) + Layout.preferredHeight: (300 * Layout.preferredWidth) / 1549 + Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom + source: "../res/logo_white.png" + } + + Item { + // Spacer + Layout.fillHeight: true + Layout.fillWidth: true + } + + GridLayout { + clip: false + visible: true + rowSpacing: 0 + columnSpacing: 5 + rows: 4 + columns: 2 + + Label { + id: connectionName + text: "BLE Connection" + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + Layout.fillWidth: true + horizontalAlignment: Text.AlignHCenter + Layout.bottomMargin: 5 + Layout.columnSpan: 2 + } + + ComboBox { + id: bleBox + Layout.columnSpan: 2 + Layout.preferredHeight: 48 + Layout.fillHeight: false + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + transformOrigin: Item.Center + + textRole: "key" + model: ListModel { + id: bleItems + } + } + + Button { + id: scanButton + text: qsTr("Scan") + Layout.columnSpan: 2 + Layout.preferredHeight: 48 + Layout.fillWidth: true + } + + Button { + id: connectButton + text: qsTr("Connect") + enabled: false + Layout.preferredHeight: 48 + Layout.preferredWidth: 100 + Layout.fillWidth: true + } + + Button { + id: disconnectButton + text: qsTr("Disconnect") + enabled: false + Layout.preferredHeight: 48 + Layout.preferredWidth: 100 + Layout.fillWidth: true + } + } + + RowLayout { + Layout.fillWidth: true + + CheckBox { + id: fwdCanBox + text: qsTr("CAN Forward") + } + + SpinBox { + id: canIdBox + Layout.fillWidth: true + } + } + + Item { + id: element + // Spacer + Layout.fillHeight: true + Layout.fillWidth: true + } + + + + Item { + scale: 1.2 + // Spacer + Layout.fillHeight: true + Layout.fillWidth: true + } + + + Item { + scale: 1.2 + // Spacer + Layout.fillHeight: true + Layout.fillWidth: true + } + + + } +} + + + + diff --git a/mobile/Controls.qml b/mobile/Controls.qml new file mode 100644 index 0000000..2c50329 --- /dev/null +++ b/mobile/Controls.qml @@ -0,0 +1,456 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property int parentWidth: 10 + property int parentHeight: 10 + + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + opacitySlider.value = 1 + } + + function testConnected() { + if (VescIf.isPortConnected()) { + return true + } else { + VescIf.emitMessageDialog( + "Connection Error", + "The BMS is not connected. Please connect it to run detection.", + false, false) + return false + } + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: false + focus: true + width: parentWidth - 40 + height: parentHeight - 40 + closePolicy: Popup.CloseOnEscape + x: 20 + y: 10 + background.opacity: opacitySlider.value + + ColumnLayout { + anchors.fill: parent + + SwipeView { + id: swipeView + currentIndex: tabBar.currentIndex + Layout.fillHeight: true + Layout.fillWidth: true + clip: true + + Page { + background: Rectangle { + opacity: 0.0 + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: currentBox + Layout.fillWidth: true + decimals: 1 + prefix: "I: " + suffix: " A" + realFrom: 0.0 + realTo: 500.0 + realValue: 3.0 + realStepSize: 1.0 + } + + Rectangle { + Layout.fillHeight: true + } + + CheckBox { + id: maintainCurrentBox + text: "Continue after release" + } + + RowLayout { + Layout.fillWidth: true + + Button { + Layout.fillWidth: true + Layout.preferredWidth: 100 + text: "Set REV" + + onPressedChanged: { + if (pressed) { + mCommands.setCurrent(-currentBox.realValue) + } else if (!maintainCurrentBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + Layout.preferredWidth: 100 + text: "Set FWD" + + onPressedChanged: { + if (pressed) { + mCommands.setCurrent(currentBox.realValue) + } else if (!maintainCurrentBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + } + + Button { + Layout.fillWidth: true + text: "Brake" + + onPressedChanged: { + if (pressed) { + mCommands.setCurrentBrake(currentBox.realValue) + } else if (!maintainCurrentBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + text: "Release" + + onClicked: { + mCommands.setCurrent(0.0) + } + } + } + } + + Page { + background: Rectangle { + opacity: 0.0 + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: dutyBox + Layout.fillWidth: true + prefix: "D: " + decimals: 3 + realFrom: 0.0 + realTo: 1.0 + realValue: 0.1 + realStepSize: 0.01 + } + + Rectangle { + Layout.fillHeight: true + } + + CheckBox { + id: maintainDutyBox + text: "Continue after release" + } + + RowLayout { + Layout.fillWidth: true + + Button { + Layout.fillWidth: true + Layout.preferredWidth: 100 + text: "Set REV" + + onPressedChanged: { + if (pressed) { + mCommands.setDutyCycle(-dutyBox.realValue) + } else if (!maintainDutyBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + Layout.preferredWidth: 100 + text: "Set FWD" + + onPressedChanged: { + if (pressed) { + mCommands.setDutyCycle(dutyBox.realValue) + } else if (!maintainDutyBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + } + + Button { + Layout.fillWidth: true + text: "0 Duty (brake)" + + onPressedChanged: { + if (pressed) { + mCommands.setDutyCycle(0.0) + } else if (!maintainDutyBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + text: "Release" + + onClicked: { + mCommands.setCurrent(0.0) + } + } + } + } + + Page { + background: Rectangle { + opacity: 0.0 + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: speedBox + Layout.fillWidth: true + prefix: "\u03C9: " + suffix: " ERPM" + decimals: 1 + realFrom: 0.0 + realTo: 500000 + realValue: 3000 + realStepSize: 500 + } + + Rectangle { + Layout.fillHeight: true + } + + CheckBox { + id: maintainSpeedBox + text: "Continue after release" + } + + RowLayout { + Layout.fillWidth: true + + Button { + Layout.fillWidth: true + Layout.preferredWidth: 100 + text: "Set REV" + + onPressedChanged: { + if (pressed) { + mCommands.setRpm(-speedBox.realValue) + } else if (!maintainSpeedBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + Layout.preferredWidth: 100 + text: "Set FWD" + + onPressedChanged: { + if (pressed) { + mCommands.setRpm(speedBox.realValue) + } else if (!maintainSpeedBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + } + + Button { + Layout.fillWidth: true + text: "0 ERPM (brake)" + + onPressedChanged: { + if (pressed) { + mCommands.setRpm(0.0) + } else if (!maintainSpeedBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + text: "Release" + + onClicked: { + mCommands.setCurrent(0.0) + } + } + } + } + + Page { + background: Rectangle { + opacity: 0.0 + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: posBox + Layout.fillWidth: true + prefix: "P: " + suffix: " \u00B0" + decimals: 3 + realFrom: 0 + realTo: 360 + realValue: 20 + realStepSize: 0.1 + } + + Rectangle { + Layout.fillHeight: true + } + + CheckBox { + id: maintainPosBox + text: "Continue after release" + } + + Button { + Layout.fillWidth: true + text: "Set" + + onPressedChanged: { + if (pressed) { + mCommands.setPos(posBox.realValue) + } else if (!maintainPosBox.checked) { + mCommands.setCurrent(0.0) + } + } + } + + Button { + Layout.fillWidth: true + text: "Release" + + onClicked: { + mCommands.setCurrent(0.0) + } + } + } + } + } + + RowLayout { + Layout.fillWidth: true + + Text { + color: "white" + text: qsTr("Opacity") + } + + Slider { + id: opacitySlider + Layout.fillWidth: true + from: 0.1 + to: 1.0 + value: 1.0 + } + } + } + + header: Rectangle { + color: "#dbdbdb" + height: tabBar.height + + TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + anchors.fill: parent + implicitWidth: 0 + clip: true + + background: Rectangle { + opacity: 1 + color: "#4f4f4f" + } + + property int buttons: 4 + property int buttonWidth: 120 + + TabButton { + text: qsTr("Current") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Duty") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("RPM") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Position") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + } + } + } + + Timer { + id: aliveTimer + interval: 200 + running: true + repeat: true + + onTriggered: { + if (VescIf.isPortConnected() && dialog.visible) { + mCommands.sendAlive() + } + } + } +} diff --git a/mobile/CustomGauge.qml b/mobile/CustomGauge.qml new file mode 100644 index 0000000..e4e29eb --- /dev/null +++ b/mobile/CustomGauge.qml @@ -0,0 +1,217 @@ +/* + Copyright 2018 - 2019 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 +import QtQuick.Extras 1.4 +import QtGraphicalEffects 1.0 +import QtQuick.Controls.Material 2.2 + +Item { + property alias minimumValue: gauge.minimumValue + property alias maximumValue: gauge.maximumValue + property alias value: gauge.value + property string unitText: "" + property string typeText: "" + property string tickmarkSuffix: "" + property double labelStep: 10 + property double tickmarkScale: 1 + property color traceColor: "#606060" + property double maxAngle: 144 + property double minAngle: -144 + + CircularGauge { + id: gauge + anchors.fill: parent + + Behavior on value { + NumberAnimation { + easing.type: Easing.OutCirc + duration: 100 + } + } + + style: CircularGaugeStyle { + id: style + labelStepSize: labelStep + tickmarkStepSize: labelStep + labelInset: outerRadius * 0.28 + tickmarkInset: 2 + minorTickmarkInset: 2 + minimumValueAngle: minAngle + maximumValueAngle: maxAngle + + background: + Canvas { + property double value: gauge.value + + anchors.fill: parent + onValueChanged: requestPaint() + + function d2r(degrees) { + return degrees * (Math.PI / 180.0); + } + + onPaint: { + var ctx = getContext("2d"); + ctx.reset(); + + ctx.beginPath(); + var gradient = ctx.createRadialGradient(outerRadius, outerRadius, 0, + outerRadius, outerRadius, outerRadius) + gradient.addColorStop(0.7, Material.background) + gradient.addColorStop(1, traceColor) + ctx.fillStyle = gradient + ctx.arc(outerRadius, outerRadius, outerRadius, 0, Math.PI * 2) + ctx.fill() + + ctx.beginPath(); + ctx.strokeStyle = Material.background + ctx.lineWidth = outerRadius + ctx.arc(outerRadius, + outerRadius, + outerRadius / 2, + d2r(valueToAngle(Math.max(gauge.value, 0)) - 90), + d2r(valueToAngle(gauge.maximumValue + 1) - 90)); + ctx.arc(outerRadius, + outerRadius, + outerRadius / 2, + d2r(valueToAngle(gauge.minimumValue) - 90), + d2r(valueToAngle(Math.min(gauge.value, 0)) - 90)); + ctx.stroke(); + ctx.beginPath(); + ctx.arc(outerRadius, + outerRadius, + outerRadius / 2, + d2r(valueToAngle(gauge.maximumValue) - 90), + d2r(valueToAngle(gauge.minimumValue) - 90)); + ctx.stroke(); + + ctx.beginPath(); + ctx.strokeStyle = "darkGray" + ctx.lineWidth = 1 + ctx.arc(outerRadius, + outerRadius, + outerRadius - 0.5, + 0, 2 * Math.PI); + ctx.stroke(); + } + } + + needle: Item { + y: -outerRadius * 0.82 + height: outerRadius * 0.18 + Rectangle { + id: needle + height: parent.height + color: "red" + width: height * 0.13 + antialiasing: true + radius: 10 + } + + Glow { + anchors.fill: needle + radius: 5 + samples: 10 + spread: 0.6 + color: "darkred" + source: needle + } + } + + foreground: Item { + Text { + id: speedLabel + anchors.centerIn: parent + text: gauge.value.toFixed(0) + horizontalAlignment: Text.AlignHCenter + font.pixelSize: outerRadius * 0.3 + color: "white" + antialiasing: true + } + + Text { + id: speedLabelUnit + text: unitText + anchors.horizontalCenter: parent.horizontalCenter + anchors.top: speedLabel.bottom + horizontalAlignment: Text.AlignHCenter + font.pixelSize: outerRadius * 0.15 + color: "white" + antialiasing: true + } + + Text { + id: typeLabel + text: typeText + verticalAlignment: Text.AlignVCenter + anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: speedLabel.top + anchors.bottomMargin: outerRadius * 0.1 + horizontalAlignment: Text.AlignHCenter + font.pixelSize: outerRadius * 0.15 + color: "white" + antialiasing: true + } + } + + function isCovered(value) { + var res = false + if (gauge.value > 0) { + if (value <= gauge.value && value >= 0) { + res = true + } + } else { + if (value >= gauge.value && value <= 0) { + res = true + } + } + + return res + } + + tickmarkLabel: Text { + font.pixelSize: outerRadius * 0.15 + text: parseFloat(styleData.value * tickmarkScale).toFixed(0) + tickmarkSuffix + color: isCovered(styleData.value) ? "white" : "darkGray" + antialiasing: true + } + + tickmark: Rectangle { + implicitWidth: 2 + implicitHeight: outerRadius * 0.09 + + antialiasing: true + smooth: true + color: isCovered(styleData.value) ? "white" : "darkGray" + } + + minorTickmark: Rectangle { + implicitWidth: 1.5 + implicitHeight: outerRadius * 0.05 + + antialiasing: true + smooth: true + color: isCovered(styleData.value) ? "white" : "darkGray" + } + } + } +} diff --git a/mobile/DetectBldc.qml b/mobile/DetectBldc.qml new file mode 100644 index 0000000..eb2c34e --- /dev/null +++ b/mobile/DetectBldc.qml @@ -0,0 +1,262 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Vedder.vesc.bmsinterface 1.0 +import Vedder.vesc.commands 1.0 +import Vedder.vesc.configparams 1.0 + +Item { + property int parentWidth: 10 + property real intLim: 0.0 + property real coupling: 0.0 + property var hallTable: [] + property int hallRes: -4 + property bool resultReceived: false + + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + function updateDisplay() { + var txt = "" + + txt += + "Integrator limit : " + parseFloat(intLim).toFixed(2) + "\n" + + "BEMF Coupling : " + parseFloat(coupling).toFixed(2) + "\n" + + if (hallRes == 0) { + txt += "Detected hall sensor table:\n" + for (var i = 0;i < hallTable.length;i++) { + txt += "" + hallTable[i] + + if (i != hallTable.length - 1) { + txt += ", " + } + } + } else if (hallRes == -1) { + txt += "Hall sensor detection failed:\n" + for (var i = 0;i < hallTable.length;i++) { + txt += "" + hallTable[i] + + if (i != hallTable.length - 1) { + txt += ", " + } + } + } else if (hallRes == -2) { + txt += "WS2811 enabled. Hall sensors cannot be used." + } else if (hallRes == -3) { + txt += "Encoder enabled. Hall sensors cannot be used." + } else if (hallRes == -4) { + txt += "Detected hall sensor table:" + } else { + txt += "Unknown hall error: " + hallRes + } + + resultArea.text = txt + } + + function testConnected() { + if (VescIf.isPortConnected()) { + return true + } else { + VescIf.emitMessageDialog( + "Connection Error", + "The VESC is not connected. Please connect it to run detection.", + false, false) + return false + } + } + + Component.onCompleted: { + updateDisplay() + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: true + focus: true + width: parentWidth - 20 + height: Math.min(implicitHeight, column.height - 40) + closePolicy: Popup.CloseOnEscape + x: 10 + y: 10 + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: currentBox + Layout.fillWidth: true + decimals: 2 + realValue: 5.0 + realFrom: 0.0 + realTo: 200.0 + prefix: "I: " + suffix: " A" + } + + DoubleSpinBox { + id: dutyBox + Layout.fillWidth: true + decimals: 2 + realValue: 0.05 + realFrom: 0.0 + realTo: 1.0 + realStepSize: 0.01 + prefix: "D: " + } + + DoubleSpinBox { + id: erpmBox + Layout.fillWidth: true + decimals: 1 + realValue: 450.0 + realFrom: 0.0 + realTo: 20000.0 + realStepSize: 10.0 + prefix: "\u03C9: " + suffix: " ERPM" + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Help" + Layout.fillWidth: true + Layout.preferredWidth: 50 + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("help_bldc_detect"), + mInfoConf.getDescription("help_bldc_detect"), + true, true) + } + } + + Button { + text: "Detect" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + if (!testConnected()) { + return + } + + detectDialog.open() + } + } + } + + TextArea { + id: resultArea + Layout.fillWidth: true + Layout.preferredHeight: 180 + readOnly: true + font.family: "DejaVu Sans Mono" + } + + Button { + text: "Apply & Close" + Layout.fillWidth: true + onClicked: { + if (!resultReceived) { + VescIf.emitMessageDialog("Apply Detection Result", + "Detection result not received. Make sure to run the detection first.", + false, false) + return + } + + mbmsConfig.updateParamDouble("sl_bemf_coupling_k", coupling) + mbmsConfig.updateParamDouble("sl_cycle_int_limit", intLim) + + if (hallRes == 0) { + for(var i = 0;i < 7;i++) { + mbmsConfig.updateParamInt("hall_table_" + i, hallTable[i]) + } + } + + dialog.close() + } + } + } + } + } + + Dialog { + id: detectDialog + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parentWidth - 20 + closePolicy: Popup.CloseOnEscape + title: "Detect BLDC Parameters" + + x: 10 + y: dialog.y + dialog.height / 2 - height / 2 + + Text { + id: detectLabel + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: + "This is going to spin up the motor. Make " + + "sure that nothing is in the way." + } + + onAccepted: { + mCommands.detectMotorParam(currentBox.realValue, erpmBox.realValue, dutyBox.realValue) + } + } + + Connections { + target: mCommands + + onBldcDetectReceived: { + if (param.cycle_int_limit < 0.01 && param.bemf_coupling_k < 0.01) { + VescIf.emitStatusMessage("Bad Detection Result Received", false) + VescIf.emitMessageDialog("BLDC Detection", + "Bad Detection Result Received", + false, false) + } else { + VescIf.emitStatusMessage("Detection Result Received", true) + intLim = param.cycle_int_limit + coupling = param.bemf_coupling_k + hallTable = param.hall_table + hallRes = param.hall_res + resultReceived = true + + updateDisplay() + } + } + } +} diff --git a/mobile/DetectFocEncoder.qml b/mobile/DetectFocEncoder.qml new file mode 100644 index 0000000..7ddb2a1 --- /dev/null +++ b/mobile/DetectFocEncoder.qml @@ -0,0 +1,194 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Vedder.vesc.bmsinterface 1.0 +import Vedder.vesc.commands 1.0 +import Vedder.vesc.configparams 1.0 + +Item { + property int parentWidth: 10 + property real mOffset: 0.0 + property real mRatio: 0.0 + property bool mInverted: false + + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + function updateDisplay() { + resultArea.text = + "Offset : " + parseFloat(mOffset).toFixed(1) + "\n" + + "Ratio : " + parseFloat(mRatio).toFixed(1) + "\n" + + "Inverted : " + mInverted + } + + function testConnected() { + if (VescIf.isPortConnected()) { + return true + } else { + VescIf.emitMessageDialog( + "Connection Error", + "The VESC is not connected. Please connect it to run detection.", + false, false) + return false + } + } + + Component.onCompleted: { + updateDisplay() + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: true + focus: true + width: parentWidth - 20 + height: Math.min(implicitHeight, column.height - 40) + closePolicy: Popup.CloseOnEscape + x: 10 + y: 10 + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: currentBox + Layout.fillWidth: true + decimals: 2 + realValue: 10.0 + realFrom: 0.0 + realTo: 200.0 + prefix: "I: " + suffix: " A" + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Help" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("help_foc_encoder_detect"), + mInfoConf.getDescription("help_foc_encoder_detect"), + true, true) + } + } + + Button { + text: "Detect" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + if (!testConnected()) { + return + } + + detectDialog.open() + } + } + } + + TextArea { + id: resultArea + Layout.fillWidth: true + Layout.preferredHeight: 200 + readOnly: true + wrapMode: TextEdit.WordWrap + font.family: "DejaVuSansMono" + } + + Button { + text: "Apply & Close" + Layout.fillWidth: true + onClicked: { + mbmsConfig.updateParamDouble("foc_encoder_offset", mOffset) + mbmsConfig.updateParamDouble("foc_encoder_ratio", mRatio) + mbmsConfig.updateParamBool("foc_encoder_inverted", mInverted) + + VescIf.emitStatusMessage("Encoder Parameters Applied", true) + + dialog.close() + } + } + } + } + } + + Dialog { + id: detectDialog + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parentWidth - 20 + closePolicy: Popup.CloseOnEscape + title: "Detect FOC Encoder Parameters" + + x: 10 + y: dialog.y + dialog.height / 2 - height / 2 + + Text { + id: detectLambdaLabel + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: + "This is going to turn the motor slowly. Make " + + "sure that nothing is in the way." + } + + onAccepted: { + mCommands.measureEncoder(currentBox.realValue) + } + } + + Connections { + target: mCommands + + onEncoderParamReceived: { + if (offset > 1000.0) { + VescIf.emitStatusMessage("Encoder not enabled in firmware", false) + VescIf.emitMessageDialog("Error", + "Encoder support is not enabled. Enable it in the general settings.", + false, false) + } else { + VescIf.emitStatusMessage("Encoder Result Received", true) + mOffset = offset + mRatio = ratio + mInverted = inverted + updateDisplay() + } + } + } +} diff --git a/mobile/DetectFocHall.qml b/mobile/DetectFocHall.qml new file mode 100644 index 0000000..69a23f7 --- /dev/null +++ b/mobile/DetectFocHall.qml @@ -0,0 +1,204 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Vedder.vesc.bmsinterface 1.0 +import Vedder.vesc.commands 1.0 +import Vedder.vesc.configparams 1.0 + +Item { + property int parentWidth: 10 + property var table: [] + + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + function updateDisplay() { + var txt = "Hall Table:\n" + + for (var i = 0;i < table.length;i++) { + txt += "" + table[i] + + if (i != table.length - 1) { + txt += ", " + } + } + + resultArea.text = txt + } + + function testConnected() { + if (VescIf.isPortConnected()) { + return true + } else { + VescIf.emitMessageDialog( + "Connection Error", + "The VESC is not connected. Please connect it to run detection.", + false, false) + return false + } + } + + Component.onCompleted: { + updateDisplay() + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: true + focus: true + width: parentWidth - 20 + height: Math.min(implicitHeight, column.height - 40) + closePolicy: Popup.CloseOnEscape + x: 10 + y: 10 + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: currentBox + Layout.fillWidth: true + decimals: 2 + realValue: 10.0 + realFrom: 0.0 + realTo: 200.0 + prefix: "I: " + suffix: " A" + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Help" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("help_foc_hall_detect"), + mInfoConf.getDescription("help_foc_hall_detect"), + true, true) + } + } + + Button { + text: "Detect" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + if (!testConnected()) { + return + } + + detectDialog.open() + } + } + } + + TextArea { + id: resultArea + Layout.fillWidth: true + Layout.preferredHeight: 200 + readOnly: true + wrapMode: TextEdit.WordWrap + font.family: "DejaVuSansMono" + } + + Button { + text: "Apply & Close" + Layout.fillWidth: true + onClicked: { + if (table.length != 8) { + VescIf.emitMessageDialog("Apply Error", + "Hall table is empty.", + false, false) + return + } + + for(var i = 0;i < 7;i++) { + mbmsConfig.updateParamInt("foc_hall_table_" + i, table[i]) + } + + VescIf.emitStatusMessage("Hall Sensor Parameters Applied", true) + + dialog.close() + } + } + } + } + } + + Dialog { + id: detectDialog + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parentWidth - 20 + closePolicy: Popup.CloseOnEscape + title: "Detect FOC Hall Sensor Parameters" + + x: 10 + y: dialog.y + dialog.height / 2 - height / 2 + + Text { + id: detectLambdaLabel + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: + "This is going to turn the motor slowly. Make " + + "sure that nothing is in the way." + } + + onAccepted: { + mCommands.measureHallFoc(currentBox.realValue) + } + } + + Connections { + target: mCommands + + onFocHallTableReceived: { + if (res !== 0) { + VescIf.emitStatusMessage("Bad FOC Hall Detection Result Received", false) + VescIf.emitMessageDialog("Bad FOC Hall Detection Result Received", + "Could not detect hall sensors. Make sure that everything " + + "is connected properly.", + false, false) + } else { + table = hall_table + updateDisplay() + } + } + } +} diff --git a/mobile/DetectFocParam.qml b/mobile/DetectFocParam.qml new file mode 100644 index 0000000..0e7e931 --- /dev/null +++ b/mobile/DetectFocParam.qml @@ -0,0 +1,367 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Vedder.vesc.bmsinterface 1.0 +import Vedder.vesc.commands 1.0 +import Vedder.vesc.configparams 1.0 + +Item { + property int parentWidth: 10 + property real res: 0.0 + property real ind: 0.0 + property real lambda: 0.0 + property real kp: 0.0 + property real ki: 0.0 + property real gain: 0.0 + + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + function updateDisplay() { + resultArea.text = + "R : " + parseFloat(res * 1e3).toFixed(2) + " m\u03A9\n" + + "L : " + parseFloat(ind * 1e6).toFixed(2) + " µH\n" + + "\u03BB : " + parseFloat(lambda * 1e3).toFixed(3) + " mWb\n" + + "KP : " + parseFloat(kp).toFixed(4) + "\n" + + "KI : " + parseFloat(ki).toFixed(2) + "\n" + + "Gain : " + parseFloat(gain).toFixed(2) + } + + function calcKpKi() { + if (res < 1e-10) { + VescIf.emitMessageDialog("Calculate Error", + "R is 0. Please measure it first.", + false, false) + return; + } + + if (ind < 1e-10) { + VescIf.emitMessageDialog("Calculate Error", + "L is 0. Please measure it first.", + false, false) + return; + } + + // https://e2e.ti.com/blogs_/b/motordrivecontrol/archive/2015/07/20/teaching-your-pi-controller-to-behave-part-ii + var tc = tcBox.realValue * 1e-6 + var bw = 1.0 / tc + kp = ind * bw; + ki = res * bw; + + updateDisplay() + } + + function calcGain() { + if (lambda < 1e-10) { + VescIf.emitMessageDialog("Calculate Error", + "\u03BB is 0. Please measure it first.", + false, false) + return; + } + + gain = 0.001 / (lambda * lambda) + + updateDisplay() + } + + function testConnected() { + if (VescIf.isPortConnected()) { + return true + } else { + VescIf.emitMessageDialog( + "Connection Error", + "The VESC is not connected. Please connect it to run detection.", + false, false) + return false + } + } + + Component.onCompleted: { + updateDisplay() + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: true + focus: true + width: parentWidth - 20 + height: Math.min(implicitHeight, column.height - 40) + closePolicy: Popup.CloseOnEscape + x: 10 + y: 10 + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: currentBox + Layout.fillWidth: true + decimals: 2 + realValue: 5.0 + realFrom: 0.0 + realTo: 200.0 + prefix: "I: " + suffix: " A" + } + + DoubleSpinBox { + id: dutyBox + Layout.fillWidth: true + decimals: 2 + realValue: 0.5 + realFrom: 0.0 + realTo: 1.0 + realStepSize: 0.1 + prefix: "D: " + } + + DoubleSpinBox { + id: erpmBox + Layout.fillWidth: true + decimals: 1 + realValue: 450.0 + realFrom: 0.0 + realTo: 20000.0 + realStepSize: 10.0 + prefix: "\u03C9: " + suffix: " ERPM" + } + + DoubleSpinBox { + id: tcBox + Layout.fillWidth: true + decimals: 1 + realValue: 1000.0 + realFrom: 0.0 + realTo: 1000000.0 + realStepSize: 100.0 + prefix: "T: " + suffix: " µS" + } + + Button { + text: "Help" + Layout.fillWidth: true + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("help_foc_detect"), + mInfoConf.getDescription("help_foc_detect"), + true, true) + } + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Detect R&L" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + if (!testConnected()) { + return + } + + detectRlDialog.open() + } + } + + Button { + text: "DETECT \u03BB" + font.capitalization: Font.MixedCase + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + if (!testConnected()) { + return + } + + if (res < 1e-9) { + VescIf.emitMessageDialog("Detect", + "R is 0. Please measure it first.", + false, false) + } else { + detectLambdaDialog.open() + } + } + } + } + + Button { + text: "CALCULATE KP, KI AND \u03BB" + font.capitalization: Font.MixedCase + Layout.fillWidth: true + onClicked: { + calcKpKi() + calcGain() + } + } + + TextArea { + id: resultArea + Layout.fillWidth: true + Layout.preferredHeight: 200 + readOnly: true + font.family: "DejaVu Sans Mono" + } + + Button { + text: "Apply & Close" + Layout.fillWidth: true + onClicked: { + if (res < 1e-10) { + VescIf.emitMessageDialog("Apply Error", + "R is 0. Please measure it first.", + false, false) + return + } + + if (ind < 1e-10) { + VescIf.emitMessageDialog("Apply Error", + "L is 0. Please measure it first.", + false, false) + return + } + + if (lambda < 1e-10) { + VescIf.emitMessageDialog("Apply Error", + "\u03BB is 0. Please measure it first.", + false, false) + return + } + + calcKpKi() + calcGain() + + mbmsConfig.updateParamDouble("foc_motor_r", res) + mbmsConfig.updateParamDouble("foc_motor_l", ind) + mbmsConfig.updateParamDouble("foc_motor_flux_linkage", lambda) + mbmsConfig.updateParamDouble("foc_current_kp", kp) + mbmsConfig.updateParamDouble("foc_current_ki", ki) + mbmsConfig.updateParamDouble("foc_observer_gain", gain * 1e6) + + dialog.close() + } + } + } + } + } + + Dialog { + id: detectRlDialog + standardButtons: Dialog.Ok + modal: true + focus: true + width: parentWidth - 20 + closePolicy: Popup.CloseOnEscape + title: "Measure R & L" + + x: 10 + y: dialog.y + dialog.height / 2 - height / 2 + + Text { + id: detectRlLabel + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: + "When measuring R & L the motor is going to make some noises, but " + + "not rotate. These noises are completely normal, so don't unplug " + + "anything unless you see smoke." + } + + onAccepted: { + mCommands.measureRL() + } + } + + Dialog { + id: detectLambdaDialog + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parentWidth - 20 + closePolicy: Popup.CloseOnEscape + title: "Warning" + + x: 10 + y: dialog.y + dialog.height / 2 - height / 2 + + Text { + id: detectLambdaLabel + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: + "Warning: " + + "This is going to spin up the motor. Make " + + "sure that nothing is in the way." + } + + onAccepted: { + mCommands.measureLinkage(currentBox.realValue, erpmBox.realValue, dutyBox.realValue, res) + } + } + + Connections { + target: mCommands + + onMotorRLReceived: { + if (r < 1e-9 && l < 1e-9) { + VescIf.emitStatusMessage("Bad FOC Detection Result Received", false) + VescIf.emitMessageDialog("Bad Detection Result", + "Could not measure the motor resistance and inductance.", + false, false) + } else { + VescIf.emitStatusMessage("FOC Detection Result Received", true) + res = r + ind = l * 1e-6 + calcKpKi() + } + } + + onMotorLinkageReceived: { + if (flux_linkage < 1e-9) { + VescIf.emitStatusMessage("Bad FOC Detection Result Received", false) + VescIf.emitMessageDialog("Bad Detection Result", + "Could not measure the flux linkage properly. Adjust " + + "the start parameters according to the help text and try again.", + false, false) + } else { + VescIf.emitStatusMessage("FOC Detection Result Received", true) + lambda = flux_linkage + calcGain() + } + } + } +} diff --git a/mobile/DoubleSpinBox.qml b/mobile/DoubleSpinBox.qml new file mode 100644 index 0000000..7df6f15 --- /dev/null +++ b/mobile/DoubleSpinBox.qml @@ -0,0 +1,69 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +// Based on https://stackoverflow.com/questions/43406830/how-to-use-float-in-a-qml-spinbox + +import QtQuick 2.0 +import QtQuick.Controls 2.2 + +Item { + height: spinbox.implicitHeight + + property int decimals: 2 + property real realValue: 0.0 + property real realFrom: 0.0 + property real realTo: 100.0 + property real realStepSize: 1.0 + property string suffix: "" + property string prefix: "" + + SpinBox{ + id: spinbox + anchors.fill: parent + editable: true +// wheelEnabled: true + + property real factor: Math.pow(10, decimals) + stepSize: realStepSize * factor + value: Math.round(realValue * factor) + to : realTo * factor + from : realFrom * factor + + validator: DoubleValidator { + bottom: Math.min(spinbox.from, spinbox.to)*spinbox.factor + top: Math.max(spinbox.from, spinbox.to)*spinbox.factor + } + + textFromValue: function(value, locale) { + return prefix + parseFloat(value * 1.0 / factor).toFixed(decimals) + suffix; + } + + valueFromText: function(text, locale) { + return Math.round(parseFloat(text.replace(",", "."). + replace(suffix, ""). + replace(prefix, "")) * factor) + } + + onValueChanged: { + if (Math.round(realValue * factor) !== value) { + realValue = value * 1.0 / factor + } + } + } +} diff --git a/mobile/FilePicker.qml b/mobile/FilePicker.qml new file mode 100644 index 0000000..bf7e9b5 --- /dev/null +++ b/mobile/FilePicker.qml @@ -0,0 +1,214 @@ +/** +MIT License + +Copyright (c) 2017 Andrey Semenov +Copyright (c) 2017 Benjamin Vedder: Added cancel button, embedded configuration colors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +import QtQuick 2.0 +import QtQuick.Controls 1.4 as OldControls +import QtQuick.Controls 2.2 +import Qt.labs.folderlistmodel 2.1 +import QtQuick.Layouts 1.3 +import QtQuick.Window 2.0 + +Item { + id:picker + signal fileSelected(string fileName) + readonly property real textmargin: 8 + readonly property real textSize: 10 + readonly property real headerTextSize: 12 + readonly property real buttonHeight: 24 + readonly property real rowHeight: 36 + readonly property real toolbarHeight: 48 + property bool showDotAndDotDot: false + property bool showHidden: true + property bool showDirsFirst: true + property string folder: "file:///sdcard" + property string nameFilters: "*.*" + + function currentFolder() { + return folderListModel.folder; + } + + function isFolder(fileName) { + return folderListModel.isFolder(folderListModel.indexOf(folderListModel.folder + "/" + fileName)); + } + function canMoveUp() { + return folderListModel.folder.toString() !== "file:///" + } + + function onItemClick(fileName) { + if(!isFolder(fileName)) { + fileSelected(fileName) + return; + } + if(fileName === ".." && canMoveUp()) { + folderListModel.folder = folderListModel.parentFolder + } else if(fileName !== "." && fileName !== "..") { + if(folderListModel.folder.toString() === "file:///") { + folderListModel.folder += fileName + } else { + folderListModel.folder += "/" + fileName + } + } + } + Rectangle { + id: toolbar + anchors.right: parent.right + anchors.left: parent.left + anchors.top: parent.top + height: toolbarHeight + color: "#3c3c3c" + Button { + id: button + text: ".." + anchors.right: parent.right + anchors.rightMargin: buttonHeight + anchors.bottom: parent.bottom + anchors.top: parent.top + enabled: canMoveUp() + flat: true + onClicked: { + if(canMoveUp) { + folderListModel.folder = folderListModel.parentFolder + } + } + } + Text { + id: filePath + color: "white" + text: folderListModel.folder.toString().replace("file:///", "►").replace("/", "►").replace("/", "►").replace("/", "►").replace("/", "►") + renderType: Text.NativeRendering + elide: Text.ElideMiddle + anchors.right: button.left + font.italic: true + font.bold: true + verticalAlignment: Text.AlignVCenter + anchors.left: parent.left + anchors.leftMargin: buttonHeight + anchors.bottom: parent.bottom + anchors.top: parent.top + font.pixelSize: textSize + + } + } + + FolderListModel { + id: folderListModel + showDotAndDotDot: picker.showDotAndDotDot + showHidden: picker.showHidden + showDirsFirst: picker.showDirsFirst + folder: picker.folder + nameFilters: picker.nameFilters + } + ColumnLayout { + anchors.top: toolbar.bottom + anchors.right: parent.right + anchors.bottom: parent.bottom + anchors.left: parent.left + OldControls.TableView { + id: view + Layout.fillHeight: true + Layout.fillWidth: true + model: folderListModel + headerDelegate:headerDelegate + rowDelegate: Rectangle { + height: rowHeight + color: "#6f6f6f" + } + + OldControls.TableViewColumn { + title: qsTr("FileName") + role: "fileName" + resizable: true + delegate: fileDelegate + } + + Component { + id: fileDelegate + Item { + height: rowHeight + Rectangle { + color: "#6f6f6f" + anchors.fill: parent + MouseArea { + anchors.fill: parent + onClicked: { + onItemClick(fileNameText.text) + } + } + Text { + id: fileNameText + color: "white" + height: width + anchors.left: image.right + anchors.top: parent.top + anchors.bottom: parent.bottom + anchors.right: parent.right + text: styleData.value !== undefined ? styleData.value : "" + verticalAlignment: Text.AlignVCenter + } + Image { + id: image + height: buttonHeight + width: height + anchors.left: parent.left + anchors.leftMargin: textmargin + anchors.verticalCenter: parent.verticalCenter + source: isFolder(fileNameText.text) ? "qrc:/res/icons/ic_folder_open_black_48dp.png" : + "qrc:/res/icons/ic_insert_drive_file_black_48dp.png" + } + } + } + } + Component { + id: headerDelegate + Rectangle { + height: rowHeight + color: "#535353" + Text { + anchors.verticalCenter: parent.verticalCenter + anchors.horizontalCenter: parent.horizontalCenter + height: headerTextSize + font.bold: true + elide: Text.ElideMiddle + color: "white" + text: styleData.value !== undefined ? styleData.value : "" + } + } + } + } + + Button { + Layout.fillWidth: true + text: "Cancel" + Layout.margins: 10 + Layout.topMargin: -5 + Layout.bottomMargin: 0 + + onClicked: { + picker.enabled = false + picker.visible = false + } + } + } +} diff --git a/mobile/FwUpdate.qml b/mobile/FwUpdate.qml new file mode 100644 index 0000000..2972698 --- /dev/null +++ b/mobile/FwUpdate.qml @@ -0,0 +1,601 @@ +/* + Copyright 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 +import Ennoid.fwhelper 1.0 +import Ennoid.utility 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property ConfigParams mInfoConf: VescIf.infoConfig() + + FwHelper { + id: fwHelper + } + + ColumnLayout { + anchors.fill: parent + spacing: 0 + + RowLayout { + Layout.fillHeight: true + Layout.fillWidth: true + spacing: 0 + + Rectangle { + color: "#4f4f4f" + width: 16 + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + + PageIndicator { + id: indicator + count: swipeView.count + currentIndex: swipeView.currentIndex + + Layout.preferredWidth: 15 + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + rotation: 90 + } + } + SwipeView { + id: swipeView + enabled: true + clip: true + + Layout.fillWidth: true + Layout.fillHeight: true + Layout.rightMargin: 15 + orientation: Qt.Vertical + + Page { + ColumnLayout { + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + + Rectangle { + Layout.fillWidth: true + height: 30; + border.width: 0 + gradient: Gradient { + GradientStop { + position: 0.00; + color: "#002dcbff"; + } + + GradientStop { + position: 0.3; + color: "#80014cb2"; + } + GradientStop { + position: 0.7; + color: "#80014cb2"; + } + + GradientStop { + position: 1.00; + color: "#000dc3ff"; + } + + } + border.color: "#00000000" + + Text { + anchors.centerIn: parent + color: "white" + text: "Included Files" + font.bold: true + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + } + } + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + + Text { + color: "white" + Layout.fillWidth: true + height: 30; + text: "Hardware" + horizontalAlignment: Text.AlignHCenter + } + + ComboBox { + id: hwBox + Layout.preferredHeight: 48 + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + + textRole: "key" + model: ListModel { + id: hwItems + } + + Component.onCompleted: { + updateHw("") + } + + onCurrentIndexChanged: { + if (hwItems.rowCount() === 0) { + return + } + + var fws = fwHelper.getFirmwares(hwItems.get(hwBox.currentIndex).value) + + fwItems.clear() + + for (var name in fws) { + if (name.toLowerCase().indexOf("ENNOID-BMS.bin") !== -1) { + fwItems.insert(0, { key: name, value: fws[name] }) + } else { + fwItems.append({ key: name, value: fws[name] }) + } + } + + fwBox.currentIndex = 0 + } + } + + Text { + color: "white" + Layout.fillWidth: true + height: 30; + text: "Firmware" + horizontalAlignment: Text.AlignHCenter + } + + ComboBox { + id: fwBox + Layout.preferredHeight: 48 + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + + textRole: "key" + model: ListModel { + id: fwItems + } + } + + Button { + text: "Show Changelog" + Layout.fillWidth: true + + onClicked: { + VescIf.emitMessageDialog( + "Firmware Changelog", + Utility.fwChangeLog(), + true) + } + } + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + } + } + + Page { + ColumnLayout { + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + + Rectangle { + Layout.fillWidth: true + height: 30; + border.width: 0 + gradient: Gradient { + GradientStop { + position: 0.00; + color: "#002dcbff"; + } + GradientStop { + position: 0.3; + color: "#80014cb2"; + } + GradientStop { + position: 0.7; + color: "#80014cb2"; + } + GradientStop { + position: 1; + color: "#000dc3ff"; + } + + } + border.color: "#00000000" + + Text { + anchors.centerIn: parent + color: "white" + text: "Custom File" + font.bold: true + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + } + } + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + + TextInput { + color: "white" + id: customFwText + Layout.fillWidth: true + } + + Button { + text: "Choose File..." + Layout.fillWidth: true + + onClicked: { + if (Utility.requestFilePermission()) { + filePicker.enabled = true + filePicker.visible = true + } else { + VescIf.emitMessageDialog( + "File Permissions", + "Unable to request file system permission.", + false, false) + } + } + } + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + } + FilePicker { + id: filePicker + anchors.fill: parent + showDotAndDotDot: true + nameFilters: "*.bin" + visible: false + enabled: false + + onFileSelected: { + customFwText.text = currentFolder() + "/" + fileName + visible = false + enabled = false + } + } + } + + Page { + ColumnLayout { + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + + Rectangle { + Layout.fillWidth: true + height: 30; + border.width: 0 + gradient: Gradient { + GradientStop { + position: 0.00; + color: "#002dcbff"; + } + + GradientStop { + position: 0.3; + color: "#80014cb2"; + } + + GradientStop { + position: 0.7; + color: "#80014cb2"; + } + + GradientStop { + position: 1.00; + color: "#000dc3ff" + } + } + border.color: "#00000000" + + Text { + anchors.centerIn: parent + color: "white" + text: "Bootloader" + font.bold: true + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + } + } + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + + Text { + color: "white" + Layout.fillWidth: true + height: 30; + text: "Hardware" + horizontalAlignment: Text.AlignHCenter + } + + ComboBox { + id: blBox + Layout.preferredHeight: 48 + Layout.fillWidth: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + + textRole: "key" + model: ListModel { + id: blItems + } + + Component.onCompleted: { + updateBl("") + } + } + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + } + } + } + } + + Rectangle { + Layout.fillWidth: true + height: asd.implicitHeight + 20 + color: "#414141" + + ColumnLayout { + id: asd + anchors.fill: parent + anchors.margins: 10 + + Text { + Layout.fillWidth: true + color: "white" + id: uploadText + text: qsTr("Not Uploading") + horizontalAlignment: Text.AlignHCenter + } + + ProgressBar { + id: uploadProgress + Layout.fillWidth: true + } + + RowLayout { + Layout.fillWidth: true + + Button { + id: uploadButton + text: qsTr("Upload") + Layout.fillWidth: true + + onClicked: { + if (!VescIf.isPortConnected()) { + VescIf.emitMessageDialog( + "Connection Error", + "The BMS is not connected. Please open a connection.", + false) + return + } + + if (swipeView.currentIndex == 0) { + if (fwItems.rowCount() === 0) { + VescIf.emitMessageDialog( + "Upload Error", + "This version of ENNOID-BMS Tool does not include any firmware " + + "for your hardware version. You can either " + + "upload a custom file or look for a later version of ENNOID-BMS " + + "Tool that might support your hardware.", + false) + return; + } + + if (hwItems.rowCount() === 1) { + uploadDialog.title = "Warning" + uploadDialogLabel.text = + "Uploading new firmware will clear all settings on your ENNOID-BMS " + + "and you have to do the configuration again. Do you want to " + + "continue?" + uploadDialog.open() + } else { + uploadDialog.title = "Warning" + uploadDialogLabel.text = + "Uploading firmware for the wrong hardware version " + + "WILL damage the ENNOID-BMS for sure. Are you sure that you have " + + "chosen the correct hardware version?" + uploadDialog.open() + } + } else if (swipeView.currentIndex == 1) { + if (customFwText.text.length > 0) { + uploadDialog.title = "Warning" + uploadDialogLabel.text = + "Uploading firmware for the wrong hardware version " + + "WILL damage the ENNOID-BMS for sure. Are you sure that you have " + + "chosen the correct hardware version?" + uploadDialog.open() + } else { + VescIf.emitMessageDialog( + "Error", + "Please select a file", + false, false) + } + } else if (swipeView.currentIndex == 2) { + if (blItems.rowCount() === 0) { + VescIf.emitMessageDialog( + "Upload Error", + "This version of ENNOID-BMS Tool does not include any bootloader " + + "for your hardware version.", + false) + return; + } + + uploadDialog.title = "Warning" + uploadDialogLabel.text = + "This will attempt to upload a bootloader to the connected VESC. " + + "If the connected ENNOID-BMS already has a bootloader this will destroy " + + "the bootloader and firmware updates cannot be done anymore. Do " + + "you want to continue?" + uploadDialog.open() + } + } + } + + Button { + id: cancelButton + text: qsTr("Cancel") + Layout.fillWidth: true + enabled: false + + onClicked: { + mCommands.cancelFirmwareUpload() + } + } + } + + Text { + Layout.fillWidth: true + id: versionText + color: "#e0e0e0" + text: + "FW : \n" + + "HW : \n" + + "UUID : " + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + } + } + } + } + + Dialog { + id: uploadDialog + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parent.width - 20 + closePolicy: Popup.CloseOnEscape + + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + + Text { + color: "#ffffff" + id: uploadDialogLabel + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + } + + onAccepted: { + if (swipeView.currentIndex == 0) { + fwHelper.uploadFirmware(fwItems.get(fwBox.currentIndex).value, VescIf, false, false) + } else if (swipeView.currentIndex == 1) { + fwHelper.uploadFirmware(customFwText.text, VescIf, false, true) + } else if (swipeView.currentIndex == 2) { + fwHelper.uploadFirmware(blItems.get(blBox.currentIndex).value, VescIf, true, false) + } + } + } + + function updateHw(hw) { + var hws = fwHelper.getHardwares(hw) + + hwItems.clear() + + for (var name in hws) { + if (name.indexOf("412") !== -1) { + hwItems.insert(0, { key: name, value: hws[name] }) + } else { + hwItems.append({ key: name, value: hws[name] }) + } + } + + hwBox.currentIndex = 0 + } + + function updateBl(hw) { + var bls = fwHelper.getBootloaders(hw) + + blItems.clear() + + for (var name in bls) { + if (name.indexOf("412") !== -1) { + blItems.insert(0, { key: name, value: bls[name] }) + } else { + blItems.append({ key: name, value: bls[name] }) + } + } + + blBox.currentIndex = 0 + } + + Connections { + target: VescIf + + onFwUploadStatus: { + if (isOngoing) { + uploadText.text = status + " (" + parseFloat(progress * 100.0).toFixed(2) + " %)" + } else { + uploadText.text = status + } + + uploadProgress.value = progress + uploadButton.enabled = !isOngoing + cancelButton.enabled = isOngoing + } + } + + Connections { + target: mCommands + + onFwVersionReceived: { + updateHw(hw) + updateBl(hw) + + versionText.text = + "FW : " + major + "." + minor + "\n" + + "HW : " + hw + "\n" + + "UUID : " + Utility.uuid2Str(uuid, false) + } + } +} diff --git a/mobile/NrfPair.qml b/mobile/NrfPair.qml new file mode 100644 index 0000000..7f0cfa3 --- /dev/null +++ b/mobile/NrfPair.qml @@ -0,0 +1,173 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property int parentWidth: 10 + property real pairCnt: 0.0 + + property Commands mCommands: VescIf.commands() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + Dialog { + id: dialog + standardButtons: Dialog.Close + modal: true + focus: true + width: parentWidth - 20 + height: Math.min(implicitHeight, column.height - 40) + closePolicy: Popup.CloseOnEscape + x: 10 + y: 10 + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width + ColumnLayout { + anchors.fill: parent + spacing: 0 + + DoubleSpinBox { + id: timeBox + Layout.fillWidth: true + realFrom: 1.0 + realTo: 30.0 + realValue: 10.0 + decimals: 1 + prefix: "Time: " + suffix: " s" + } + + ProgressBar { + id: cntBar + Layout.fillWidth: true + Layout.bottomMargin: 5 + from: 0.0 + to: 1.0 + value: 0.0 + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Help" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("help_nrf_pair"), + mInfoConf.getDescription("help_nrf_pair"), + true, true) + } + } + + Button { + id: startButton + text: "Start" + Layout.preferredWidth: 50 + Layout.fillWidth: true + onClicked: { + mCommands.pairNrf(timeBox.realValue * 1000.0) + } + } + } + } + } + } + + Timer { + id: cntTimer + interval: 100 + running: true + repeat: true + + onTriggered: { + if (pairCnt > 0.01) { + pairCnt -= 0.1 + + if (pairCnt <= 0.01) { + startButton.enabled = true + pairCnt = 0.0 + } + + cntBar.value = pairCnt / timeBox.realValue + } + } + } + + Connections { + target: mCommands + + onNrfPairingRes: { + if (!dialog.visible) { + return + } + + switch (res) { + case 0: + pairCnt = timeBox.realValue + cntBar.value = 1 + startButton.enabled = false + break; + + case 1: + startButton.enabled = true + pairCnt = 0.0 + cntBar.value = 0 + VescIf.emitStatusMessage("Pairing NRF Sucessful", true) + VescIf.emitMessageDialog( + "NRF Pairing", + "Pairing was successful.", + true, false) + break; + + case 2: + startButton.enabled = true + pairCnt = 0.0 + cntBar.value = 0 + VescIf.emitStatusMessage("Pairing NRF Timed Out", false) + VescIf.emitMessageDialog( + "NRF Pairing", + "Pairing timed out. Make sure to put your device (e.g. NRF nunchuk) " + + "in pairing mode before the time runs out." + + "

" + + "To put the NRF nunchuk in " + + "pairing mode, just switch it on using any of the buttons. Then it " + + "will enter pairing mode if it was switched off previously.", + false, false) + break; + + default: + break; + } + } + } +} diff --git a/mobile/PairingDialog.qml b/mobile/PairingDialog.qml new file mode 100644 index 0000000..ac2a649 --- /dev/null +++ b/mobile/PairingDialog.qml @@ -0,0 +1,358 @@ +/* + Copyright 2019 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 +import Ennoid.utility 1.0 + +Item { + function openDialog() { + dialog.open() + loadUuids() + } + + function loadUuids() { + pairModel.clear() + var uuids = VescIf.getPairedUuids() + for (var i = 0;i < uuids.length;i++) { + pairModel.append({"uuid": uuids[i]}) + } + } + + Dialog { + //property ConfigParams mAppConf: VescIf.appConfig() + property Commands mCommands: VescIf.commands() + + id: dialog + modal: true + focus: true + width: parent.width - 20 + height: parent.height - 60 + closePolicy: Popup.CloseOnEscape + x: 10 + y: 50 + parent: ApplicationWindow.overlay + padding: 10 + + ColumnLayout { + anchors.fill: parent + + Text { + id: text + Layout.fillWidth: true + color: "white" + text: qsTr("These are the BMS paired to this instance of BMS Tool.") + font.bold: true + horizontalAlignment: Text.AlignHCenter + wrapMode: Text.WordWrap + } + + ListModel { + id: pairModel + } + + ListView { + id: pairList + Layout.fillWidth: true + Layout.fillHeight: true + focus: true + clip: true + spacing: 5 + + Component { + id: pairDelegate + + Rectangle { + property variant modelData: model + + width: pairList.width + height: 60 + color: "#30000000" + radius: 5 + + RowLayout { + anchors.fill: parent + spacing: 10 + + Image { + id: image + fillMode: Image.PreserveAspectFit + Layout.preferredWidth: 40 + Layout.preferredHeight: 40 + Layout.alignment: Qt.AlignVCenter + Layout.leftMargin: 10 + source: "qrc:/res/icon.png" + } + + Text { + Layout.fillWidth: true + color: "white" + text: uuid + wrapMode: Text.Wrap + } + + Button { + Layout.alignment: Qt.AlignVCenter + Layout.rightMargin: 10 + text: "Delete" + + onClicked: { + deleteDialog.open() + } + + Dialog { + id: deleteDialog + property int indexNow: 0 + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parent.width - 20 + closePolicy: Popup.CloseOnEscape + title: "Delete paired BMS" + x: 10 + y: 10 + parent.height / 2 - height / 2 + parent: ApplicationWindow.overlay + + Text { + color: "#ffffff" + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: "This is going to delete this BMS from the paired list. If that BMS " + + "has the pairing flag set you won't be able to connect to it over BLE " + + "any more. Are you sure?" + } + + onAccepted: { + VescIf.deletePairedUuid(uuid) + VescIf.storeSettings() + } + } + } + } + } + } + + model: pairModel + delegate: pairDelegate + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Add current without pairing" + onTriggered: { + if (VescIf.isPortConnected()) { + VescIf.addPairedUuid(VescIf.getConnectedUuid()); + VescIf.storeSettings() + } else { + VescIf.emitMessageDialog("Add UUID", + "You are not connected to the BMS. Connect in order to add it.", + false, false) + } + } + } + + MenuItem { + text: "Add from UUID" + onTriggered: { + uuidEnter.open() + } + } + + MenuItem { + text: "Unpair connected" + onTriggered: { + if (VescIf.isPortConnected()) { + if (mCommands.isLimitedMode()) { + VescIf.emitMessageDialog("Unpair BMS", + "The fiwmare must be updated to unpair this BMS.", + false, false) + } else { + unpairConnectedDialog.open() + } + } else { + VescIf.emitMessageDialog("Unpair BMS", + "You are not connected to the BMS. Connect in order to unpair it.", + false, false) + } + } + } + } + } + + Button { + id: pairConnectedButton + text: "Pair BMS" + Layout.fillWidth: true + onClicked: { + if (VescIf.isPortConnected()) { + if (mCommands.isLimitedMode()) { + VescIf.emitMessageDialog("Pair BMS", + "The fiwmare must be updated to pair this BMS.", + false, false) + } else { + pairConnectedDialog.open() + } + } else { + VescIf.emitMessageDialog("Pair BMS", + "You are not connected to the BMS. Connect in order to pair it.", + false, false) + } + } + } + + Button { + text: "Close" + Layout.fillWidth: true + onClicked: { + dialog.close() + } + } + } + } + } + + Dialog { + id: pairConnectedDialog + property int indexNow: 0 + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parent.width - 20 + closePolicy: Popup.CloseOnEscape + title: "Pair connected BMS" + x: 10 + y: 10 + Math.max((parent.height - height) / 2, 10) + parent: ApplicationWindow.overlay + + Text { + color: "#ffffff" + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: "This is going to pair the connected BMS with this instance of BMS Tool. BMS Tool instances " + + "that are not paired with this BMS will not be able to connect over bluetooth any more. Continue?" + } + + onAccepted: { + VescIf.addPairedUuid(VescIf.getConnectedUuid()); + VescIf.storeSettings() + mAppConf.updateParamBool("pairing_done", true, 0) + mCommands.setAppConf() + if (Utility.waitSignal(mCommands, "2ackReceived(QString)", 2000)) { + VescIf.emitMessageDialog("Pairing Successful!", + "Pairing is done! Please note the UUID if this BMS (or take a screenshot) in order " + + "to add it to BMS Tool instances that are not paired in the future. The UUID is:\n" + + VescIf.getConnectedUuid(), + true, false) + } + } + } + + Dialog { + id: unpairConnectedDialog + property int indexNow: 0 + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + width: parent.width - 20 + closePolicy: Popup.CloseOnEscape + title: "Unpair connected BMS" + x: 10 + y: 10 + parent.height / 2 - height / 2 + parent: ApplicationWindow.overlay + + Text { + color: "#ffffff" + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + text: "This is going to unpair the connected BMS. Continue?" + } + + onAccepted: { + VescIf.deletePairedUuid(VescIf.getConnectedUuid()); + VescIf.storeSettings() + mAppConf.updateParamBool("pairing_done", false, 0) + mCommands.setAppConf() + } + } + + Dialog { + id: uuidEnter + standardButtons: Dialog.Ok | Dialog.Cancel + modal: true + focus: true + title: "Add UUID" + + width: parent.width - 20 + height: 200 + closePolicy: Popup.CloseOnEscape + x: 10 + y: parent.height / 2 - height / 2 + parent: ApplicationWindow.overlay + + Rectangle { + anchors.fill: parent + height: 20 + border.width: 2 + border.color: "#8d8d8d" + color: "#33a8a8a8" + radius: 3 + TextInput { + id: stringInput + color: "#ffffff" + anchors.fill: parent + anchors.margins: 7 + font.pointSize: 12 + focus: true + } + } + + onAccepted: { + if (stringInput.text.length > 0) { + VescIf.addPairedUuid(stringInput.text) + } + } + } + + Connections { + target: VescIf + + onPairingListUpdated: { + loadUuids() + } + } +} diff --git a/mobile/ParamEditBool.qml b/mobile/ParamEditBool.qml new file mode 100644 index 0000000..7af84eb --- /dev/null +++ b/mobile/ParamEditBool.qml @@ -0,0 +1,139 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.configparams 1.0 + +Item { + id: editor + property string paramName: "" + property ConfigParams params: null + height: 140 + Layout.fillWidth: true + property real maxVal: 1.0 + + Component.onCompleted: { + if (params !== null) { + nameText.text = params.getLongName(paramName) + boolSwitch.checked = params.getParamBool(paramName) + + if (params.getParamTransmittable(paramName)) { + nowButton.visible = true + defaultButton.visible = true + } else { + nowButton.visible = false + defaultButton.visible = false + } + } + } + + Rectangle { + id: rect + anchors.fill: parent + color: "#4c5a5a5a" + radius: 5 + border.color: "#919191" + border.width: 2 + + ColumnLayout { + id: column + anchors.fill: parent + anchors.topMargin: 10 + anchors.margins: 5 + + Text { + id: nameText + color: "white" + text: paramName + horizontalAlignment: Text.AlignHCenter + Layout.fillWidth: true + font.pointSize: 12 + } + + Switch { + id: boolSwitch + Layout.fillWidth: true + + onCheckedChanged: { + if (params !== null) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamBool(paramName, checked, editor); + } + } + } + + RowLayout { + Layout.fillWidth: true + Button { + id: nowButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Current" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdate() + } + } + + Button { + id: defaultButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Default" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdateDefault() + } + } + + Button { + id: helpButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Help" + onClicked: { + VescIf.emitMessageDialog( + params.getLongName(paramName), + params.getDescription(paramName), + true, true) + } + } + } + } + } + + Connections { + target: params + + onParamChangedBool: { + if (src !== editor && name == paramName) { + boolSwitch.checked = newParam + } + } + } +} diff --git a/mobile/ParamEditDouble.qml b/mobile/ParamEditDouble.qml new file mode 100644 index 0000000..b2a4451 --- /dev/null +++ b/mobile/ParamEditDouble.qml @@ -0,0 +1,200 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.configparams 1.0 + +Item { + id: editor + property string paramName: "" + property ConfigParams params: null + height: 140 + Layout.fillWidth: true + property real maxVal: 1.0 + property bool createReady: false + + Component.onCompleted: { + if (params !== null) { + if (Math.abs(params.getParamMaxDouble(paramName)) > params.getParamMinDouble(paramName)) { + maxVal = Math.abs(params.getParamMaxDouble(paramName)) + } else { + maxVal = Math.abs(params.getParamMinDouble(paramName)) + } + + nameText.text = params.getLongName(paramName) + valueBox.decimals = params.getParamDecimalsDouble(paramName) + valueBox.realFrom = params.getParamMinDouble(paramName) * params.getParamEditorScale(paramName) + valueBox.realTo = params.getParamMaxDouble(paramName) * params.getParamEditorScale(paramName) + valueBox.realValue = params.getParamDouble(paramName) * params.getParamEditorScale(paramName) + valueBox.realStepSize = params.getParamStepDouble(paramName) + valueBox.visible = !params.getParamEditAsPercentage(paramName) + valueBox.suffix = params.getParamSuffix(paramName) + + var p = (params.getParamDouble(paramName) * 100.0) / maxVal + percentageBox.from = (100.0 * params.getParamMinDouble(paramName)) / maxVal + percentageBox.to = (100.0 * params.getParamMaxDouble(paramName)) / maxVal + percentageBox.value = p + percentageBox.visible = params.getParamEditAsPercentage(paramName) + + if (params.getParamTransmittable(paramName)) { + nowButton.visible = true + defaultButton.visible = true + } else { + nowButton.visible = false + defaultButton.visible = false + } + + createReady = true + } + } + + function updateDisplay(value) { + // TODO: No display for now... + } + + Rectangle { + id: rect + anchors.fill: parent + color: "#4c5a5a5a" + radius: 5 + border.color: "#919191" + border.width: 2 + + ColumnLayout { + id: column + anchors.fill: parent + anchors.topMargin: 10 + anchors.margins: 5 + + Text { + id: nameText + color: "white" + text: paramName + horizontalAlignment: Text.AlignHCenter + Layout.fillWidth: true + font.pointSize: 12 + } + + DoubleSpinBox { + id: valueBox + Layout.fillWidth: true + + onRealValueChanged: { + if (!params.getParamEditAsPercentage(paramName)) { + var val = realValue / params.getParamEditorScale(paramName) + + if (params !== null && createReady) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamDouble(paramName, val, editor); + } + + updateDisplay(val); + } + } + } + + SpinBox { + id: percentageBox + Layout.fillWidth: true + editable: true + + onValueChanged: { + if (params.getParamEditAsPercentage(paramName)) { + var val = (value / 100.0) * maxVal + + if (params !== null && createReady) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamDouble(paramName, val, editor); + } + + updateDisplay(val); + } + } + + textFromValue: function(value, locale) { + return Number(value).toLocaleString(locale, 'f', 0) + " %" + } + + valueFromText: function(text, locale) { + return Number.fromLocaleString(locale, text.replace("%", "")) + } + } + + RowLayout { + Layout.fillWidth: true + Button { + id: nowButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Current" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdate() + } + } + + Button { + id: defaultButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Default" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdateDefault() + } + } + + Button { + id: helpButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Help" + onClicked: { + VescIf.emitMessageDialog( + params.getLongName(paramName), + params.getDescription(paramName), + true, true) + } + } + } + } + } + + Connections { + target: params + + onParamChangedDouble: { + if (src !== editor && name == paramName) { + valueBox.realValue = newParam * params.getParamEditorScale(paramName) + percentageBox.value = Math.round((100.0 * newParam) / maxVal) + } + } + } +} diff --git a/mobile/ParamEditEnum.qml b/mobile/ParamEditEnum.qml new file mode 100644 index 0000000..a790f45 --- /dev/null +++ b/mobile/ParamEditEnum.qml @@ -0,0 +1,151 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.configparams 1.0 + +Item { + id: editor + property string paramName: "" + property ConfigParams params: null + height: 140 + Layout.fillWidth: true + property real maxVal: 1.0 + property bool createReady: false + + Component.onCompleted: { + if (params !== null) { + nameText.text = params.getLongName(paramName) + enumBox.model = params.getParamEnumNames(paramName) + enumBox.currentIndex = params.getParamEnum(paramName) + + if (params.getParamTransmittable(paramName)) { + nowButton.visible = true + defaultButton.visible = true + } else { + nowButton.visible = false + defaultButton.visible = false + } + + createReady = true + } + } + + Rectangle { + id: rect + anchors.fill: parent + color: "#4c5a5a5a" + radius: 5 + border.color: "#919191" + border.width: 2 + + ColumnLayout { + id: column + anchors.fill: parent + anchors.bottomMargin: 2 + anchors.margins: 10 + + Text { + id: nameText + color: "white" + text: paramName + horizontalAlignment: Text.AlignHCenter + Layout.fillWidth: true + font.pointSize: 12 + } + + ComboBox { + id: enumBox + Layout.fillWidth: true + + background: Rectangle { + implicitHeight: 35 + color: enumBox.pressed ? "#606060" : "#505050" + border.color: enumBox.hovered ? "#81D4FA" : "#000dc3ff" + border.width: enumBox.visualFocus ? 2 : 2 + radius: 5 + } + + onCurrentIndexChanged: { + if (params !== null && createReady) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamEnum(paramName, currentIndex, editor); + } + } + } + + RowLayout { + Layout.fillWidth: true + Button { + id: nowButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Current" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdate() + } + } + + Button { + id: defaultButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Default" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdateDefault() + } + } + + Button { + id: helpButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Help" + onClicked: { + VescIf.emitMessageDialog( + params.getLongName(paramName), + params.getDescription(paramName), + true, true) + } + } + } + } + } + + Connections { + target: params + + onParamChangedEnum: { + if (src !== editor && name == paramName) { + enumBox.currentIndex = newParam + } + } + } +} diff --git a/mobile/ParamEditInt.qml b/mobile/ParamEditInt.qml new file mode 100644 index 0000000..8c06133 --- /dev/null +++ b/mobile/ParamEditInt.qml @@ -0,0 +1,210 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.configparams 1.0 + +Item { + id: editor + property string paramName: "" + property ConfigParams params: null + height: 140 + Layout.fillWidth: true + property real maxVal: 1.0 + property bool createReady: false + + Component.onCompleted: { + if (params !== null) { + if (Math.abs(params.getParamMaxInt(paramName)) > params.getParamMinInt(paramName)) { + maxVal = Math.abs(params.getParamMaxInt(paramName)) + } else { + maxVal = Math.abs(params.getParamMinInt(paramName)) + } + + nameText.text = params.getLongName(paramName) + valueBox.from = params.getParamMinInt(paramName) * params.getParamEditorScale(paramName) + valueBox.to = params.getParamMaxInt(paramName) * params.getParamEditorScale(paramName) + valueBox.value = params.getParamInt(paramName) * params.getParamEditorScale(paramName) + valueBox.stepSize = params.getParamStepInt(paramName) + valueBox.visible = !params.getParamEditAsPercentage(paramName) + valueBox.suffix = params.getParamSuffix(paramName) + + var p = (params.getParamInt(paramName) * 100.0) / maxVal + percentageBox.from = (100.0 * params.getParamMinInt(paramName)) / maxVal + percentageBox.to = (100.0 * params.getParamMaxInt(paramName)) / maxVal + percentageBox.value = p + percentageBox.visible = params.getParamEditAsPercentage(paramName) + + if (params.getParamTransmittable(paramName)) { + nowButton.visible = true + defaultButton.visible = true + } else { + nowButton.visible = false + defaultButton.visible = false + } + + createReady = true + } + } + + function updateDisplay(value) { + // TODO: No display for now... + } + + Rectangle { + id: rect + anchors.fill: parent + color: "#4c5a5a5a" + radius: 5 + border.color: "#919191" + border.width: 2 + + ColumnLayout { + id: column + anchors.fill: parent + anchors.topMargin: 10 + anchors.margins: 5 + + Text { + id: nameText + color: "white" + text: paramName + horizontalAlignment: Text.AlignHCenter + Layout.fillWidth: true + font.pointSize: 12 + } + + SpinBox { + id: valueBox + Layout.fillWidth: true + property string suffix: "" + editable: true + + onValueChanged: { + if (!params.getParamEditAsPercentage(paramName)) { + var val = value / params.getParamEditorScale(paramName) + + if (params !== null && createReady) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamInt(paramName, val, editor); + } + + updateDisplay(val); + } + } + + textFromValue: function(value, locale) { + return Number(value).toLocaleString(locale, 'f', 0) + suffix + } + + valueFromText: function(text, locale) { + return Number.fromLocaleString(locale, text.replace(suffix, "")) + } + } + + SpinBox { + id: percentageBox + Layout.fillWidth: true + editable: true + visible: false + + onValueChanged: { + if (params.getParamEditAsPercentage(paramName)) { + var val = (value / 100.0) * maxVal + + if (params !== null && createReady) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamInt(paramName, val, editor); + } + + updateDisplay(val); + } + } + + textFromValue: function(value, locale) { + return Number(value).toLocaleString(locale, 'f', 0) + " %" + } + + valueFromText: function(text, locale) { + return Number.fromLocaleString(locale, text.replace("%", "")) + } + } + + RowLayout { + Layout.fillWidth: true + Button { + id: nowButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Current" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdate() + } + } + + Button { + id: defaultButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Default" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdateDefault() + } + } + + Button { + id: helpButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Help" + onClicked: { + VescIf.emitMessageDialog( + params.getLongName(paramName), + params.getDescription(paramName), + true, true) + } + } + } + } + } + + Connections { + target: params + + onParamChangedInt: { + if (src !== editor && name == paramName) { + valueBox.value = newParam * params.getParamEditorScale(paramName) + percentageBox.value = Math.round((100.0 * newParam) / maxVal) + } + } + } +} diff --git a/mobile/ParamEditSeparator.qml b/mobile/ParamEditSeparator.qml new file mode 100644 index 0000000..5c5730a --- /dev/null +++ b/mobile/ParamEditSeparator.qml @@ -0,0 +1,48 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +Item { + Layout.fillWidth: true + height: name.implicitHeight + 8 + + property string sepName: "" + + Rectangle { + id: rect + anchors.fill: parent + color: "#9e0000" + radius: 5 + + Text { + anchors.centerIn: parent + color: "white" + id: name + text: sepName + font.bold: true + font.pointSize: 12 + horizontalAlignment: Text.AlignHCenter + verticalAlignment: Text.AlignVCenter + } + } + +} diff --git a/mobile/ParamEditString.qml b/mobile/ParamEditString.qml new file mode 100644 index 0000000..325aab6 --- /dev/null +++ b/mobile/ParamEditString.qml @@ -0,0 +1,148 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.configparams 1.0 + +Item { + id: editor + property string paramName: "" + property ConfigParams params: null + height: column.implicitHeight + 2 * column.anchors.margins + Layout.fillWidth: true + property real maxVal: 1.0 + + Component.onCompleted: { + if (params !== null) { + nameText.text = params.getLongName(paramName) + stringInput.text = params.getParamQString(paramName) + + if (params.getParamTransmittable(paramName)) { + nowButton.visible = true + defaultButton.visible = true + } else { + nowButton.visible = false + defaultButton.visible = false + } + } + } + + Rectangle { + id: rect + anchors.fill: parent + color: "#4cbfbfbf" + radius: 10 + border.color: "#4c000000" + border.width: 3 + + ColumnLayout { + id: column + anchors.fill: parent + anchors.margins: 10 + + Text { + id: nameText + text: paramName + horizontalAlignment: Text.AlignHCenter + Layout.fillWidth: true + font.pointSize: 12 + } + + Rectangle { + Layout.fillWidth: true + height: stringInput.implicitHeight + 14 + border.width: 2 + border.color: "#8d8d8d" + color: "#33a8a8a8" + radius: 3 + TextInput { + id: stringInput + anchors.fill: parent + anchors.margins: 7 + font.pointSize: 12 + focus: true + + onTextChanged: { + if (params !== null) { + if (params.getUpdateOnly() !== paramName) { + params.setUpdateOnly("") + } + params.updateParamString(paramName, text, editor); + } + } + } + } + + RowLayout { + Layout.fillWidth: true + Button { + id: nowButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Current" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdate() + } + } + + Button { + id: defaultButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Default" + onClicked: { + params.setUpdateOnly(paramName) + params.requestUpdateDefault() + } + } + + Button { + id: helpButton + Layout.fillWidth: true + Layout.preferredWidth: 500 + flat: true + text: "Help" + onClicked: { + VescIf.emitMessageDialog( + params.getLongName(paramName), + params.getDescription(paramName), + true, true) + } + } + } + } + } + + Connections { + target: params + + onParamChangedQString: { + if (src !== editor && name == paramName) { + stringInput.text = newParam + } + } + } +} diff --git a/mobile/ParamEditors.qml b/mobile/ParamEditors.qml new file mode 100644 index 0000000..982b475 --- /dev/null +++ b/mobile/ParamEditors.qml @@ -0,0 +1,72 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property ConfigParams mbmsConfig: VescIf.bmsConfig() + + function createEditor(parent, name, conf) { + if (conf.hasParam(name)) { + if (conf.isParamDouble(name)) { + var component = Qt.createComponent("ParamEditDouble.qml"); + return component.createObject(parent, {"params": conf, "paramName": name}); + } else if (conf.isParamInt(name)) { + var component2 = Qt.createComponent("ParamEditInt.qml"); + return component2.createObject(parent, {"params": conf, "paramName": name}); + } else if (conf.isParamEnum(name)) { + var component3 = Qt.createComponent("ParamEditEnum.qml"); + return component3.createObject(parent, {"params": conf, "paramName": name}); + } else if (conf.isParamBool(name)) { + var component4 = Qt.createComponent("ParamEditBool.qml"); + return component4.createObject(parent, {"params": conf, "paramName": name}); + } else if (conf.isParamQString(name)) { + var component5 = Qt.createComponent("ParamEditString.qml"); + return component5.createObject(parent, {"params": conf, "paramName": name}); + } + } else { + console.log("Parameter " + name + " not found.") + } + + return null + } + + function createEditorMc(parent, name) { + return createEditor(parent, name, mbmsConfig) + } + + + function createSeparator(parent, text) { + var component = Qt.createComponent("ParamEditSeparator.qml"); + return component.createObject(parent, {"sepName": text}); + } + + function createSpacer(parent) { + return Qt.createQmlObject( + 'import QtQuick 2.7; import QtQuick.Layouts 1.3; Rectangle {Layout.fillHeight: true}', + parent, + "spacer1") + } +} diff --git a/mobile/PpmMap.qml b/mobile/PpmMap.qml new file mode 100644 index 0000000..fb3625e --- /dev/null +++ b/mobile/PpmMap.qml @@ -0,0 +1,193 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + implicitHeight: column.implicitHeight + + property real msMin: 0.0 + property real msMax: 0.0 + property real msCenter: 0.0 + property real msNow: 0.0 + property real valueNow: 0.5 + property bool resetDone: true + + property Commands mCommands: VescIf.commands() + property ConfigParams mInfoConf: VescIf.infoConfig() + + function openDialog() { + dialog.open() + } + + function updateDisplay() { + resultArea.text = + "Value : " + parseFloat(valueNow).toFixed(2) + "\n\n" + + "Now : " + parseFloat(msNow).toFixed(4) + " ms\n" + + "Min : " + parseFloat(msMin).toFixed(4) + " ms\n" + + "Max : " + parseFloat(msMax).toFixed(4) + " ms\n" + + "Center : " + parseFloat(msCenter).toFixed(4) + " ms" + + valueBar.value = valueNow + } + + function isValid() { + return (msMax - msMin) > 0.4 + } + + function applyMapping() { + if (isValid()) { + mAppConf.updateParamDouble("app_ppm_conf.pulse_start", msMin) + mAppConf.updateParamDouble("app_ppm_conf.pulse_end", msMax) + mAppConf.updateParamDouble("app_ppm_conf.pulse_center", msCenter) + VescIf.emitStatusMessage("Start, End and Center Pulselengths Applied", true) + mCommands.setAppConf() + } else { + VescIf.emitMessageDialog("Apply Mapping", + "Mapped values are not valid. Move the throttle to min, " + + "then to max and then leave it in the center.", + false, + false) + } + } + + function reset() { + msMin = 0.0 + msMax = 0.0 + msCenter = 0.0 + resetDone = true + updateDisplay() + } + + Component.onCompleted: { + updateDisplay() + } + + ColumnLayout { + id: column + + anchors.fill: parent + spacing: 0 + + TextArea { + id: resultArea + Layout.fillWidth: true + Layout.preferredHeight: 200 + readOnly: true + wrapMode: TextEdit.WordWrap + font.family: "DejaVu Sans Mono" + } + + ProgressBar { + id: valueBar + Layout.fillWidth: true + from: -1.0 + to: 1.0 + value: 0.0 + } + + RowLayout { + Layout.fillWidth: true + Button { + text: "Help" + Layout.preferredWidth: 50 + Layout.fillWidth: true + flat: true + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("app_ppm_mapping_help"), + mInfoConf.getDescription("app_ppm_mapping_help"), + true, true) + } + } + + Button { + text: "Reset" + Layout.preferredWidth: 50 + Layout.fillWidth: true + flat: true + onClicked: { + reset() + } + } + } + + Button { + text: "Apply & Write" + Layout.fillWidth: true + onClicked: { + + applyMapping() + } + } + } + + Timer { + id: rtTimer + interval: 50 + running: true + repeat: true + + onTriggered: { + if (VescIf.isPortConnected() && visible) { + mCommands.getDecodedPpm() + } + } + } + + Connections { + target: mCommands + + onDecodedPpmReceived: { + valueNow = value + msNow = last_len + + if (resetDone) { + resetDone = false + msMin = msNow + msMax = msNow + } + + if (msNow < msMin) { + msMin = msNow + } + + if (msNow > msMax) { + msMax = msNow + } + + var range = msMax - msMin + var pos = msNow - msMin + + if (pos > (range / 4.0) && pos < ((3.0 * range) / 4.0)) { + msCenter = msNow + } else { + msCenter = range / 2.0 + msMin + } + + updateDisplay() + } + } +} diff --git a/mobile/ProgressBar.qml b/mobile/ProgressBar.qml new file mode 100644 index 0000000..8669504 --- /dev/null +++ b/mobile/ProgressBar.qml @@ -0,0 +1,70 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.0 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.commands 1.0 + +Item { + id:progressBar + height: 20 + Layout.fillWidth: true + property string prefix: "" + property string unit: "" + property double barValue: 0 + property double barFrom: 0 + property double barTo: 0 + + ColumnLayout { + id: column + anchors.fill: parent + anchors.topMargin: 0 + anchors.margins: 5 + + ProgressBar { + id: bar + Layout.leftMargin: 35 + implicitHeight: 10 + Layout.preferredWidth: 300 + scale:1 + Layout.fillHeight: false + from: barFrom + value: barValue + to: barTo + Label { + id: label + color: "#ffffff" + text: bar.value + unit + anchors.leftMargin: 10 + anchors.left: parent.right + anchors.verticalCenter: parent.verticalCenter + } + Label { + id: label2 + color: "#ffffff" + text: prefix + anchors.right: parent.left + anchors.verticalCenter: parent.verticalCenter + } + + } + } +} diff --git a/mobile/RtData.qml b/mobile/RtData.qml new file mode 100644 index 0000000..6bae60d --- /dev/null +++ b/mobile/RtData.qml @@ -0,0 +1,270 @@ +/* + Copyright 2020 Kevin Dionne kevin.dionne@ennoid.me + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property var progressBarsVisible: [] + property var cellValues: [6,6,6,6,6,6,6,6,6,6,6,6] + property var tempValues: [100,100,100,100,100] + property var tempValuesExp: [100,100,100,100,100] + + + property bool isHorizontal: width > height + + + ProgressBar { + id: progressBar + } + + + Component.onCompleted: { + mCommands.emitEmptyValues() + } + + function addProgressBar(prefix, unit, barValue, barFrom, barTo) { + var component = Qt.createComponent("ProgressBar.qml"); + return component.createObject(scrollCol, {"prefix": prefix, "unit": unit, "barValue": barValue, "barFrom": barFrom, "barTo": barTo}); + } + + function destroyProgressBars() { + for (var i = 0;i < progressBarsVisible.length;i++) { + progressBarsVisible[i].destroy(); + } + progressBarsVisible = [] + } + + function createProgressBar(prefix, unit, barValue, barFrom, barTo) { + progressBarsVisible.push(addProgressBar(prefix, unit, barValue, barFrom, barTo)) + } + + + + function updateProgressBars(type, prefix, unit, barFrom, barTo) { + destroyProgressBars() + + switch(type) { + case "Cells": + for (var i = 0 ; i < cellValues.length ; i++) { + createProgressBar(prefix+(i+1), unit, cellValues[i], barFrom, barTo) + } + break; + case "Temps": + for (var j = 0 ; j < tempValues.length ; j++) { + createProgressBar(prefix+(j+1), unit, tempValues[j], barFrom, barTo) + } + break; + case "TempsExp": + for (var k = 0 ; k < tempValuesExp.length ; k++) { + createProgressBar(prefix+(k+1), unit, tempValuesExp[k], barFrom, barTo) + } + break; + default: + break; + } + + } + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + ComboBox { + id: tabBox + Layout.fillWidth: true + model: [ + "Cells voltages", + "Temperatures", + "Temperatures expansion" + ] + onCurrentTextChanged: { + + switch(currentText) { + case "Cells voltages": + updateProgressBars("Cells","C","V", 2.5, 4.2) + break; + case "Temperatures": + updateProgressBars("Temps","T","\u00B0C", -50 ,100) + break; + case "Temperatures expansion": + updateProgressBars("TempsExp","T","\u00B0C", -50 ,100) + break; + default: + break; + } + } + } + + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: column.width + clip: true + + GridLayout { + id: scrollCol + anchors.fill: parent + columns: isHorizontal ? 2 : 1 + } + } + + Rectangle { + id: textRect + color: "#272727" + Layout.fillWidth: true + Layout.preferredHeight: valMetrics.height * 8 + 20 + Layout.alignment: Qt.AlignBottom + + Rectangle { + + anchors.bottom: valText.top + width: parent.width + height: 2 + color: "#81D4FA" + } + + Text { + id: valText + color: "white" + text: VescIf.getConnectedPortName() + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + anchors.left: parent.left + anchors.verticalCenter: parent.verticalTop + anchors.margins: 10 + } + + Text { + id: valText2 + color: "white" + text: VescIf.getConnectedPortName() + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + anchors.left: parent.horizontalCenter + anchors.verticalCenter: parent.verticalTop + anchors.margins: 10 + } + + TextMetrics { + id: valMetrics + font: valText.font + text: valText.text + } + } + + } + + Connections { + target: mCommands + + // TODO: For some reason this does not work + onBmsConfigCheckResult: { + if (paramsNotSet.length > 0) { + var notUpdated = "The following parameters were truncated because " + + "they were beyond the hardware limits:\n" + + for (var i = 0;i < paramsNotSet.length;i++) { + notUpdated += mbmsConf.getLongName(paramsNotSet[i]) + "\n" + } + + VescIf.emitMessageDialog("Parameters truncated", notUpdated, false, false) + } + } + } + + + Connections { + target: mCommands + + onValuesReceived: { + + valText.text = + "V Pack : " + parseFloat(values.packVoltage).toFixed(2) + " V\n" + + "I Pack : " + parseFloat(values.packCurrent).toFixed(2) + " A\n" + + "CVHigh : " + parseFloat(values.cVHigh).toFixed(2) + " V\n" + + "CVAverage : " + parseFloat(values.cVAverage).toFixed(2) + " V\n" + + "CVLow : " + parseFloat(values.cVLow).toFixed(2) + " V\n" + + "CVMismatch : " + parseFloat(values.cVMisMatch).toFixed(2) + " V\n" + + "OpState : " + values.opState + "\n" + + "FaultState : " + values.faultState + "\n" + + "SoC : " + parseFloat(values.soC).toFixed(1) + " %\n" + + valText2.text = + "T Batt High: " + parseFloat(values.tempBattHigh).toFixed(1) + " \u00B0C\n" + + "T Batt Avrg: " + parseFloat(values.tempBattAverage).toFixed(1) + " \u00B0C\n" + + "T Batt Low : " + parseFloat(values.tempBattLow).toFixed(1) + " \u00B0C\n" + + "T BMS High : " + parseFloat(values.tempBMSHigh).toFixed(1) + " \u00B0C\n" + + "T BMS Avrg : " + parseFloat(values.tempBMSAverage).toFixed(1) + " \u00B0C\n" + + "T BMS Low : " + parseFloat(values.tempBMSLow).toFixed(1) + " \u00B0C\n" + + "Humidity : " + parseFloat(values.humidity).toFixed(1) + " %\n" + + "V Load : " + parseFloat(values.loadLCVoltage).toFixed(1) + " V\n" + + "V Charger : " + parseFloat(values.chargerVoltage).toFixed(1) + " V\n" + + + } + } + + Connections { + target: mCommands + + onCellsReceived: { + cellValues = cellVoltageArray + if(tabBox.currentText==="Cells voltages"){ + updateProgressBars("Cells","C","V", 2.5, 4.2) + } + + } + } + + Connections { + target: mCommands + + onAuxReceived: { + tempValues = auxVoltageArray + if(tabBox.currentText==="Temperatures"){ + updateProgressBars("Temps","T","\u00B0C", -50 ,100) + } + } + } + + Connections { + target: mCommands + + onExpTempReceived: { + tempValuesExp = expTempVoltageArray + if(tabBox.currentText==="Temperatures expansion"){ + updateProgressBars("TempsExp","T","\u00B0C", -50 ,100) + } + } + } + + +} + + + diff --git a/mobile/RtData2.qml b/mobile/RtData2.qml new file mode 100644 index 0000000..137918d --- /dev/null +++ b/mobile/RtData2.qml @@ -0,0 +1,224 @@ +/* + Copyright 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + id: rtData + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property var progressBarsVisible: [] + property bool isHorizontal: rtData.width > rtData.height + property int gaugeSize: Math.min(width / 2 - 10, + (height - valMetrics.height * 10) / + (isHorizontal ? 1 : 2) - (isHorizontal ? 30 : 20)) + + + + //RtProgressBar { + // id: progressBars + //} + + Component.onCompleted: { + //currentGauge.minimumValue = -mbmsConfig.getParamDouble("maxAllowedCurrent") + //currentGauge.maximumValue = mbmsConfig.getParamDouble("maxAllowedCurrent") + mCommands.emitEmptyValues() + + } + + ColumnLayout { + id: column + anchors.fill: parent + + GridLayout { + Layout.fillWidth: true + columns: 1 + + + /*CustomGauge { + id: currentGauge + Layout.fillWidth: true + maximumValue: 100 + minimumValue: -100 + labelStep: maximumValue > 60 ? 20 : 10 + value: 0 + unitText: "A" + typeText: "Current" + Layout.preferredWidth: gaugeSize + Layout.preferredHeight: gaugeSize + } + + CustomGauge { + id: dutyGauge + Layout.fillWidth: true + maximumValue: 100 + minimumValue: -100 + labelStep: 20 + value: 0 + unitText: "%" + typeText: "Duty" + Layout.preferredWidth: gaugeSize + Layout.preferredHeight: gaugeSize + } + + CustomGauge { + id: rpmGauge + Layout.fillWidth: true + maximumValue: 100 + minimumValue: -100 + labelStep: 20 + value: -0 + unitText: "x1000" + typeText: "ERPM" + Layout.preferredWidth: gaugeSize + Layout.preferredHeight: gaugeSize + } + + CustomGauge { + id: powerGauge + Layout.fillWidth: true + maximumValue: 10000 + minimumValue: -10000 + tickmarkScale: 0.001 + tickmarkSuffix: "k" + labelStep: 1000 + value: 0 + unitText: "W" + typeText: "Power" + Layout.preferredWidth: gaugeSize + Layout.preferredHeight: gaugeSize + }*/ + } + + Rectangle { + id: textRect + color: "#272727" + + Rectangle { + anchors.bottom: valText.top + width: parent.width + height: 2 + color: "#81D4FA" + } + + Layout.fillWidth: true + Layout.preferredHeight: valMetrics.height * 6 + 20 + Layout.alignment: Qt.AlignBottom + + Text { + id: valText + color: "white" + text: VescIf.getConnectedPortName() + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + anchors.left: parent.left + anchors.verticalCenter: parent.verticalTop + anchors.margins: 10 + } + + Text { + id: valText2 + color: "white" + text: VescIf.getConnectedPortName() + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + anchors.left: parent.horizontalCenter + anchors.verticalCenter: parent.verticalTop + anchors.margins: 10 + } + + TextMetrics { + id: valMetrics + font: valText.font + text: valText.text + } + } + } + + Connections { + target: mbmsConfig + + onUpdated: { + currentGauge.maximumValue = Math.ceil(mbmsConfig.getParamDouble("maxAllowedCurrent") / 5) * 5 + currentGauge.minimumValue = -currentGauge.maximumValue + } + } + + Connections { + target: mCommands + onCellsReceived:{ + updateProgressBars() + } + } + + Connections { + target: mCommands + + onValuesReceived: { + + /* currentGauge.value = values.packCurrent + dutyGauge.value = values.duty_now * 100.0 + + var fl = mbmsConfig.getParamDouble("maxAllowedCurrent") + var rpmMax = (values.v_in * 60.0) / (Math.sqrt(3.0) * 2.0 * Math.PI * fl) + var rpmMaxRound = (Math.ceil(rpmMax / 5000.0) * 5000.0) / 1000 + + if (Math.abs(rpmGauge.maximumValue - rpmMaxRound) > 6) { + rpmGauge.maximumValue = rpmMaxRound + rpmGauge.minimumValue = -rpmMaxRound + } + + rpmGauge.value = values.packVoltage + + var powerMax = Math.min(values.packVoltage * Math.min(mbmsConfig.getParamDouble("packVoltage"), + mbmsConfig.getParamDouble("packVoltage")), + mbmsConfig.getParamDouble("packVoltage")) + var powerMaxRound = (Math.ceil(powerMax / 1000.0) * 1000.0) + + if (Math.abs(powerGauge.maximumValue - powerMaxRound) > 1.2) { + powerGauge.maximumValue = powerMaxRound + powerGauge.minimumValue = -powerMaxRound + } + + powerGauge.value = (values.packCurrent * values.packVoltage) +*/ + valText.text = + "Battery : " + parseFloat(values.packVoltage).toFixed(2) + " V\n" + + "I Battery : " + parseFloat(values.packCurrent).toFixed(2) + " A\n" + + "CVHigh : " + parseFloat(values.cVHigh).toFixed(2) + " V\n" + + "CVAverage : " + parseFloat(values.cVAverage).toFixed(2) + " V\n" + + "CVLow : " + parseFloat(values.cVLow).toFixed(2) + " V\n" + + "CVMismatch : " + parseFloat(values.cVMisMatch).toFixed(2) + " V\n" + + valText2.text = + "T Batt High: " + parseFloat(values.tempBattHigh).toFixed(1) + " \u00B0C\n" + + "T Batt Avrg: " + parseFloat(values.tempBattAverage).toFixed(1) + " \u00B0C\n" + + "T BMS High : " + parseFloat(values.tempBMSHigh).toFixed(2) + " \u00B0C\n" + + "T BMS Avrg : " + parseFloat(values.tempBMSAverage).toFixed(2) + " \u00B0C\n" + + "SoC : " + parseFloat(values.soC).toFixed(1) + " %\n" + + "OpState : " + values.opState + } + } +} diff --git a/mobile/RtDataSetup.qml b/mobile/RtDataSetup.qml new file mode 100644 index 0000000..1f8e2a7 --- /dev/null +++ b/mobile/RtDataSetup.qml @@ -0,0 +1,240 @@ +/* + Copyright 2018 - 2019 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.5 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 +import QtQuick.Controls.Styles 1.4 +import QtGraphicalEffects 1.0 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + id: rtData + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property bool isHorizontal: rtData.width > rtData.height + + property int gaugeSize: isHorizontal ? Math.min((height - valMetrics.height * 4) - 30, width / 3.5 - 10) : + Math.min(width / 1.4, + (height - valMetrics.height * 4) / 2.3 - 10) + + + property int gaugeSize2: gaugeSize * 0.65 + property int gaugeVMargin: isHorizontal ? 0 : -gaugeSize * 0.05 + property int gaugeHMargin: isHorizontal ? -gaugeSize * 0.1 : gaugeSize * 0.02 + + Component.onCompleted: { + mCommands.emitEmptySetupValues() + } + + GridLayout { + anchors.fill: parent + anchors.topMargin: 5 + columns: isHorizontal ? 3 : 1 + columnSpacing: 0 + + RowLayout { + Layout.alignment: Qt.AlignHCenter + Layout.bottomMargin: gaugeVMargin + Layout.preferredHeight: isHorizontal ? gaugeSize : gaugeSize2 + spacing: 0 + + CustomGauge { + id: powerGauge + Layout.preferredWidth: gaugeSize2 + Layout.preferredHeight: gaugeSize2 + Layout.alignment: (isHorizontal ? Qt.AlignTop : Qt.AlignVCenter) + Layout.rightMargin: gaugeHMargin + maximumValue: 10000 + minimumValue: -10000 + tickmarkScale: 0.001 + tickmarkSuffix: "k" + labelStep: 1000 + value: 1000 + unitText: "W" + typeText: "Power" + } + + CustomGauge { + id: currentGauge + Layout.preferredWidth: gaugeSize2 + Layout.preferredHeight: gaugeSize2 + Layout.alignment: isHorizontal ? Qt.AlignBottom : Qt.AlignVCenter + Layout.rightMargin: gaugeHMargin + minimumValue: 0 + maximumValue: 60 + labelStep: maximumValue > 60 ? 20 : 10 + unitText: "A" + typeText: "Current" + } + } + + CustomGauge { + id: speedGauge + Layout.alignment: Qt.AlignHCenter + Layout.preferredWidth: gaugeSize + Layout.preferredHeight: gaugeSize + minimumValue: 0 + maximumValue: 60 + minAngle: -250 + maxAngle: 70 + labelStep: maximumValue > 60 ? 20 : 10 + value: 20 + unitText: "km/h" + typeText: "Speed" + } + + RowLayout { + Layout.alignment: Qt.AlignHCenter + Layout.topMargin: gaugeVMargin + Layout.preferredHeight: isHorizontal ? gaugeSize : gaugeSize2 + spacing: 0 + + CustomGauge { + id: batteryGauge + Layout.preferredWidth: gaugeSize2 + Layout.preferredHeight: gaugeSize2 + Layout.alignment: isHorizontal ? Qt.AlignBottom : Qt.AlignVCenter + Layout.leftMargin: gaugeHMargin + minimumValue: 0 + maximumValue: 100 + value: 95 + unitText: "%" + typeText: "Battery" + traceColor: "green" + } + + CustomGauge { + id: dutyGauge + Layout.preferredWidth: gaugeSize2 + Layout.preferredHeight: gaugeSize2 + Layout.alignment: isHorizontal ? Qt.AlignTop : Qt.AlignVCenter + Layout.leftMargin: gaugeHMargin + maximumValue: 100 + minimumValue: -100 + labelStep: 20 + value: 0 + unitText: "%" + typeText: "Duty" + } + } + + Rectangle { + id: textRect + color: "#272727" + + Layout.fillWidth: true + Layout.preferredHeight: valMetrics.height * 4 + 20 + Layout.alignment: Qt.AlignBottom + Layout.columnSpan: isHorizontal ? 3 : 1 + + Rectangle { + anchors.top: parent.top + width: parent.width + height: 2 + color: "#81D4FA" + } + + Text { + id: valText + color: "white" + text: VescIf.getConnectedPortName() + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 10 + } + + Text { + id: valText2 + color: "white" + text: VescIf.getConnectedPortName() + font.family: "DejaVu Sans Mono" + verticalAlignment: Text.AlignVCenter + anchors.left: parent.horizontalCenter + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 10 + } + + TextMetrics { + id: valMetrics + font: valText.font + text: valText.text + } + } + } + + Connections { + target: mCommands + + onValuesSetupReceived: { + currentGauge.maximumValue = Math.ceil(mbmsConfig.getParamDouble("maxAllowedCurrent") / 5) * 5 * values.num_vescs + currentGauge.minimumValue = -currentGauge.maximumValue + + currentGauge.value = values.packCurrent + dutyGauge.value = values.duty_now * 100.0 + batteryGauge.value = values.battery_level * 100.0 + + var fl = mbmsConfig.getParamDouble("foc_motor_flux_linkage") + var rpmMax = (values.v_in * 60.0) / (Math.sqrt(3.0) * 2.0 * Math.PI * fl) + var speedFact = ((mbmsConfig.getParamInt("si_motor_poles") / 2.0) * 60.0 * + mbmsConfig.getParamDouble("si_gear_ratio")) / + (mbmsConfig.getParamDouble("si_wheel_diameter") * Math.PI) + var speedMax = 3.6 * rpmMax / speedFact + var speedMaxRound = (Math.ceil(speedMax / 10.0) * 10.0) + + if (Math.abs(speedGauge.maximumValue - speedMaxRound) > 6.0) { + speedGauge.maximumValue = speedMaxRound + speedGauge.minimumValue = -speedMaxRound + } + + speedGauge.value = values.speed * 3.6 + + var powerMax = Math.min(values.v_in * Math.min(mbmsConfig.getParamDouble("l_in_current_max"), + mbmsConfig.getParamDouble("l_current_max")), + mbmsConfig.getParamDouble("l_watt_max")) * values.num_vescs + var powerMaxRound = (Math.ceil(powerMax / 1000.0) * 1000.0) + + if (Math.abs(powerGauge.maximumValue - powerMaxRound) > 1.2) { + powerGauge.maximumValue = powerMaxRound + powerGauge.minimumValue = -powerMaxRound + } + + powerGauge.value = (values.current_in * values.v_in) + + valText.text = + "mAh Out: " + parseFloat(values.amp_hours * 1000.0).toFixed(1) + "\n" + + "mAh In : " + parseFloat(values.amp_hours_charged * 1000.0).toFixed(1) + "\n" + + "Wh Out : " + parseFloat(values.watt_hours).toFixed(2) + "\n" + + "Wh In : " + parseFloat(values.watt_hours_charged).toFixed(2) + + var wh_km = (values.watt_hours - values.watt_hours_charged) / (values.tachometer_abs / 1000.0) + + valText2.text = + "Km Trip : " + parseFloat(values.tachometer_abs / 1000.0).toFixed(3) + "\n" + + "Wh/Km : " + parseFloat(wh_km).toFixed(1) + "\n" + + "Km Range: " + parseFloat(values.battery_wh / wh_km).toFixed(2) + "\n" + + "VESCs : " + values.num_vescs + } + } +} diff --git a/mobile/RtProgressBar.qml b/mobile/RtProgressBar.qml new file mode 100644 index 0000000..aeb6216 --- /dev/null +++ b/mobile/RtProgressBar.qml @@ -0,0 +1,60 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property ConfigParams mbmsConfig: VescIf.bmsConfig() + + function createProgressBar(parent, name, conf) { + if (conf.hasParam(name)) { + + var component = Qt.createComponent("RtProgressBarDouble.qml"); + return component.createObject(parent, {"params": conf, "paramName": name}); + + } else { + console.log("Parameter " + name + " not found.") + } + + return null + } + + function createProgressBar(parent, name) { + return createProgressBar(parent, name, mbmsConfig) + } + + + function createSeparator(parent, text) { + var component = Qt.createComponent("ParamEditSeparator.qml"); + return component.createObject(parent, {"sepName": text}); + } + + function createSpacer(parent) { + return Qt.createQmlObject( + 'import QtQuick 2.7; import QtQuick.Layouts 1.3; Rectangle {Layout.fillHeight: true}', + parent, + "spacer1") + } +} diff --git a/mobile/Terminal.qml b/mobile/Terminal.qml new file mode 100644 index 0000000..1d96b44 --- /dev/null +++ b/mobile/Terminal.qml @@ -0,0 +1,124 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 + +Item { + property Commands mCommands: VescIf.commands() + + ColumnLayout { + id: column + anchors.fill: parent + spacing: 0 + + ScrollView { + id: scroll + Layout.fillWidth: true + Layout.fillHeight: true + contentWidth: terminalText.width + clip: true + + TextArea { + id: terminalText + anchors.fill: parent + readOnly: true + font.family: "DejaVu Sans Mono" + } + } + + Rectangle { + Layout.fillWidth: true + height: stringInput.implicitHeight + 14 + border.width: 2 + border.color: "#8d8d8d" + color: "#33a8a8a8" + radius: 3 + TextInput { + id: stringInput + anchors.fill: parent + anchors.margins: 7 + font.pointSize: 12 + focus: true + } + } + + RowLayout { + Layout.fillWidth: true + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Clear" + + onClicked: { + terminalText.clear() + } + } + + Button { + Layout.preferredWidth: 100 + Layout.fillWidth: true + text: "Send" + + onClicked: { + mCommands.sendTerminalCmd(stringInput.text) + stringInput.clear() + } + } + + Button { + Layout.preferredWidth: 50 + Layout.fillWidth: true + text: "..." + onClicked: menu.open() + + Menu { + id: menu + width: 500 + + MenuItem { + text: "Print Faults" + onTriggered: { + mCommands.sendTerminalCmd("faults") + } + } + MenuItem { + text: "Print Threads" + onTriggered: { + mCommands.sendTerminalCmd("threads") + } + } + } + } + } + } + + Connections { + target: mCommands + + onPrintReceived: { + terminalText.text += "\n" + str + } + } +} diff --git a/mobile/fwhelper.cpp b/mobile/fwhelper.cpp new file mode 100644 index 0000000..78917d1 --- /dev/null +++ b/mobile/fwhelper.cpp @@ -0,0 +1,135 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "fwhelper.h" +#include + +FwHelper::FwHelper(QObject *parent) : QObject(parent) +{ + +} + +QVariantMap FwHelper::getHardwares(QString hw) +{ + QVariantMap hws; + + QDirIterator it("://res/firmwares"); + while (it.hasNext()) { + QFileInfo fi(it.next()); + QStringList names = fi.fileName().split("_o_"); + + if (fi.isDir() && (hw.isEmpty() || names.contains(hw, Qt::CaseInsensitive))) { + QString name = names.at(0); + for(int i = 1;i < names.size();i++) { + name += " & " + names.at(i); + } + + hws.insert(name, fi.absoluteFilePath()); + } + } + + return hws; +} + +QVariantMap FwHelper::getFirmwares(QString hw) +{ + QVariantMap fws; + + QDirIterator it(hw); + while (it.hasNext()) { + QFileInfo fi(it.next()); + fws.insert(fi.fileName(), fi.absoluteFilePath()); + } + + return fws; +} + +QVariantMap FwHelper::getBootloaders(QString hw) +{ + QVariantMap bls; + + QDirIterator it("://res/bootloaders"); + while (it.hasNext()) { + QFileInfo fi(it.next()); + QStringList names = fi.fileName().replace(".bin", "").split("_o_"); + + if (!fi.isDir() && (hw.isEmpty() || names.contains(hw, Qt::CaseInsensitive))) { + QString name = names.at(0); + for(int i = 1;i < names.size();i++) { + name += " & " + names.at(i); + } + + bls.insert(name, fi.absoluteFilePath()); + } + } + + if (bls.isEmpty()) { + QFileInfo generic("://res/bootloaders/generic.bin"); + if (generic.exists()) { + bls.insert("generic", generic.absoluteFilePath()); + } + } + + return bls; +} + +bool FwHelper::uploadFirmware(QString filename, BMSInterface *dieBieMS, bool isBootloader, bool checkName) +{ + // TODO: Should this be removed on android? + if (filename.startsWith("file:/")) { + filename.remove(0, 6); + } + + QFile file; + file.setFileName(filename); + QFileInfo fileInfo(filename); + + if (checkName) { + if (!(fileInfo.fileName().startsWith("ENNOID")) || !fileInfo.fileName().endsWith(".bin")) { + dieBieMS->emitMessageDialog(tr("Upload Error"),tr("The selected file name seems to be invalid."),false, false); + return false; + } + } + + if (!file.open(QIODevice::ReadOnly)) { + dieBieMS->emitMessageDialog(tr("Upload Error"), + tr("Could not open file. Make sure that the path is valid."), + false); + qDebug() << fileInfo.fileName() << fileInfo.absolutePath(); + return false; + } + + if (file.size() > 400000) { + dieBieMS->emitMessageDialog(tr("Upload Error"), + tr("The selected file is too large to be a firmware."), + false); + return false; + } + + QByteArray data = file.readAll(); + dieBieMS->commands()->startFirmwareUpload(data, isBootloader); + + return true; +} diff --git a/mobile/fwhelper.h b/mobile/fwhelper.h new file mode 100644 index 0000000..7004f14 --- /dev/null +++ b/mobile/fwhelper.h @@ -0,0 +1,48 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef FWHELPER_H +#define FWHELPER_H + +#include +#include +#include "bmsinterface.h" + +class FwHelper : public QObject +{ + Q_OBJECT +public: + explicit FwHelper(QObject *parent = nullptr); + Q_INVOKABLE QVariantMap getHardwares(QString hw = ""); + Q_INVOKABLE QVariantMap getFirmwares(QString hw); + Q_INVOKABLE QVariantMap getBootloaders(QString hw); + Q_INVOKABLE bool uploadFirmware(QString filename, BMSInterface *dieBieMS, bool isBootloader, bool isIncluded); + +signals: + +public slots: +}; + +#endif // FWHELPER_H diff --git a/mobile/main.qml b/mobile/main.qml new file mode 100644 index 0000000..fb4c0f7 --- /dev/null +++ b/mobile/main.qml @@ -0,0 +1,498 @@ +/* + Copyright 2017 - 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + */ + +import QtQuick 2.7 +import QtQuick.Controls 2.2 +import QtQuick.Layouts 1.3 +import Qt.labs.settings 1.0 as QSettings + +import Ennoid.bmsinterface 1.0 +import Ennoid.commands 1.0 +import Ennoid.configparams 1.0 +import Ennoid.utility 1.0 + +ApplicationWindow { + id: appWindow + property Commands mCommands: VescIf.commands() + property ConfigParams mbmsConfig: VescIf.bmsConfig() + property ConfigParams mInfoConf: VescIf.infoConfig() + + visible: true + width: 500 + height: 850 + title: qsTr("ENNOID-BMS Tool") + + Component.onCompleted: { + // Utility.checkVersion(VescIf) + + + } + + Controls { + id: controls + parentWidth: appWindow.width + parentHeight: appWindow.height - footer.height - tabBar.height + } + + Drawer { + id: drawer + width: 0.5 * appWindow.width + height: appWindow.height - footer.height - tabBar.height + y: tabBar.height + dragMargin: 20 + + ColumnLayout { + anchors.fill: parent + anchors.margins: 10 + spacing: 0 + + Image { + id: image + Layout.preferredWidth: Math.min(parent.width, parent.height) + Layout.preferredHeight: (300 * Layout.preferredWidth) / 1549 + Layout.alignment: Qt.AlignHCenter | Qt.AlignBottom + source: "qrc:/res/logo_white.png" + } + + Button { + id: reconnectButton + + Layout.fillWidth: true + text: "Reconnect" + enabled: false + flat: true + + onClicked: { + VescIf.reconnectLastPort() + } + } + + Button { + Layout.fillWidth: true + text: "Disconnect" + enabled: connBle.disconnectButton.enabled + flat: true + + onClicked: { + VescIf.disconnectPort() + } + } + + + Item { + // Spacer + Layout.fillWidth: true + Layout.fillHeight: true + } + + Button { + Layout.fillWidth: true + text: "About" + flat: true + + onClicked: { + VescIf.emitMessageDialog( + "About", + Utility.aboutText(), + true, true) + } + } + + Button { + Layout.fillWidth: true + text: "Changelog" + flat: true + + onClicked: { + VescIf.emitMessageDialog( + "EBMS Tool Changelog", + Utility.vescToolChangeLog(), + true, false) + } + } + + Button { + Layout.fillWidth: true + text: "License" + flat: true + + onClicked: { + VescIf.emitMessageDialog( + mInfoConf.getLongName("gpl_text"), + mInfoConf.getDescription("gpl_text"), + true, true) + } + } + } + } + + SwipeView { + id: swipeView + currentIndex: tabBar.currentIndex + anchors.fill: parent + + Page { + ConnectBle { + id: connBle + anchors.fill: parent + anchors.margins: 10 + + onRequestOpenControls: { + controls.openDialog() + } + + } + } + + + Page { + RowLayout { + anchors.fill: parent + spacing: 0 + + Rectangle { + color: "#4f4f4f" + width: 16 + Layout.fillHeight: true + Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter + + PageIndicator { + count: rtSwipeView.count + currentIndex: rtSwipeView.currentIndex + anchors.centerIn: parent + rotation: 90 + } + } + + SwipeView { + id: rtSwipeView + enabled: true + clip: true + + Layout.fillWidth: true + Layout.fillHeight: true + orientation: Qt.Vertical + + Page { + RtData { + anchors.fill: parent + } + } + + /*Page { + RtDataSetup { + anchors.fill: parent + } + }*/ + } + } + } + + Page { + ConfigPageGeneral { + id: confPageGeneral + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + } + } + + Page { + ConfigPageCell { + id: confPageCell + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + } + } + + Page { + ConfigPageSwitch { + id: confPageSwitch + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + } + } + + Page { + ConfigPageSignal { + id: confPageSignal + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + } + } + + Page { + ConfigPageDisplay { + id: confPageDisplay + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + } + } + + Page { + FwUpdate { + anchors.fill: parent + } + } + + Page { + Terminal { + anchors.fill: parent + anchors.leftMargin: 10 + anchors.rightMargin: 10 + anchors.topMargin: 10 + } + } + } + + header: Rectangle { + color: "#5f5f5f" + height: tabBar.height + + RowLayout { + anchors.fill: parent + spacing: 0 + + ToolButton { + Layout.preferredHeight: tabBar.height + Layout.preferredWidth: tabBar.height - 10 + + Image { + id: manuButton + anchors.centerIn: parent + width: tabBar.height * 0.5 + height: tabBar.height * 0.5 + opacity: 0.5 + source: "qrc:/res/icons/Settings-96.png" + } + + onClicked: { + if (drawer.visible) { + drawer.close() + } else { + drawer.open() + } + } + } + + TabBar { + id: tabBar + currentIndex: swipeView.currentIndex + Layout.fillWidth: true + implicitWidth: 0 + clip: true + + background: Rectangle { + opacity: 1 + color: "#4f4f4f" + } + + property int buttons: 9 + property int buttonWidth: 120 + + TabButton { + text: qsTr("Connection") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("RT") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("General") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Cell cfg") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Switch") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Signal") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Display") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Firmware") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + TabButton { + text: qsTr("Terminal") + width: Math.max(tabBar.buttonWidth, tabBar.width / tabBar.buttons) + } + } + } + } + + footer: Rectangle { + id: connectedRect + color: "#4f4f4f" + + Text { + id: connectedText + color: "white" + text: VescIf.getConnectedPortName() + verticalAlignment: Text.AlignVCenter + horizontalAlignment: Text.AlignHCenter + anchors.fill: parent + } + + width: parent.width + height: 20 + } + + Timer { + id: statusTimer + interval: 1600 + running: false + repeat: false + onTriggered: { + connectedText.text = VescIf.getConnectedPortName() + connectedRect.color = "4f4f4f" + } + } + + Timer { + id: uiTimer + interval: 1000 + running: true + repeat: true + onTriggered: { + if (!statusTimer.running && connectedText.text !== VescIf.getConnectedPortName()) { + connectedText.text = VescIf.getConnectedPortName() + } + } + } + + Timer { + id: confTimer + interval: 1000 + running: true + repeat: true + + property bool mcConfRx: false + + onTriggered: { + if (VescIf.isPortConnected()) { + if (!mcConfRx) { + mCommands.getBMSconf() + } + } + } + } + + Timer { + id: rtTimer + interval: 50 + running: true + repeat: true + + onTriggered: { + if (VescIf.isPortConnected() && tabBar.currentIndex == 1) { + // Sample RT data when the RT page is selected + interval = 50 + mCommands.getValues() + } + } + } + + Dialog { + id: vescDialog + standardButtons: Dialog.Ok + modal: true + focus: true + closePolicy: Popup.CloseOnEscape + + width: parent.width - 20 + height: Math.min(implicitHeight, parent.height - 40) + x: (parent.width - width) / 2 + y: (parent.height - height) / 2 + parent: ApplicationWindow.overlay + + ScrollView { + anchors.fill: parent + clip: true + contentWidth: parent.width - 20 + + Text { + id: vescDialogLabel + color: "#ffffff" + linkColor: "lightblue" + verticalAlignment: Text.AlignVCenter + anchors.fill: parent + wrapMode: Text.WordWrap + textFormat: Text.RichText + onLinkActivated: { + Qt.openUrlExternally(link) + } + } + } + } + + Connections { + target: VescIf + onPortConnectedChanged: { + connectedText.text = VescIf.getConnectedPortName() + if (VescIf.isPortConnected()) { + reconnectButton.enabled = true + } + } + + onStatusMessage: { + connectedText.text = msg + connectedRect.color = isGood ? "green" : "red" + statusTimer.restart() + } + + onMessageDialog: { + vescDialog.title = title + vescDialogLabel.text =(richText ? "" : "") + msg + vescDialogLabel.textFormat = richText ? Text.RichText : Text.AutoText + vescDialog.open() + } + + onFwRxChanged: { + if (rx) { + if(limited){ + swipeView.setCurrentIndex(5) + }else { + mCommands.getBMSconf() + } + } + } + } + + Connections { + target: mbmsConfig + + onUpdated: { + confTimer.mcConfRx = true + } + } +} diff --git a/mobile/mobile.pri b/mobile/mobile.pri new file mode 100644 index 0000000..c9800e1 --- /dev/null +++ b/mobile/mobile.pri @@ -0,0 +1,13 @@ +HEADERS += \ + $$PWD/qmlui.h \ + $$PWD/fwhelper.h + +SOURCES += \ + $$PWD/qmlui.cpp \ + $$PWD/fwhelper.cpp + +RESOURCES += \ + $$PWD/qml.qrc + +DISTFILES += + diff --git a/mobile/qml.qrc b/mobile/qml.qrc new file mode 100644 index 0000000..0c0357e --- /dev/null +++ b/mobile/qml.qrc @@ -0,0 +1,31 @@ + + + qtquickcontrols2.conf + + + main.qml + ConnectBle.qml + RtData.qml + FwUpdate.qml + FilePicker.qml + ParamEditDouble.qml + ParamEditors.qml + DoubleSpinBox.qml + ParamEditInt.qml + ParamEditEnum.qml + ParamEditBool.qml + ParamEditString.qml + ParamEditSeparator.qml + PpmMap.qml + NrfPair.qml + Controls.qml + Terminal.qml + ConfigPageGeneral.qml + ConfigPageCell.qml + ConfigPageSwitch.qml + ConfigPageDisplay.qml + ProgressBar.qml + PairingDialog.qml + ConfigPageSignal.qml + + diff --git a/mobile/qmlui.cpp b/mobile/qmlui.cpp new file mode 100644 index 0000000..7e2d1ee --- /dev/null +++ b/mobile/qmlui.cpp @@ -0,0 +1,70 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "qmlui.h" +#include "fwhelper.h" + +#include + +QmlUi::QmlUi(QObject *parent) : QObject(parent) +{ + mEngine = new QQmlApplicationEngine(this); +} + +bool QmlUi::startQmlUi() +{ + qmlRegisterSingletonType("Ennoid.bmsinterface", 1, 0, "VescIf", BMSinterface_singletontype_provider); + qmlRegisterSingletonType("Ennoid.utility", 1, 0, "Utility", utility_singletontype_provider); + qmlRegisterType("Ennoid.bleuart", 1, 0, "BleUart"); + qmlRegisterType("Ennoid.commands", 1, 0, "Commands"); + qmlRegisterType("Ennoid.configparams", 1, 0, "ConfigParams"); + qmlRegisterType("Ennoid.fwhelper", 1, 0, "FwHelper"); + + mEngine->load(QUrl(QLatin1String("qrc:/mobile/main.qml"))); + return !mEngine->rootObjects().isEmpty(); +} + +QObject *QmlUi::BMSinterface_singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine) +{ + (void)engine; + (void)scriptEngine; + + BMSInterface *vesc = new BMSInterface(); + + vesc->bmsConfig()->loadParamsXml("://res/config.xml"); + vesc->infoConfig()->loadParamsXml("://res/info.xml"); + + return vesc; +} + +QObject *QmlUi::utility_singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine) +{ + (void)engine; + (void)scriptEngine; + + Utility *util = new Utility(); + + return util; +} diff --git a/mobile/qmlui.h b/mobile/qmlui.h new file mode 100644 index 0000000..d975838 --- /dev/null +++ b/mobile/qmlui.h @@ -0,0 +1,54 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef QMLUI_H +#define QMLUI_H + +#include +#include + +#include "bmsinterface.h" +#include "utility.h" + +class QmlUi : public QObject +{ + Q_OBJECT +public: + explicit QmlUi(QObject *parent = nullptr); + bool startQmlUi(); + +signals: + +public slots: + +private: + QQmlApplicationEngine *mEngine; + + static QObject *BMSinterface_singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine); + static QObject *utility_singletontype_provider(QQmlEngine *engine, QJSEngine *scriptEngine); + +}; + +#endif // QMLUI_H diff --git a/mobile/qtquickcontrols2.conf b/mobile/qtquickcontrols2.conf new file mode 100644 index 0000000..56ff98d --- /dev/null +++ b/mobile/qtquickcontrols2.conf @@ -0,0 +1,17 @@ +; This file can be edited to change the style of the application +; See Styling Qt Quick Controls 2 in the documentation for details: +; http://doc.qt.io/qt-5/qtquickcontrols2-styles.html + +[Controls] +Style=Material + +[Universal] +Theme=Light +;Accent=Steel + +[Material] +Theme=Dark +Accent=LightBlue +;Primary=BlueGray +;Background="#1D1D1D" +;Foreground=White diff --git a/orig.zip b/orig.zip new file mode 100644 index 0000000000000000000000000000000000000000..ac8df401ed115571ad7ba4b512573d550314ad2d GIT binary patch literal 3469400 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

siqxr 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

~2lr{XS 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

X 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

RT<*QNl?e^IDQP&x4;8wZ~Hq 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∨TmGv^GB?j| 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%0Dk^k(mk4|b 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 z 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

xyYVTkyIMO&e)OFRc96T)+rC<>m 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�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≧~mwBmG0;aE^1@4a#O#6wEmJ~7Zw){xIuX* zS@lY4Z5j)nL=-n(a%Y6ZrI;F>j?yMLs*@^lRpM$?uko1?!iGy)IDUb;98+S zk3qO%!ZoMUV`r-9k);?~veg-jPKP8^D>jE7R8Q9(@|ibojN8hI!aLgLZQC#e)rysx zPk37MvE9bp(sS+pJf;?UV`AJA8j)z1J*q@O)xyQ8NYyq+R4AwtAMWKXoDzhOO;+ed z8{#F-Hv1DRMFm;Kn5;rGH&$pRW-v+7jy#tmQWW$D}Ha8S)R)H2Qdq>dG6wS2+HCTZ&?&gRR# zLW&$hrtpW*%UJf=g$jMmhvTZXHR7uwS32EO!kOGOJ;mdRW@>!1C^9&UWYNt~$xVdn zh$1EuQ1t2BNvcPyFqMnA^ED$CLOKt+CPfUoVm118d$swL-AHIcxuZ_EN?LCc4&{toPN$lVp*&rtfJA)yDgqCAX3$}7SztiH1|u!T zTTu!NI=SdO_|r4-U2VIz-Omnx$DUYNCCxiGr>c=y+wBc|6h&G~q_asnQwvv>xY}$g z#yNpPeI!@ecxtEf)iy3Bqy|^!-5ofFiM>M?Y8fxc#~T+Gas4?{UX{_uX;bz_2Gk>;Y$byBFRa zSk^Y(`D>MScXV3e3-7+rF2ngtm6$boWQPtTt;~!#=RwPv!J@cI}9!j9v05W_E4d@su&z1Sh&B)?^0b8Pdf`86+HvV@75z zdh{r!XV#Q5Y*jc>Q_c`clb}hjRjA+6cfsezc8?zB`Az*gV{L(}0D<4Mu8oNBMtm2< zTCuMl4Sla$`j2#J4I3Rz`9pZTHP;u8YDF^c=GUGVZq1;M^s9s&76yhMOu3^&H)9a3EiG9dU%l9;MGfz^F*cQg) zXSdmlY_k_J(z1NFV_90W)XL_r>KJ}M|NMT?o;a(&3+s!eC*rNcht)syerk@o1zE^yKk^q284(C#+!64R!5%!-Vg zIQo|qIVsnq3BS!H&S*(&swP8aUE=~Bph+i9%MtCG7OlVxWPAIdx zfGFWxGyDaYBuQg(u$3V(0s&vWcrM^lGF+;#;+z&}%J)vL6&_IL$;aaIV{byWJ>cS{ zc)+DnDMts}%#Ucp#QoT2bXc2kI#|cs+;j^5hVtJZ7p>b%|gh;yk^8eUggT1#+)o>z|;V z+AAz)uKn6$4@h5~OP7zGOP9Vndu**%MtK5W+kwBc!LOw#sy|iAmhRo^KT*F`X!c`` z_W9l7eBW$oly9zB=_`E_ucSHqnpP&2OLybyGXv*JF@K?zcF*hITE+vHkeQX2U(C1F zGqL)r*Qf1%ujZb6mc3e|X=iVGrGNit25jD>eKw)nxG|@`7hdq+^z5^5tr70_wbH)U zPNt^4(YocE(qZ5_pRFyGt`-N-J5;O*y+f7ooPl3u;4|6F+NyB8{D&)F?iF}DpqyVH z_yp@`&|5ulR{A;uzZUU%a8^z*@%kQjA&XQhsi}#Fd0Ld?YHXjE@Us3clROfyQnCC^TgCV2uTmWJu2{layl0l`z>+&8&r!-|Kch<`;%K>RixFWzUqV<^{h{B|8L++*UE zH5~s}D;}odxNqd|uIBx6VE7K#J_Fg&3EU-Q@s5iYkTb1DtfQim6zO-<1@vH zh8}A9yOMeIt|Z~vOZvNfS}lKPGLPPw4B>S;^zIv{L-zI?T3-Y`oF6(pKD(qjk#rHG z)1~^qqV-wm`(Fx^Ge`JIr|bVDOwJs7Q%A>#$!XyAcUdKd_{((pB_>WZ^rOqy#^@Ky zr{fK|+8TJ2D@f;DkPeMwkd6`)q(k}-(n0@W(#d9B#2@%O-!IzcDGBtovLMvu6wmDUHRML<;!oC?Gxi3EqO~-x{Mjcp7#Gx zlI_SYZniw{Opg(6xu&q7bY9+Q=A_rG=XA?5)>_Ja3Vr{GR_BE!^lEPd!t!k?39_xK zO}rRAhKuE16(Lrakzdq|Z|#{Bivrl>E~9S>6JW~Nrwx9pg8W*T{E9EG9Adnn)HS(b zwp<%SIygtYSTjB~Wv-jJOI;(l_ZaDtYuYxyQTL;P7uApX{LAIzRw(xr?=!~vZyf)j zjz_O-;H9}7f7FVHrGfp*ha7)Iw3q;p4*j)8}z{+Gh&10{u zv9%AqZ zir49I`o|1;elYn8u^fNg;5#>n-_G$LS@E#c_ob4}^?%G5uRQ-JTn|y~SB^h!jLR4^ zo(bDI{v!il$>Ug+Z=cdi*n#+BFy2kZY=P`(hi{**SN`sLzW#Q)^&NIo@BH2HP<;z) zJ<@-zLHdP4p6@k&z5ecbB>l*D&m-xZ@19qozih?xkz!px?6i<)jEnW%^K5!&-O#7? z-E)oyffZ9C$?sd(VYD|^h516IWK$&&Wd`&L0lf*`4%*T^FGio2DSs0j;6+dC07vM1 zE3t!mZE(@|XX5$yP_RaCVSM*w3pg{J{hZ=(Mi08P-SI{70vtSeFmY9a^pSS9mGB4~ zt36GkJQDaue1)(7a^L}P+l;2NASq42^+4=`D9D_j9knceadu^{lGP;1juJM_vV(_Z zc{1~2?VhAuR~n*Mmr|VtX`>xYJ#g&#Omr^%eC~jOx+*~ehF8*hH z{>FKybf7=KhQgkP6s9f32hM z??>&I{q{Pw%f@!&u$@z2V4lUc1<1)A$ zx&r@A(<1$+Y)KsR`ylkzDE~eTmn`1=CU#L$RBPn$gcwu(NfT-Joe z!&j`BwJOnhmj#)4-?$Ykr@gSJtm|l2(Y~wpTY6d7acn|+?AWMbW3H#JX+yIntpD3* zD`t4KQWNTONCCToH}2Wa3Oh#`)eunM*VHfts^pmx`KXLr`_k#Ut!+3|(e7!?yES;(O32=$sk=k9~ zCB1B!Q|qRI>|p2jk}% zf33YA#x8}v4@04g$yZ9T+E>1*zNy+*QWTGexxatv=-XI(Nj>*7OBa`jOIZ53(>yZP z*>fl|l8wIWueHs?_AWfhfF>;4P48{%rL;ynsP#H6OcOp7rk&RMsvWgm+S7k_QNCsG zu~pg#t;3(ql(*Svc2&c)iVRvsoE9r)n@{@}`P=vxoo26VJJ^+Mtg`#hW?Bbr1Y6Da zDc}CtReMI;0el<>`1d$8+cZ2%<-gs8Asgsd?i3+0Aujk66LH1-T?5FF2<3KB1O6Ko z`FU;^HIR<5*R%m_o7U;wx1U?{9RC0IyKFBVuUdu2{;on1`)2?CiZNp<_V3qH{qJiY z^Gx#i&&h)a4R~&~HtYMZv{|d38#r*_fK{v617Cj69$5X{05bv zeTNS1+yC>gEQxu3{&oL8Yag1R2f Uy)ztTU4_7Lp9~0f4>)-#RcNizOg^~#)?m? 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%0D6Yv7(LvLP!PNF2Ao?Gj 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

(REgkG{>&K^4E6edwfDGM=kAiv|ZR!?2Sg< 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%0Am+ey(R=Ecb-&8(BNFVI;~m_=QH?n6|B?#l*ed=_ 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

+5()5-dfusOz0HnZSW?q3nk0cT45f*uK z7^YEXBL*GtCWM0ch%iBckcrn|BSH#3Jc18G&8PIdq~P@!DFl;=mk`!tP)IC5;!P%+ zq0YdA2Cy7pHVG{$sAMl^p(!AW!oiXNRaRNa8Z5bLb*_cihG3%!hpLgqtI>EZv}$ZJ;t(yI zkIhypvtzMF5)67Aq(U)Hwb~hjR6$s85F|}mY_>`z$77?Om*Z6`IiAl`1P5tAnsX&ahb%C5llRpxqu6f+%)W;gS@tqWDE2K}eLy=i2Dt;Akxl7C;${ zsgSFUk)#+cJM}qO2}1C0O_U@>X^_7F+C%CHg(5;t>BCL^8{&`?@E=oq-S->=?|525eDSQ8Z#6s4ifL7^cOyc?ee`tLJjb091~%XgR`%}^(! zilQ!9#YbkS)fthzDj2iAP@`eG7=_mjT^#E;qK=)a(lRExVN~ExbHZ^Bp6AgLoJ2vy-a6fIu%H6G=mqyX&V3k!xpSQGn#;u;8Yn2{aXLz|) zMC)f?_trUdt#Uwo>zLM+pt$=Eb;^&JD5d38^_iZlnvFx}&0S*B=*oIJXRgky=?^1f zL)BuePD)kbSc3xcVnWqYj9!r*D#Xy&?ATD16l0JAuLUiMl{`)CL$~wB=@q1zCKls# zQW}lbE0E+bN=l=7jna)f-hhvzX=8N?Ic-o==pEI*AJeK<>B~T|{#wr5s)W5U-D1(r zU&UR*Y1vL|i3AJigFwFs^?c?O>OrEOA>kzABwmSfeQ%J*d~d=)@;J(2dg1MS`qnwU zn6fUggn;F)GCDj2lVRRQSV1CIEhk}j7ilDw5K6v)mmv&JkS?68_w40({0-H6v}`Py z4U{W-^)@dsjS)Qfa4rh+&4%xL*opU3-^cp4XibQ45qT0qeT#fQeL->@{ZY2r99e`G z2e*{RiSvc4?0g};g^Emf6v&JTc8AvUozSH?()SX4+1p04zV!W|&W3+9?S{@B0feiy z@sYmQNaRIQ5I+i;G-**z_}h)<4gl?izPYm9g4MA=xWXxEEp}Sz9h=Gs8qU9;OdOAd zz}_*1KpB>}fRxIc$CRFihG(9GhBt4FhovYJmL4U~lKte_qqzU*%8D`0KK=VR(YG{d z8P%P=yEHUC+@+zROX;v- zygA&|_xOVO$NN-|olcIBIC5nA?4Es&FPL|tuTDP$UWB&LfnL9+xrPm6IZFLGyK7B# z3+A6VF@Hf_bqzs76TsJL)yt3n2K~v_-;T6u%W1hSZJCYM?%$2a z>9Muim~lZcRh`ptE~gpHXz_~E zr&laL{l@cp-9~cu>Sb~kGCmmC4OE-)fHzkzKYe=n$~W6+^qWW(IR{yA7@X1Yes4d% zKzfwoi|wnQCD+1mm2KzP13M87{5xoI@*a`2v*kW^IXO9$q6)dD?b-9sJ-hK!|JuEK z`m{aG&)dn(6UWF+?&gV;^AP$diatCI91ENu5`sRUiRlmZk?+21-3HUN0LM-M%)@9& zm+thzU%>p3P)46B?jeo~8cD~wS>DdMEmy(y<_2@)xS8ByZWZ?k<*LV+<%1V^qv){N zy&i{!@=-|;9oe=7aJv|hvcnB1g%*Izh+Azt*D}gjcRN}=Yg;`d6QvDG6O`uR_M-`6 zKn0F;@D>6e1CsyQli;C!<4Irs?6@$%(zm z@bM0+CvdoY<&R(f-t((}uG;tQj@{S4-m~jEn$Xz4Ut?px{*8~tg_$iDb68x<{d|O| z*Qcvg3cVfAGAIvr{B^pu=R%MlTjFW&+gd$COIk@ZwSLy$ zL%g;CWz#e^lhaF;NOOSZy;Phu3(OjpU~?F)yg(-}ug&AId-1nf>bG7I9(nbQB8S}A z`HwGlZ2R&H;GUj8|LOV9rpLv#{K&s_3W__uPE;z>pf^RNDvkEJN}1+smP|%d5+xS1 zDG7C=G-FIsv5RjX>llM1CDC})T}(F0FZ4T zJ0{;yiITQVZl6~2-IQCVR;JP`WVN(Rl1vwk^lD5^R7i$gv%e{H*d*>Tn*42~S29`6 zS|Yb66~0iiHu_r%ah)FadV7+ei3iR=NKdc#;ZFb1jOwr75p>~=ArEQ+v=0t><3i95 zeg9FKsKoK9_6HJ%=-Sk za9EOVREcBwPlb!pjT})F-fUoJ>H2y337T(8AYc5QIVDQp92Tvj6{UciO8GANWbfyM zr$q5ag*cY~^#1ZBajeW@wo($*v!Ui(@&I%Wk z;jn>5lcAW!j_M1WVT&xUZRQ@wyM$uqb)$Cy)k?gs+Z6%l{!xIW5QyMKzB_pj(tDB% zh`fh;LKZnE6q67Ie4_47cp~9i_?3k8fZyR~iTU3#d-~7P6qzSRa8~&kfI^NfVRbQW ztpKubJ=j_v%=bhI_e9zLFOBnX3CGlld8h}9u9I?6jQsX1FNek8=zd}z*ilqJDYvg2 zI zrai#hJYI`QU^*-nLM1waEfn)!cLGJP$7M3xwb?F<$=Fg<3OIn(;{{f(RX&Ep?TP`g zA}v2Z1jjTz9#tf0@K4I1E(n#SLjDu zg7F0MA>0QO>iF{R z9dJ_413kx&JhFO7TGi;8H~t-F(rl>g85SHItSLwcRx2cph){Q(k`DTTG90Y8dXbi+5Y z#a?KG@0~LK-<^EtgsWs~(@`w)<*=Bzn+M=0pvxlAm zNh=3Dm3X#dxHY~gCq6W?VxdmzXthpXim7(qFm`0IY4qp`$+o$Z$Tvfrj?l<%gFVi@u5kPw(gTMbB%`f?IJ@RPEMZ3_d$#}pWn#ka)kjc zRg`$W%Pd(%Dc+IoGI^ce1Ukqme-(uUob6>FHVtN{S7$Rx21@)+HumjUG`sD>uCa#F z!v^5Ik@|G3-8d-RpvkXLk{c3k?65e9Jn7q%+Rmj=j_<8>L-J`Mx!>S|&XtvU_pARM z$8QuS_6$!*jU@jpRUQoL*DW0?Dt;VYJmeP*hQWD3IMwXv6IubE7{uL<`U-=+Tat4C z*|Dku9}D#7m$V(rI4ApB?BBiF<8`qKO4d=^fcI9Y#s63cE;_J0F1F`@=MvM?pmsSL)UC?X~`(is(8 zkQ(7sg&=y5bVZo7v4yGJ-Eir%S!I++EKdI>(-yPE@AAYRU2-5Bud?PK|5Fuv+#bHriadsH{tQS(mP5o#{0i8irB9m0tApPfZ_6 zP*Ga*Q>+bZIF2tD&d@e=;5e_qHiXD_Xgw5QtwWnF-{=$^9}V)&D1RR_n%(}JmXWfS z`DL4oTKYuMZPOpY#)RxVRNAGyyz|}l>xTR5?|=%^nxBM;rCD(>$Ya8e+FBn{LVZmQ zc{S*7w7I$>+FaJGGJZe1UBl3Z-N||$`B=M~FId`=rL?(di`*ASxc6K2h0~o)r+t_I zW}!E$MZVGAv9kR%^b%%-#K_1jN-_<}^h0lc+7TuEQf+OK?qF^0-+~~Y!u5y}k=okk zt0oV5G%l+&v5b*bTMJHQ(D*P9BV_nq!`Ik-KVQafKXxfA?_AcEUb~c`T$io+n;2Y~ zR)k81HBdYZYtYj_ikV@CLT`Z?t#ZY^M*wVPiXe zh!Rzb><+EOY*%hs0Hm6Y|8~S*edqG>E~O|hJHcOlA?o0-ez-1BeFLDUYHJG&w6z}x zk=H5F4O04`wiY|g9=OkvS(-#!OP02aYreo*g_YF;bpe1DK??$2`XaPLzM>=W)Y?hEcZ_dWM7?icO`M*x8qqQL?-NP;xT0yiD- zaegy0Us&I--|#t%dzW$^KC#t_V2w~fxXj5W|KvEX)i z?QW0F0|v8;CZK_4TBgL5t!TE6k*1?b=#RciW~zB*Gl4Bm5(Ub89CYHAse-Z`y(__G z_Ru2iR;E4LsCdobFf%g}ov~?|ta=8Q!wn`XaofGJ++mk}5=^Xi!AK>(cuAl`$7b}p z+1+LIIwbkezm+g;o7*hkU2cJfQbj}-g6wY5MmY!N7e!#VN;b(XCw0ily>4&d5ATAk z)pjA9l9|6K zJanWLq+w)pM=3T$snjdu^qWeC^q%{wCBmYN4UZK&eL8QPog5f$fbqG?y#AF5aPBS9 zHn3fL^qmM{VMF6ON`|QH-<#vLs_gUuML!OCD;y0`x$HAb60^w9X_v01h?az?vPn5F zgi2{q!G>@#2<}(oaAg=-uY-gLaw+`nNYu%UC&n4VcZ5$2uZZ*gK0zuGRr-!w;`Ps9 zweEALF|<&O9pKxBqr=0;(e&zYLxgbUrBU5VCJgN_y3-2_a%Z{Y!_uTtNxH#GU8=os z%9MWf_4VOB$F)yOQ7Q-P)=4?a$adq#6^cFkjlJ^4ebHpvl*v`&a-90qS0}qAtXNQU|3Dxl=p@t|JdeTO{d3&Ej@#)H*D!nbPEJUa2I<~(6Dj( zZ^qifLj>JaW&iNnwh2niFZz4Tv!OK_^Pa-^)RnS!9t&CF@2jJCxLs_W2@s!nPs z(g|;8iQXq%MBT%60R((=(==}@A1Ok5$Es2 zy|wmb2by<5vAaG6{_*OBYRMlqO-8i5XjIHnkBz$4hL zaac4m&%HQ39d5{G2e#aYsY7192qK*a+!`v}>qQ%#nc3*kn*xntgWTT;4_*RuK{0{6 z^74f^vXI=UhnkZpX6G();hQ;Ne)4b7{d#X82Ly5#On0# zNoer^OnN|Ue9C*XNtc?O@D54oQdO>@vqQK-mL0l84*S+XxJ|k<97c5|=c;V!ojkEM zHoMRzCyL?7@4s~=u-+?&tKx=p?Cea&Q0Y{S?QFjGFy9jc<38!&HGyB=4amW!1lj)M zHH%cRVaL@!4t2-N0G%R)COKTU62^uei8h(MROw)_z$- z`Qg)EQNB0s#Db1e$K%~PIGPso(Uz)I7MC&O1nYqC? zoB3aa^BktQWqYEqqigz7ZSz5H9k-cspzYiq%7vcdp5~t8UgqB5-saA8%}fvV+Rb)4 z)q5RG?O+|i{Ccf+FE-Ih-^j4;wtHodAW7tz&!W-cPH?mY&@P~O_u$)sW*W#k!|jm* zAw~l)7fjV#npw}1%8H9*79Dm;^heUPV2A;i-5ak0ftlYOtuB&$F?%TYGka`ikC)v8 zmsp^z#_aW99HN<)ZQ zb)^F`f_ZdFlnxe+1qp?cDLRWTCPo{tgJ&kCMh@IC(VjeDPL(#RaK0M~9K&#U0V;N8 z=V$qpk!chArY74b4mMx8CIEnS7iz%rM#;60bIgm#X;Lg>l*-L-X1A{LWUqGr|_soR$-jlN964 z3{z4`G1)sb=RhB2T}tN;ar&TedrD#FELDgh!3>)oQZBI%a+?g2CN8^u_ma3sM|k3P z%fQ^2P|1>-SkbM-s1AuuiH%+qiuk#T*~SU8dA@C!SsfqZO-&lw*Pu~HWyhkSx;Smy z4%)c<;!Jz4vA!t2N6NfT`mq&j$`o_%d$?1`!eL8t!zYH=GmEt&=^83A+BzdK!WYrqX7Aj;~?UL5y!qd_8=}0kg&YM$1@tHGNcwpPH zgZqzfuO~a}cOTz>@EHHe5rmE`AKz!fkf;BR(7#{qTTg!V0tr2K@Zd4{3A_+gFWW8m z-t_Sg(7G`f$5GV|sG#FuqL0yPbO}a_mXa^FVu#x-Z}4Yz>s|f_wmTV0J9A>+?AbxE zmej9!0FJ=o#bhL`pR&CZgp!{+k)I(%D9+D!4IR3*7aa0^_29#c$oKH<;w=kc{NY|( zo6o_iPWAPjZsA~yR7!CWN1@QV*h$4~pA`99KniHRt{|{ttyPQJ7IZlA{G_>aCy}Kv z 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 CB~5DVqXFmC> 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

& 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 z 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

;37*j9=X|q=Wi-y~dkpwc2 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

Hw=D%ffde)9nDx!Z8qcrH0c0h`6 zq7aZrM#cc7aewak;JX(J#pTN@ywc9X+SYFt@&K_jr*{{bwNT7*Prk{-Vqyby0Vq&IMJgmw zz(x);o0{TooOyd4JOYH*pTPfMgx{y!%G|ne?yyMR)e(3Iz_BB@@TJuBNMJ@ct^Rhw z&@yu8-k&Cf77eOe`uWfm)BpHjX-LA%vkVx6a_(@kYBI?YnS>rO$+|&iZ_v6r%dBZ2 zvXLvSHGxKw@LX(ID=G?!R%`(T=P1Q;3Pnj4G|)qc#4HRp2yOh5!D_kzG5!Vw_@IXu zBZA(KK=n@R^u2FwVmv}X2rq->{TU>;dGqR3JOP!;t)ze@;OFWLjPJeaO@;xVeF1JiE4} z*Y#h~*HEKSeF^|QA)32~&NsEAgUw+#5-daCe(Zi;8L21jKr9P%l~Wfc%99X%iMZDq zj0QBy#X+gm*eg9=PHkv~%1d9|ePO^CKTVUiIt@pq^q-uaH1;TDay|aSL_n4M(yZNp zPQF_MYlQ4vr@5)A`y%d<`G;aV_9GH+dvkBybf2G0$~_n%7StC+e8oj|BJ&d?sYs>N z2YN%N5sAQHrbm4PJ(_qKJ|c=*h}-rG*$Z-ifC}1i&Nw&A5mNaA8Jw zl8K*4t|OQ;EsB`cnOlv6gU3{!jJxwIK0Xl2A>p%se={;KW7J*-yp6eM2+egJKeI*b z8bULDZHS}RRZA&n9horsT zPvfkR6T=D=N&|(gLh52;O@f3p(8XvVpP(u#DhmEh@c0$51^E6)kllSB+{?E?L z#sG6HLeOMZ;CIT1yR!MnS%r8KDVjo0{-XO-;L> zBXsvORsTJ3bcJ#9A`oqDebG>SuZh{+WV(Oq!aq>57@a!;P+9SL?aMEPnm6b>mc!}Z zDo*yUByx*IeNYb~Y7>&+ixkza%>gO&o_sADX7dvktAH!ZeiR#H}1&)iYd!2Ld zjND-MYhfTYbrGi;X`l_u(Mhr=gNSKKjLu-79!!4li_3TLz9a1**jbiEBFuh#_|7fX zivAn%^3=BuTz+u#&KZ<~0ovMUFw=)KOr_~0K0u^f1AZGh+esz#XOoyCq*+@KK;^;c zxqSgH)YlbKYkuQ~L`6cQ8knZ22-G@dNDhAd&C?s#@$gW2Q0VCtHp+WnSQZiea} zSMLLSX_~MX;4Q|t{W?BUS0|wTz<(z5OeK1;<8uUXF_<0*DIfv4({*4k(Z$UZCyA&2 zL^yf^pnI^!od2bbsnZVuJ|hdHi* zD_hgHo|}RZl#}uQCA25DZ6io|Jz@#F{SKa_HszNWq*Rq6R|&66om5VRsWk@D9HXaU zozNyDF@l+Gwtmw}`ir)o5*{E_UR^n-F*EJP9e7@~uyx${U*XzOdnZVllnu;!RFuQK zq_;Xdxi~37COha^Wb>W54 zShO=UnaYjwRmSaIp~#3n+Cu*&1G?^m&4S%Jzwf$x%CthTl|40@4*z~BAcuGqp zp=BgH%^Y95#}96Pk=YtGlt88Qm3|49D5DdSAHPwpFrlUuKNwbBxeR}`ej!5N{zRht zEyUdDoT~lk9!kMMp>P*xr0+6>LI{7hTeI~KV!q4pzU6xaUGxyy{J){+kVv?TecWdI zpXdRBg!pSI%k_Mt*33Ul<(-qmcj5p&l((L}){5(&x$91Ruz5LhXG=|9_$QE|o9*x8 zb3s9y*ETE?bmp=y-u|!WGUjf(_P@<#6@;c*5|4UwJIK3xm{z5fS*er+M^a2FWNA3m znsV{wyLf06ME}z%)8nAXC*J$Yx#Ma!gw^k~W z*N9a}=y9oHSCVZYfk=wZ1w9Z6+K=-V#r63ILZ8y^vl)-esxt8hk6inqlOk#2zg7J? zn(Uc1fESo<(p&B$$cB@*0Dgo8*a@M7&;qvOQp)9{!~Wo8HoD^xTSjt_kbjm%T-5+p zRD;AUU0efgNbVygw~{!sN-2iSsHm_W_=P*1g%{ZQ8NLUPzF;B2ZaO&OtN5R`kloY- zpTJ;z+tiA`K(Kk)XK*__xyK#2c$I(ut*ql`p|fx^kwpOQ9?@MI8iLLUd?0F~E1g_? zlm3l#fFL*(fdY_30tBbDlmz?(?u8Ki0!zm^px)(Mn-Dregq6QAuFp3JebNTVEUcX{ z9xuixxB8TM4PB3~O|PKz%R3&kXW0z`k)SW#t0!<) zhzP)R;s0W2j^(}B0;F;s(WHn3bgrN$y6mi-WD@At1ksTIE4aU&;?kLm0X{efaQf?q zaz}IuVD}DvRPOJsv5~&O_9Lh%jr_DDfOv@5>$`!#{v*?_;%z73IO@?;baHQb8L;?t z`(7q*OMz)4KFY~@60y7CoZV^Y>3ZEg!bm6;^490tWy>aS509=lGeu%ibZh8D6IhTwJvp7yi&tU4YC6QPq>u%j~tC)G7#khX6B) zARy`j{H_Tz3~ZfWG&;T}YIXXr^Twv;+z<*O6TSm5J;P7tj{p3?e>4A5?MBI1)HQ0eLhvU7mqF!8Y8ke%H*~_#1Igm=Bf!pWRef))g#1RPz8o zWcxO?ZJ3KPz&+e#GPD`1y<{=*O9AYL$P6kTU&f1i#e8Yj`R zSGcv$yKTN)jvB;1VH?H6xaSdal|o5EA^p)Sjl}7}3S5XgY7vVgfP}--c)dvTb|XYW z1bz>nZ+!cG^BCU=Wn>IR_c7#RokA53{5Vq3U`IMm#7z?cn|~T27I$=CWk%uEGcy2xI=WCQaoKu0qj1p#y7dw2O-q>#9fwFh z=*N!}pqJ4V8B$fhDl7<=Lqabb#kgN1QhunNxpnptF9pt9Sr^f(aPox6hWMC#NWiBr zP=4cu4(wuLliY3*uqHW8Z_qf4t@$UmG};S@QQF9L>|$tHm@I`h>DLzOf5l-glcxL*Lec169-=mpeD-vTBav`Z1 zt$E8-(R$HnBRcHo=ZQYLyT7&QVk@M5^;PMR-E-f;8GgP#{=-109QV#1h{e}F823y7 z$bx;2E{Jlw_8(dtJ0{A-n>ZcjvJcn>v69S3-})z27hyo8kt27|8}uTI&>aa9RvPrr zJpeqs5Mqws!n1MC@{_P-MIyZQtEd({J(0WDv`6^<9G@}bE%O0poh))&!aw^eVJ`_Y zMZeN+WZ+E9Bfy&9VZnnH`e0S0Qj@7@E)nrhtrYT5x^&Dx3x~{S;1ba2p-o9jy0>+9 zOeVV#)wtnrE?!HsjfpE7?h;|UvMR!-v<9JwK=u;I!Dc3qM0C3`ob4;AnOWpAXGB?0 zNGO1J!t(8?qyR=#1-R4r2awD@VCIXR=rb(P>-0Kv+f+!ov-HlLrNUPF=N-C~*3r@N zOlZSC6a(?@n*xD2le5#c>~Bn{XdIDUA2I@0t*V{5&;e_2Ub}g1c3QUZ+_7VqK(c%} zl|?hLLLEDW^F9*M_@@`tV**LM)mhuHtPZe04$nN7Lqe+bEWU@1Ln91>pRp7^8dg@G zhfl(QTPal_->#d<$MCIW%s`Q~z>4dLLIz{3Gk9XSiv$9jgtJZ>`>ejvw$2%qR&r)A1YA2jUQfhP^um z`hxtYcJA$O&Nd}Rz1B#75pkLovNEJ(0$pj!HLwAI^*HF#C6d{*ArFcm;S~N6 z|BHln<;Uk*;PfH*H|{}zR&t6w-cKqE3tDh1qegiHbHQsdzSm+PsxEX(kUwjG$@PvyaM0bPPKo-%e<2Abo z2MPZ=Vj#(|Qfr}tm9c?6*XXAK&5UX*Syk%|3)!fkI6z-qjEZh|jwsVuA*}1dYT$p^|eh_-Ju@#F)N+ zz*YEQqI{dYh?!43YcTe&KRlqOq_D3A2w^5%!S0pEH^Y{e36R(oPZT6ZIq>mB%4vX< zOx&_Jy}(G6Qp81+c&vdd7vtpk+sALi8*t@}=^FqiVihD{p}wf+G(bPW`iKb7;<=`5 zScezjnPiS_RQAF){=5LbLL>P`p>kG8iK zwk|2V@yyYq8&ad1W71cnEAM>>4K>Nqgi>gN51!n8_fxRD4WHs4LGkIgxc%0<51&-Q zothe~6?EBBpvaQz{zYh)b;WfF-C7)A4Ai*LaLjUUOT-q3U7_+&A+aR^eiE5=8}L8z zz5PE!-s#717i;0j$%4jJ_-japlzErds0@b_-Q989m2mkme!gwQ-gImLUHhQ+#^^*; zghGY2LL$^FT}cAa&>-YTAl%#ZBvx0Pe&6&QYKZ->XI5L`5it56(3@!q3>*9ue*$|J z1Cu&)MmM<;{nIBQ3Mx3xh^gRY1}@ObiQq`k6=-Z&MrY*3$8Nm#{+-$R(aiuUQ>(wb zafA5A9y`4Du5IqFB+KMx2tnCPU)*T@@;rF#!51KW5B_pjd+QCbt!_gZ4Xd;8w(znt zo;R8!h0nPhDKW3UP?w^sur>s;ksOJ`vF{16Cn@9kCwWUDfOdvQ4D+X(VX5`Xcq5akWvn;6wA^h8|3aqArt@cDI?ToA zEq7Vq_rMuVpzFzP8Kya=aP*Ps0t$!kN1Gm@exo>9k+D;IP2sezF-}knQ5pP6iRaSQkb+bR$96U)LXZkb`_`Z zIJ_ksuZB6le^t2~t%KDkt~Ol8N`MVbu(7-x*S2NL3zwod_u!ZH_%;Z;VwOMAr;`~u za9X4ZP9_m*Ib$MJS=;DjI@TX&WBa*>r-3`rBH`=zvyLXf*rijYa3B`TVejk;m^>Cg zhGK9-P7Jg2#Ng4*;16ff22K~b#NYeS)iNF>@WUF6EHPP2Fw3FS|2e$iN}}ga!O{2{ zl*~$zB&>n7y^HJTR)jQ1r>#S4OA` zJpg8a>hl{a^|fzcg#U)}%cgXqQfF84{{ph)cPU;+eV=|6G~IaG`-o z|BeXjpGSzv;+OdT5d>pkx)bbl`r?99Bxr(|yES+vZawoMM8j~9;rC6)*>jMKKP*ju z=NA69$!RW;WiFBB6jo!7;lyGQhX`agB1U0FF%p+uT@B`UOxU6~KSHM8P2XQ%v6C=W z1o=Sf_rv7(?aScg%spt%hJ1O$J6MJ;423wTNPCID+-mv=X5O9OI?31Pz%-wrSD2c{ zpx)eGS*xxbsN*veNqstmeTmjSxE&xra+;*1-=HVhAfc%ZOvtVdWwcvE6P}1y^W$wN z<8AKL8`TNbP=Hk3O>abKMv_&9N~zIG=fYSCmD>^c?GKShp1!*wr+LegrSgRHa2~KH zjz10U;7p|Z2mU8}6QYQgR)2F%t-A3!{(1(Oo|;U6EVTq}5okGw!&uD}pAdeyl`|oq zp=c}>Qbeb96;qyUNFi)Zo52ugv9_@WxsKF=YAvyzKx{w*muZP6rEqvGGnm+Ybo!QJ zXgy0};$beyF9CWqmyfQJK@z0*gku;&hwT_h6vceR zTs;qF3=r5QW5h@LSJ|J!3&6ox_ojQwA-ME5{sliJwOt?7*Yqpu%Y19vJ{wH`h6X$f z&+W>If$VMW?VeY0hRBmzhhC!>>UC0~LPNLS5T1N+_=x3E(1T$A_x1rk1&J#m6Cb{P z&K>)~r_&Y>9+rsD0mK~G^5(qe`eRLx@vqb0nmaA&^hwUg&3@o%Mo6S`Bn-H60XIO; zTO~>QvekQBQL3)h_v?3Vv9H{)pfN;VLg$}I^FNtC+?;nLG6SQtVnn3Y3*f0R=mX8j zQ_Rt%HM@unLG#`IpeP~R^vr0eIhC#Pr)a(n&7D7g?(BsNXVbso)C$;rb~C_{Bis*q z>&R66Iou)nsqa4^l33uQhj=eO+WY}p3UhZZ+&mjrEX`6mA4xL!uixb?ciZ;1lU#dp zrJp>6x5HnFj;wjyXA@v_A$267UTAGpxVVbMBqI>ZS1CVQlZk&};C;A?zb{&b|GoD7 zSIbE~Y()bK{w-|qK8QjVV0w<<-B&EU9{=9?1V)Z8=Hx&aOgGy?9+^i$qm+Z#P=-zwv}&@`&GP z%|_1{m`digF=qoFZ)#L}l?w-$xU~$OLPMV}kdy;*cc70N*j}VI4T6gxCB=UjsSJ*e z8#fMrOFq0L4&KxBPY{uR`W^p*geUM@FaWC1c7PG2hC6g;_4Xr9pM3NgQ-15t1vB=@ zCpp)eug!rzd{Yxg&@hmT*6r!M`T=}BzwEI$9mY6j|`!QvGw08hXNVf&#yc-Ci} zzDE#$s3LR_-&Y|nE4py&Nj73vDhiR1M||9>aTS>UMblv-#H~LL!d<19ju7r=Qstq=<$P+;VePI(~}pfqR3YXe5u5w{!8v&D<-~nnoOrktNws z%}IgSwT`;x_5%QF5aU1IB%uaJpi?<=1X>Wk4LB6*7;L)w4)~egiu?xu3makZKX4lX z?05_;7MRyv%2^k_CmG2b)R45pL_hbbO=Wa>N+P9C39W$Sc+ z$nrP@nS|k}s5k!djmu>otBBo#S`fe-Wd6~)cbx7U7n*-S{qDPP{q$+P-sa0w4s_NCWS^`gU_#@`Vr%VpQet13H3r3 zV%7hk^=R7hEHrTId&f?HM8{(~&o?18ft7$BUZmik)~KCDv`I7VAE!}q$M1HY`N{RK z=8r-31peucQNeYJ-~hf>icb6Qtsgw7CRhIrF!8F0)iSZ(pv{?RWRg%E-*z zzw^zb`Snent}SX+WK?*}Pr$#QU_SGK+oizo+T>m!)?4${-L^NO1ujCp#7b#JP#dL4vEVnj@%x44OBOFjzQn|Q@D2RUt-E(`(eKPByd@%EZdF)^^Tm+&|E2Kayz_az`$0#>Hse9skvq@YOxw@7@d^4 z_W677J;eL&M~w%RHvK)}gOY!j;Oix~ZZUBs^z=VYeqbcyY$W6KAP7Y%pnIcvzL?Gc zq2W&@=JrU7)G9c!Zgg?^@O5hn2MruT@PhU7ErSLP8MbFP{(<$xpTrNyN`w6N$b`tC zA)_nP^ZWD}KX}}D63@ENW8QD#2~wFkzDVIkbJO(g;gNT)UcK`U`eVt-(~C_L(f3zx z-@3xkMt6`#zCV|IpTpp(Zx-A^5qJ6uksXXctdfYape z%{WW=p#4k<_>!-X`@PU&W~cCHZUvC@Gl}7~-XApl>D77_voo+U?Z~Ce$HGPi1P%|I zI<B>1Ke$I~^>7GhM-W12S!8<$0-D_A<`$oS;8(ecE}Snh56{UE`v){_%lL3&!}TM@(q~(WYIMc-x|) z!6k*PYwyS*-+opQh_^9uQzs6pA!Xg|6Bts2SO# zN1P0!iA!T`H*ALNA)%8)q9+>jr)q8G%?YQopVDKox5PzU*=9Eb1x)wOStEp zdR;eext4BJ2$UMedi;3D(#WP&tC}K*;tzAP2j%Av%4XlmFfAM4>vwq5hJ$|FpG|3a zN_R%Lkuh(PG5?AKgu#?IE2@cew4gE)?1_g%r;>&)c{P1N`QbZ*L3{o z97N*g24bU~`B_NwGpQYe>cMXb{sCf^;b5+HIMC>&pFz--7o|?D9p7Iglr;& zG!zcbFJwM%-n+NCe#(@34hs@qn9sTUDcsPT>m+8~CVclV_ftDPV9o*bZS7au;`w$l z2SGS9VFHa#D_1r}l|oPs4S?uJ{2o)5`Ip!PkWTDkw(vY(Iq)6iImgyg*r?N^X>{=> zG-c+JStHJz5uQJiiT5WMvxba=?93yaz6lQ#g%*6TQQcoV3Kxzi%FQFX9g#S4II{re z;D+qX>QX2(EiE<#HF8*>18re$u+z9P{;u{rhEw5q>EODNcq}?UJUntK+EN`BnVeoz zV_yRf&3kHhYW_?XO89&GMnAf_PS^n>@P^sZ1ix0}4b;A&+O(w8zSU%&gF;KL zHwO<|KwbawC-rS>gqEgXkcDZ9fO~H^i4;`xnQAMsI9ebuac5e>268P3&9V}s!Clu1 zJDxEU(KsuyFtqC$u_opqsw3AT_-mxbYrsjY6}MhMBBMsmuMZI8VgjvRMP*0Ctq@50 zB?8)&VBU;*OP9@`KCkuZ_i4Kal{Lq%neVl}_TmpeTpam-NIMs}s;YdC@3r?i`$&c$ z@=^pul;eXp9sw0FABdO?k{~FM3Yjl_Ac(KX$5^QunU)z^hGl)S@{SE&>GtVu<@6G> zvBxCV%=J1~>}pLG4QHSG|F5<7K5K6{bLTU+&(vr5p5OZKwf<|Z|Np=CIcJ~8l1}aX z^uh)5!2jrT(hJfb}!FMdY*u&If-o*_$`nza4Y&S9;@c8eNK zKhJ^7E>iXej4U>XU{StzUfG4RxzB#wHa8(Y`Po+OOVU9e+tfICbMQM$mLAN`ZVW#E zw$k;mki(5SDWvBf;lZ8!hmgZbCePvW)dG37C53zAM7ZSpJgBViEl|j>L7*UGS)jP5 zz78XWOlHZ`mCg3SP`lteD53cN1dWZ3G2-Kjn0<#D%)W>k792ZNu8vD8Cq)xo%7Q+_ zqAKTCK07uoEje{z+Uo4=Y@5xs={0h0jNI9G$fzfV#L455f+OcXcA&J>ukV2Q;o%c= zE>E;63wJK1exk7l^2i`s%j%hyr?*7nbU4$UX<_MMiZDpnmh$tP);#ra(^F6F4hg*_ zBr*K>fJfKtEd2N2n$R(W%NJA@msAe7Z)-Te>an9oAKQ17kb$Y;Y3cE+X1UU}?;U;C zu3XX3up+DWU(NIFvnyVH+O=jv(wdx_+NF0^EiRr{IVY)R(&RO%+Yb~e*ZuFvs#p{d zxL`o=`1FMAS;<33CHD)c=;vQL!<7fuoCE841B{v7C4uci*bi`Epo4)c8-AOe^5c(n zuf4WxwW<^+W@Z$+zk&1{fA<0wD;GliU1?``VQB@9KSmK7A}(6;$$<~Zgnj!mGZr7- zn>jdAK3GoPFLeL4ye~~@vAKPXdcz;~GCt)x+2!QF1n8^ah*3h1(psaq&QfgbX(VHm zuN&&2)Yx#uQfu7%3XRX?Snu(<|Njx6yAP4y&;Tuy$>6t#z;6ouR0<5)!3Iw6Mc@OL zU9s|*y1G^}vZLd&`_0QYZnUb()>`dy`Ada`FO~lR`>_CQtODO*wZpSZOn((Ny|QY{ z;?>ZUWM--TV1(=#g+0C?_6QwAMoB+HOy@d9b*u!q+xu@P}i98=rs8M_zCA^ z{N@6ENZ!EFO0c6e$yIxjeGZ;oLJZ6k;5YVX}^lW z_9pcfI(9L=#>m?;GalGmz4ld-DDTP5Ev;LnjF=^v+6>g&^azc5dn}^rG9x3R7T1Cu z<=&~&7V`3`Z^LqV9Jkj9zPSVToA>@q<7QHU;KfS5d95^{*n3$fIu&|MMjOAHe%$QInkp=r_W1D8kQ0k zQyk}%59X1iviJno*m5j=7i0_`JZZ`n?c=<@C1Xp+j$Mb>V)vV(EceB7j**0o$F$Ej z+N1EBKJG^Hs|J+{tZ%(;?g!Cp2#_Jhvsp0VgyFj+F_3%)#DuanPCh4b1qB5&_wAio zP;jXRR`ajJlmy*_2-Y*Q2O%+rO0XfNz4946AB6@EZVPC?q8l$P>{2{ zEso(JIhILuPwejSS{v)&2 zHDr&JB;jl_0pkNpu6V6z5~@2RiG&!_lcjjyPhwAiW^MWxX(%SJAnpF3^q#LNtvdm-fS@T6fO!9jh(M~|90CoRoS zaj=OTnvxkA5RjTM3a;NLc=q(tGgeB&uHQ_Rr^tq`CBtG7H`Fq z*}!eCu}0k=F}OnCz==ux1c0^aS@}U5p?MLmGJrlzmi<-{ew%~0b`pWKv+C_CK zw+)%MV&1r9+q=}x@&@v-wyHRTkeaet8>6vQ0XWr!CSK~5<^zW5`GfGeSkP9V{-|wwtP4+J zAp}396%rcjOvcaA#H#Wm@&e^Q$?vst*{R*WB5r3BIp^X*t(gU z?hgsBi5NV)F#nDU5?)j(#IwK9?{1>A+5Izn47DwJ?*%A>Y{g}z#Wqr<9a2h4%SyD@ z^_v3A8(Uf$?`}MDM6USL+4ir$Za?esNW-;TY%khB4~&yv!lz!*ZwBJCgth~ZwQV%` z6wZ&rS!lJRFfi^`59Px-f6Mb{TPZ#xU2aN6K2_IiRrp)Gz>k^rz?q(LufCb<+bsHK zu5UBxcWL#u6vwha=dC|Wb4fkCe!LoAkK?bu1FsKP7X`*iYv)S%>SBB~m%g?G#!|$_ z@(EHWZ-dVj31VZRd>ZFFpwC5YEM`6MAYm+CeKXg$S@g|Z-)7R^1ARrkQ$DW!AW1>A z1=ZJc{qatuUi%T;eyhcP1lPBk?4Jf+!1O`LM+o{-I@hiJkmvQ#pYowUWzpB$3LG`y zPYv{Os1H=-O4U4Q^H4v0El+suuP_g#Y#zp(Z93%CBY#o90`1R0-k+0}{tV>(Ice(8 z8JHiH%^T(MoSy(bh3XlB=ZxT=L~f@O_zC78 zIxhu=KbyI}&7yDS`ZkmP0@zu@>{Fh^`C;I$+-b^E|)>3Xn}E7&*mxc&wEUVSsyw^{VfT;FEVM{s?s zMIXWSttLJFon1#4_$?K<^VVN5a|b%WyQ#9`;lD}b_!agItYoqebVb-+UeDW~hH=(A zYUw&|Ae+FGX_UXNmDpzEd|*4EcbN2Ef2DEG^xpZ<_3)RiUC1LY#>rCP+XVj>>w55G zyO2i=J@9RUe@%L}j!|!KY-79z`^?rN^edg)+XlRkz~^wD z1h!g)b!+H>_pv`|aIe0Z>)R~)X0C6u=p(qk)uNB!`c{*EuU3t}*AART^9;`40Ulwi zG+$#FVIS!`$jNpPYl-dP^$2kv;SLhoXM*1!cTDB& zG0$aEUJblP4WRljfR^cc@cZM!d}MN74ZOxS-{87lqWcKl?cN)$ec~JuT9?AiCp>`5FZJ1_^&PR`)XgQ9?i3fAZ>?AFqHP?Ke&H)P;4kv>9d*>_c{gJs>Nr9rP#G z(E|JO0kAg#MsQlV4z0J*&v+H#I_S6hD<28hISriE^T#apd=;`ZE~&1;2Xh)GA)5GOpLD^}x%8ypyWW z7w|k`9*RW0I1j4bt7rX@pg*e0^(u_(IbQGXA@xBjSxEU1;3rt!wjcaVs(R?VeCQ|l zqNo1sMNj={)}yuiMY{{Fm)fd@hjO zgW*hPf3)yU#vu-rKt4t8 zG5N>B4gXm67k%)n0*?}ShY#K<+M)C4F|AK4=j+phbxt0&bBX)2qBjoyq}-ij(O>M& z@0DNW{D_5jbZ?@($-+As*Q$`yelmW^J*8KEjd23!9_3TCqY%;mR&Mwo^0{(d&|mby zx&Mh1t{WwA?te1C!nyxRG+r0`$@wK8T=ze&Tb26ZyB_OV;Kq7BV$omhez{kEm2tYB zMJ}#qk@NMey^Ngt`8)3are66q#(7`tL}!X-VwFn*2MfxP)=+k>>9 z{Z0O{a3Q~&^%s5ct3G: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

  • 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%0D#9yDEj=zS!_Z-02w8KZ? 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%0DGvXZiPca8 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%0D&K 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%0Dr|HlDWE> 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%0AcR%}&lLWea+eWN?q&^KX%T#3d{Mb` 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%0Af2M@rAF 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 literal 0 HcmV?d00001 diff --git a/packet.cpp b/packet.cpp new file mode 100644 index 0000000..49165d2 --- /dev/null +++ b/packet.cpp @@ -0,0 +1,192 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "packet.h" + +namespace { +// CRC Table +const unsigned short crc16_tab[] = { 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, + 0x50a5, 0x60c6, 0x70e7, 0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, + 0xe1ce, 0xf1ef, 0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, + 0x62d6, 0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de, + 0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485, 0xa56a, + 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d, 0x3653, 0x2672, + 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4, 0xb75b, 0xa77a, 0x9719, + 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc, 0x48c4, 0x58e5, 0x6886, 0x78a7, + 0x0840, 0x1861, 0x2802, 0x3823, 0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, + 0x9969, 0xa90a, 0xb92b, 0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, + 0x3a33, 0x2a12, 0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, + 0xab1a, 0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41, + 0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49, 0x7e97, + 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70, 0xff9f, 0xefbe, + 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78, 0x9188, 0x81a9, 0xb1ca, + 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f, 0x1080, 0x00a1, 0x30c2, 0x20e3, + 0x5004, 0x4025, 0x7046, 0x6067, 0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, + 0xd31c, 0xe37f, 0xf35e, 0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, + 0x6277, 0x7256, 0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, + 0xc50d, 0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, + 0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c, 0x26d3, + 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634, 0xd94c, 0xc96d, + 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab, 0x5844, 0x4865, 0x7806, + 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3, 0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, + 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a, 0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, + 0x1ad0, 0x2ab3, 0x3a92, 0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, + 0x9de8, 0x8dc9, 0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, + 0x0cc1, 0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8, + 0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0 }; +} + +Packet::Packet(QObject *parent) : QObject(parent) +{ + mRxState = 0; + mRxTimer = 0; + mPayloadLength = 0; + mCrcLow = 0; + mCrcHigh = 0; + mByteTimeout = 50; + + mTimer = new QTimer(this); + mTimer->setInterval(10); + mTimer->start(); + + connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot())); +} + +void Packet::sendPacket(const QByteArray &data) +{ + QByteArray to_send; + unsigned int len_tot = data.size(); + + if (len_tot <= 256) { + to_send.append((char)2); + to_send.append((char)len_tot); + } else { + to_send.append((char)3); + to_send.append((char)(len_tot >> 8)); + to_send.append((char)(len_tot & 0xFF)); + } + + unsigned short crc = crc16((const unsigned char*)data.data(), len_tot); + + to_send.append(data); + to_send.append((char)(crc >> 8)); + to_send.append((char)(crc & 0xFF)); + to_send.append((char)3); + + emit dataToSend(to_send); +} + +unsigned short Packet::crc16(const unsigned char *buf, unsigned int len) +{ + unsigned short cksum = 0; + for (unsigned int i = 0; i < len; i++) { + cksum = crc16_tab[(((cksum >> 8) ^ *buf++) & 0xFF)] ^ (cksum << 8); + } + return cksum; +} + +void Packet::processData(QByteArray data) +{ + unsigned char rx_data; + + for(int i = 0;i < data.length();i++) { + rx_data = data.at(i); + + switch (mRxState) { + case 0: + if (rx_data == 2) { + mRxState += 2; + mRxTimer = mByteTimeout; + mRxBuffer.clear(); + mPayloadLength = 0; + } else if (rx_data == 3) { + mRxState++; + mRxTimer = mByteTimeout; + mRxBuffer.clear(); + mPayloadLength = 0; + } else { + mRxState = 0; + } + break; + + case 1: + mPayloadLength = (unsigned int)rx_data << 8; + mRxState++; + mRxTimer = mByteTimeout; + break; + + case 2: + mPayloadLength |= (unsigned int)rx_data; + mRxState++; + mRxTimer = mByteTimeout; + break; + + case 3: + mRxBuffer.append((char)rx_data); + if (mRxBuffer.size() == (int)mPayloadLength) { + mRxState++; + } + mRxTimer = mByteTimeout; + break; + + case 4: + mCrcHigh = rx_data; + mRxState++; + mRxTimer = mByteTimeout; + break; + + case 5: + mCrcLow = rx_data; + mRxState++; + mRxTimer = mByteTimeout; + break; + + case 6: + if (rx_data == 3) { + if (crc16((const unsigned char*)mRxBuffer.data(), mPayloadLength) == + ((unsigned short)mCrcHigh << 8 | (unsigned short)mCrcLow)) { + // Packet received! + emit packetReceived(mRxBuffer); + } + } + + mRxState = 0; + break; + + default: + mRxState = 0; + break; + } + } +} + +void Packet::timerSlot() +{ + if (mRxTimer) { + mRxTimer--; + } else { + mRxState = 0; + } +} diff --git a/packet.h b/packet.h new file mode 100644 index 0000000..2de8228 --- /dev/null +++ b/packet.h @@ -0,0 +1,62 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +#ifndef PACKET_H +#define PACKET_H + +#include <QObject> +#include <QTimer> + +class Packet : public QObject +{ + Q_OBJECT +public: + explicit Packet(QObject *parent = 0); + void sendPacket(const QByteArray &data); + + static unsigned short crc16(const unsigned char *buf, unsigned int len); + +signals: + void dataToSend(QByteArray &data); + void packetReceived(QByteArray &packet); + +public slots: + void processData(QByteArray data); + +private slots: + void timerSlot(); + +private: + QTimer *mTimer; + int mRxTimer; + int mRxState; + unsigned int mPayloadLength; + unsigned char mCrcLow; + unsigned char mCrcHigh; + QByteArray mRxBuffer; + int mByteTimeout; + +}; + +#endif // PACKET_H diff --git a/pages/pageconnection.cpp b/pages/pageconnection.cpp new file mode 100644 index 0000000..0859d6a --- /dev/null +++ b/pages/pageconnection.cpp @@ -0,0 +1,276 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageconnection.h" +#include "ui_pageconnection.h" +#include "widgets/helpdialog.h" +#include "utility.h" +#include <QMessageBox> +#include <QSettings> +#include <cmath> + +PageConnection::PageConnection(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageConnection) +{ + ui->setupUi(this); + ui->rtCellsText->setMode(true); + layout()->setContentsMargins(0, 0, 0, 0); + + // remove disabled widgets + for (;;) + { + int i; + for(i=0; i!=ui->tabWidget->count(); ++i) + if ( ! ui->tabWidget->widget(i)->isEnabled() ) + break; + if ( i==ui->tabWidget->count() ) // nothing was found + break; // exit + ui->tabWidget->removeTab(i); + } + ui->groupBox->setVisible(false); + ui->autoConnectButton->setVisible(false); + ui->serialBaudBox->setVisible(false); + + QString lastTcpServer = + QSettings().value("tcp_server", ui->tcpServerEdit->text()).toString(); + ui->tcpServerEdit->setText(lastTcpServer); + + int lastTcpPort = + QSettings().value("tcp_port", ui->tcpPortBox->value()).toInt(); + ui->tcpPortBox->setValue(lastTcpPort); + + mDieBieMS = 0; + mTimer = new QTimer(this); + + connect(mTimer, SIGNAL(timeout()), + this, SLOT(timerSlot())); + + mTimer->start(20); +} + +PageConnection::~PageConnection() +{ + delete ui; +} + +BMSInterface *PageConnection::bms() const +{ + return mDieBieMS; +} + +void PageConnection::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + connect(mDieBieMS->bleDevice(), SIGNAL(scanDone(QVariantMap,bool)),this, SLOT(bleScanDone(QVariantMap,bool))); + connect(mDieBieMS->commands(), SIGNAL(valuesReceived(BMS_VALUES)),this, SLOT(valuesReceived(BMS_VALUES))); + connect(mDieBieMS->commands(), SIGNAL(cellsReceived(int,QVector<double>)),this, SLOT(cellsReceived(int,QVector<double>))); + + QString lastBleAddr = QSettings().value("ble_addr").toString(); + if (lastBleAddr != "") { + QString setName = mDieBieMS->getBleName(lastBleAddr); + + QString name; + if (!setName.isEmpty()) { + name += setName; + name += " ["; + name += lastBleAddr; + name += "]"; + } else { + name = lastBleAddr; + } + ui->bleDevBox->insertItem(0, name, lastBleAddr); + } + + on_serialRefreshButton_clicked(); +} + +void PageConnection::valuesReceived(BMS_VALUES values) +{ + ui->rtText->setValues(values); +} + +void PageConnection::cellsReceived(int cellCount, QVector<double> cellVoltageArray) +{ + QVector<double> absValues; + std::transform(cellVoltageArray.begin(), cellVoltageArray.end(), + std::back_inserter(absValues), fabs); + ui->rtCellsText->setCells(absValues); +} + +void PageConnection::timerSlot() +{ + if (mDieBieMS) { + QString str = mDieBieMS->getConnectedPortName(); + if (str != ui->statusLabel->text()) { + ui->statusLabel->setText(mDieBieMS->getConnectedPortName()); + } + + // CAN fwd + if (ui->canFwdButton->isChecked() != mDieBieMS->commands()->getSendCan()) { + ui->canFwdButton->setChecked(mDieBieMS->commands()->getSendCan()); + } + + if (ui->canFwdBox->value() != mDieBieMS->commands()->getCanSendId()) { + ui->canFwdBox->setValue(mDieBieMS->commands()->getCanSendId());; + } + } +} + +void PageConnection::bleScanDone(QVariantMap devs, bool done) +{ + if (done) { + ui->bleScanButton->setEnabled(true); + } + + ui->bleDevBox->clear(); + for (auto d: devs.keys()) { + QString devName = devs.value(d).toString(); + QString addr = d; + QString setName = mDieBieMS->getBleName(addr); + + if (!setName.isEmpty()) { + QString name; + name += setName; + name += " ["; + name += addr; + name += "]"; + ui->bleDevBox->insertItem(0, name, addr); + } else if (devName.contains("VESC") || devName.contains("Metr Pro")) { + QString name; + name += devName; + name += " ["; + name += addr; + name += "]"; + ui->bleDevBox->insertItem(0, name, addr); + } else { + QString name; + name += devName; + name += " ["; + name += addr; + name += "]"; + ui->bleDevBox->addItem(name, addr); + } + } + ui->bleDevBox->setCurrentIndex(0); +} + +void PageConnection::on_serialRefreshButton_clicked() +{ + if (mDieBieMS) { + ui->serialPortBox->clear(); + QList<VSerialInfo_t> ports = mDieBieMS->listSerialPorts(); + foreach(const VSerialInfo_t &port, ports) { + ui->serialPortBox->addItem(port.name, port.systemPath); + } + ui->serialPortBox->setCurrentIndex(0); + } +} + +void PageConnection::on_serialDisconnectButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->disconnectPort(); + } +} + +void PageConnection::on_serialConnectButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->connectSerial(ui->serialPortBox->currentData().toString(), + ui->serialBaudBox->value()); + } +} + +void PageConnection::on_tcpDisconnectButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->disconnectPort(); + } +} + +void PageConnection::on_tcpConnectButton_clicked() +{ + if (mDieBieMS) { + QString tcpServer = ui->tcpServerEdit->text(); + int tcpPort = ui->tcpPortBox->value(); + mDieBieMS->connectTcp(tcpServer, tcpPort); + QSettings().setValue("tcp_server", tcpServer); + QSettings().setValue("tcp_port", tcpPort); + } +} + +void PageConnection::on_canFwdBox_valueChanged(int arg1) +{ + if (mDieBieMS) { + mDieBieMS->commands()->setCanSendId(arg1); + } +} + +void PageConnection::on_helpButton_clicked() +{ + if (mDieBieMS) { + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "help_can_forward"); + } +} + +void PageConnection::on_canFwdButton_toggled(bool checked) +{ + if (mDieBieMS) { + mDieBieMS->commands()->setSendCan(checked); + } +} + +void PageConnection::on_autoConnectButton_clicked() +{ + Utility::autoconnectBlockingWithProgress(mDieBieMS, this); +} + +void PageConnection::on_bleScanButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->bleDevice()->startScan(); + ui->bleScanButton->setEnabled(false); + } +} + +void PageConnection::on_bleDisconnectButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->disconnectPort(); + } +} + +void PageConnection::on_bleConnectButton_clicked() +{ + if (mDieBieMS) { + if (ui->bleDevBox->count() > 0) { + QString bleAddr = ui->bleDevBox->currentData().toString(); + mDieBieMS->connectBle(bleAddr); + QSettings().setValue("ble_addr", bleAddr); + } + } +} diff --git a/pages/pageconnection.h b/pages/pageconnection.h new file mode 100644 index 0000000..4b7c475 --- /dev/null +++ b/pages/pageconnection.h @@ -0,0 +1,75 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGECONNECTION_H +#define PAGECONNECTION_H + +#include <QWidget> +#include <QTimer> +#include "bmsinterface.h" + +namespace Ui { +class PageConnection; +} + +class PageConnection : public QWidget +{ + Q_OBJECT + +public: + explicit PageConnection(QWidget *parent = 0); + ~PageConnection(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private slots: + void timerSlot(); + void bleScanDone(QVariantMap devs, bool done); + + void on_serialRefreshButton_clicked(); + void on_serialDisconnectButton_clicked(); + void on_serialConnectButton_clicked(); + void on_tcpDisconnectButton_clicked(); + void on_tcpConnectButton_clicked(); + void on_canFwdBox_valueChanged(int arg1); + void on_helpButton_clicked(); + void on_canFwdButton_toggled(bool checked); + void on_autoConnectButton_clicked(); + void on_bleScanButton_clicked(); + void on_bleDisconnectButton_clicked(); + void on_bleConnectButton_clicked(); + + void valuesReceived(BMS_VALUES values); + void cellsReceived(int cellCount, QVector<double> cellVoltageArray); + +private: + Ui::PageConnection *ui; + BMSInterface *mDieBieMS; + QTimer *mTimer; + +}; + +#endif // PAGECONNECTION_H diff --git a/pages/pageconnection.ui b/pages/pageconnection.ui new file mode 100644 index 0000000..1c6b8c3 --- /dev/null +++ b/pages/pageconnection.ui @@ -0,0 +1,628 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageConnection</class> + <widget class="QWidget" name="PageConnection"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabPosition"> + <enum>QTabWidget::North</enum> + </property> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="tabSerial"> + <attribute name="title"> + <string>(USB-)Serial</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutUSBSerial"> + <item> + <widget class="QLabel" name="labelSerial"> + <property name="text"> + <string>Port</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="serialPortBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Serial port</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="serialBaudBox"> + <property name="toolTip"> + <string>Baudrate</string> + </property> + <property name="suffix"> + <string> bps</string> + </property> + <property name="prefix"> + <string>Baud: </string> + </property> + <property name="maximum"> + <number>3000000</number> + </property> + <property name="value"> + <number>115200</number> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="serialRefreshButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Refresh serial port list</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Refresh-96.png</normaloff>:/res/icons/Refresh-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="serialDisconnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Disconnect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Disconnected-96.png</normaloff>:/res/icons/Disconnected-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="serialConnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Connect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Connected-96.png</normaloff>:/res/icons/Connected-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacerSerial"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>322</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="tabCANConverter"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>(USB-)CAN</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutUSBCAN"> + <item> + <widget class="QLabel" name="CANSerialLabel"> + <property name="text"> + <string>Port</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="CANSerialPortBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Serial port</string> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="CANSerialRefreshButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Refresh serial port list</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Refresh-96.png</normaloff>:/res/icons/Refresh-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="CANSerialDisconnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Disconnect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Disconnected-96.png</normaloff>:/res/icons/Disconnected-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="CANSerialConnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Connect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Connected-96.png</normaloff>:/res/icons/Connected-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QTableView" name="tableView"/> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutUSBCANNode"> + <item> + <widget class="QPushButton" name="CANNodeRefreshButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Refresh CAN nodes list</string> + </property> + <property name="text"> + <string>Scan bus</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Refresh-96.png</normaloff>:/res/icons/Refresh-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="CANNodeConnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Connect to CAN node</string> + </property> + <property name="text"> + <string>Connect node</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Connected-96.png</normaloff>:/res/icons/Connected-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="CANNodeDisconnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Disconnect from CAN node</string> + </property> + <property name="text"> + <string>Disconnect node</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Disconnected-96.png</normaloff>:/res/icons/Disconnected-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="tabTCP"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>TCP</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutTCP"> + <item> + <widget class="QLabel" name="labelTCP"> + <property name="text"> + <string>TCP Server</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="tcpServerEdit"> + <property name="text"> + <string>127.0.0.1</string> + </property> + </widget> + </item> + <item> + <widget class="QSpinBox" name="tcpPortBox"> + <property name="prefix"> + <string>Port: </string> + </property> + <property name="maximum"> + <number>65535</number> + </property> + <property name="value"> + <number>65102</number> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="tcpDisconnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Disconnect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Disconnected-96.png</normaloff>:/res/icons/Disconnected-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="tcpConnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Connect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Connected-96.png</normaloff>:/res/icons/Connected-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacerTCP"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>273</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="tabBlueTooth"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>Bluetooth LE</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <layout class="QHBoxLayout" name="horizontalLayoutBLE"> + <item> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>BLE Device</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="bleDevBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="bleScanButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Refresh serial port list</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Refresh-96.png</normaloff>:/res/icons/Refresh-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="bleDisconnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Disconnect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Disconnected-96.png</normaloff>:/res/icons/Disconnected-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="bleConnectButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Connect</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Connected-96.png</normaloff>:/res/icons/Connected-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacerBLE"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>186</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </widget> + </item> + <item> + <widget class="RtDataText" name="rtText" native="true"/> + </item> + <item> + <widget class="RtDataText" name="rtCellsText" native="true"/> + </item> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>CAN Forward</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QSpinBox" name="canFwdBox"> + <property name="prefix"> + <string>ID: </string> + </property> + <property name="maximum"> + <number>255</number> + </property> + <property name="value"> + <number>10</number> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Show help</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="canFwdButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Forward communication over CAN-bus</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/can_off.png</normaloff> + <normalon>:/res/icons/can_on.png</normalon>:/res/icons/can_off.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QPushButton" name="autoConnectButton"> + <property name="toolTip"> + <string>Try to automatically connect using the USB connection</string> + </property> + <property name="text"> + <string>Autoconnect</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Wizard-96.png</normaloff>:/res/icons/Wizard-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>45</width> + <height>45</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QLabel" name="statusLabel"> + <property name="text"> + <string/> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>RtDataText</class> + <extends>QWidget</extends> + <header>widgets/rtdatatext.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/pages/pagedataanalysis.cpp b/pages/pagedataanalysis.cpp new file mode 100644 index 0000000..a9ffe6c --- /dev/null +++ b/pages/pagedataanalysis.cpp @@ -0,0 +1,59 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ +#include "pagedataanalysis.h" +#include "ui_pagedataanalysis.h" + +PageDataAnalysis::PageDataAnalysis(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageDataAnalysis) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; +} + +PageDataAnalysis::~PageDataAnalysis() +{ + delete ui; +} + +BMSInterface *PageDataAnalysis::bms() const +{ + return mDieBieMS; +} + +void PageDataAnalysis::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ConfigParam *p = mDieBieMS->infoConfig()->getParam("data_analysis_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Data Analysis Description not found."); + } + } +} diff --git a/pages/pagedataanalysis.h b/pages/pagedataanalysis.h new file mode 100644 index 0000000..91b23d7 --- /dev/null +++ b/pages/pagedataanalysis.h @@ -0,0 +1,53 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEDATAANALYSIS_H +#define PAGEDATAANALYSIS_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageDataAnalysis; +} + +class PageDataAnalysis : public QWidget +{ + Q_OBJECT + +public: + explicit PageDataAnalysis(QWidget *parent = 0); + ~PageDataAnalysis(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageDataAnalysis *ui; + BMSInterface *mDieBieMS; + +}; + +#endif // PAGEDATAANALYSIS_H diff --git a/pages/pagedataanalysis.ui b/pages/pagedataanalysis.ui new file mode 100644 index 0000000..411467f --- /dev/null +++ b/pages/pagedataanalysis.ui @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageDataAnalysis</class> + <widget class="QWidget" name="PageDataAnalysis"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="VTextBrowser" name="textEdit"/> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>VTextBrowser</class> + <extends>QTextEdit</extends> + <header>widgets/vtextbrowser.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagedebugprint.cpp b/pages/pagedebugprint.cpp new file mode 100644 index 0000000..aae1b51 --- /dev/null +++ b/pages/pagedebugprint.cpp @@ -0,0 +1,54 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagedebugprint.h" +#include "ui_pagedebugprint.h" +#include <QDateTime> + +// Static member initialization +PageDebugPrint *PageDebugPrint::currentMsgHandler = 0; + +PageDebugPrint::PageDebugPrint(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageDebugPrint) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + currentMsgHandler = this; +} + +PageDebugPrint::~PageDebugPrint() +{ + delete ui; +} + +void PageDebugPrint::printConsole(QString str) +{ + ui->consoleBrowser->moveCursor(QTextCursor::End); + ui->consoleBrowser->insertHtml(QDateTime::currentDateTime(). + toString("yyyy-MM-dd hh:mm:ss: ") + + str); + ui->consoleBrowser->moveCursor(QTextCursor::End); +} diff --git a/pages/pagedebugprint.h b/pages/pagedebugprint.h new file mode 100644 index 0000000..c4a8cbb --- /dev/null +++ b/pages/pagedebugprint.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEDEBUGPRINT_H +#define PAGEDEBUGPRINT_H + +#include <QWidget> + +namespace Ui { +class PageDebugPrint; +} + +class PageDebugPrint : public QWidget +{ + Q_OBJECT + +public: + explicit PageDebugPrint(QWidget *parent = 0); + ~PageDebugPrint(); + + static PageDebugPrint* currentMsgHandler; + +public slots: + void printConsole(QString str); + +private: + Ui::PageDebugPrint *ui; +}; + +#endif // PAGEDEBUGPRINT_H diff --git a/pages/pagedebugprint.ui b/pages/pagedebugprint.ui new file mode 100644 index 0000000..80b59f1 --- /dev/null +++ b/pages/pagedebugprint.ui @@ -0,0 +1,88 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageDebugPrint</class> + <widget class="QWidget" name="PageDebugPrint"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="VTextBrowser" name="consoleBrowser"> + <property name="font"> + <font> + <family>DejaVu Sans Mono</family> + </font> + </property> + <property name="lineWrapMode"> + <enum>QTextEdit::NoWrap</enum> + </property> + </widget> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QPushButton" name="clearButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <pointsize>3</pointsize> + </font> + </property> + <property name="toolTip"> + <string>Clear all text from console</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>VTextBrowser</class> + <extends>QTextEdit</extends> + <header>widgets/vtextbrowser.h</header> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/pages/pagefirmware.cpp b/pages/pagefirmware.cpp new file mode 100644 index 0000000..65c233f --- /dev/null +++ b/pages/pagefirmware.cpp @@ -0,0 +1,368 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagefirmware.h" +#include "ui_pagefirmware.h" +#include "widgets/helpdialog.h" +#include "utility.h" +#include <QMessageBox> +#include <QFileDialog> +#include <QDirIterator> + +PageFirmware::PageFirmware(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageFirmware) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + ui->cancelButton->setEnabled(false); + mDieBieMS = 0; + + updateHwList(); + updateBlList(); + + connect(ui->hwList, SIGNAL(currentRowChanged(int)), + this, SLOT(updateFwList())); + connect(ui->showNonDefaultBox, SIGNAL(toggled(bool)), + this, SLOT(updateFwList())); +} + +PageFirmware::~PageFirmware() +{ + delete ui; +} + +BMSInterface *PageFirmware::bms() const +{ + return mDieBieMS; +} + +void PageFirmware::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->display->setText(mDieBieMS->commands()->getFirmwareUploadStatus()); + + QStringList fws = mDieBieMS->getSupportedFirmwares(); + QString str; + for (int i = 0;i < fws.size();i++) { + str.append(fws.at(i)); + if (i < (fws.size() - 1)) { + str.append(", "); + } + } + ui->supportedLabel->setText(str); + + connect(mDieBieMS, SIGNAL(fwUploadStatus(QString,double,bool)), + this, SLOT(fwUploadStatus(QString,double,bool))); + connect(mDieBieMS->commands(), SIGNAL(fwVersionReceived(int,int,QString,QByteArray)), + this, SLOT(fwVersionReceived(int,int,QString,QByteArray))); + } +} + +void PageFirmware::fwUploadStatus(const QString &status, double progress, bool isOngoing) +{ + if (isOngoing) { + ui->display->setText(tr("%1 (%2 %)"). + arg(status). + arg(progress * 100, 0, 'f', 1)); + } else { + ui->display->setText(status); + } + + ui->display->setValue(progress * 100.0); + ui->uploadButton->setEnabled(!isOngoing); + ui->cancelButton->setEnabled(isOngoing); +} + +void PageFirmware::fwVersionReceived(int major, int minor, QString hw, QByteArray uuid) +{ + QString fwStr; + QString strUuid = Utility::uuid2Str(uuid, true); + + if (!strUuid.isEmpty()) { + fwStr += ", UUID: " + strUuid; + } + + if (major >= 0) { + fwStr.sprintf("Fw: %d.%d", major, minor); + if (!hw.isEmpty()) { + fwStr += ", Hw: " + hw; + } + + if (!strUuid.isEmpty()) { + fwStr += "\n" + strUuid; + } + } + + ui->currentLabel->setText(fwStr); + updateHwList(hw); + updateBlList(hw); + update(); +} + +void PageFirmware::updateHwList(QString hw) +{ + ui->hwList->clear(); + + QDirIterator it("://res/firmwares"); + while (it.hasNext()) { + QFileInfo fi(it.next()); + QStringList names = fi.fileName().split("_o_"); + + if (fi.isDir() && (hw.isEmpty() || names.contains(hw, Qt::CaseInsensitive))) { + QListWidgetItem *item = new QListWidgetItem; + + QString name = names.at(0); + for(int i = 1;i < names.size();i++) { + name += " & " + names.at(i); + } + + item->setText(name); + item->setData(Qt::UserRole, fi.absoluteFilePath()); + ui->hwList->insertItem(ui->hwList->count(), item); + } + } + + if (ui->hwList->count() > 0) { + ui->hwList->setCurrentRow(0); + } + + updateFwList(); +} + +void PageFirmware::updateFwList() +{ + ui->fwList->clear(); + QListWidgetItem *item = ui->hwList->currentItem(); + if (item != 0) { + QString hw = item->data(Qt::UserRole).toString(); + + QDirIterator it(hw); + while (it.hasNext()) { + QFileInfo fi(it.next()); + if (ui->showNonDefaultBox->isChecked() || + fi.fileName().toLower() == "ennoid-bms.bin") { + QListWidgetItem *item = new QListWidgetItem; + item->setText(fi.fileName()); + item->setData(Qt::UserRole, fi.absoluteFilePath()); + ui->fwList->insertItem(ui->fwList->count(), item); + } + } + } + + if (ui->fwList->count() > 0) { + ui->fwList->setCurrentRow(0); + } +} + +void PageFirmware::updateBlList(QString hw) +{ + ui->blList->clear(); + + QDirIterator it("://res/bootloaders"); + while (it.hasNext()) { + QFileInfo fi(it.next()); + QStringList names = fi.fileName().replace(".bin", "").split("_o_"); + + if (!fi.isDir() && (hw.isEmpty() || names.contains(hw, Qt::CaseInsensitive))) { + QListWidgetItem *item = new QListWidgetItem; + + QString name = names.at(0); + for(int i = 1;i < names.size();i++) { + name += " & " + names.at(i); + } + + item->setText(name); + item->setData(Qt::UserRole, fi.absoluteFilePath()); + ui->blList->insertItem(ui->blList->count(), item); + } + } + + if (ui->blList->count() == 0) { + QFileInfo generic("://res/bootloaders/generic.bin"); + if (generic.exists()) { + QListWidgetItem *item = new QListWidgetItem; + item->setText("generic"); + item->setData(Qt::UserRole, generic.absoluteFilePath()); + ui->blList->insertItem(ui->blList->count(), item); + } + } + + if (ui->blList->count() > 0) { + ui->blList->setCurrentRow(0); + } +} + +void PageFirmware::on_chooseButton_clicked() +{ + QString filename = QFileDialog::getOpenFileName(this, + tr("Choose Firmware File"), ".", + tr("Binary files (*.bin)")); + + if (filename.isNull()) { + return; + } + + ui->fwEdit->setText(filename); +} + +void PageFirmware::on_uploadButton_clicked() +{ + if (mDieBieMS) { + if (!mDieBieMS->isPortConnected()) { + QMessageBox::critical(this, + tr("Connection Error"), + tr("The ENNOID-BMS is not connected. Please connect it.")); + return; + } + + QFile file; + + if (ui->fwTabWidget->currentIndex() == 0) { + QListWidgetItem *item = ui->fwList->currentItem(); + if (item) { + file.setFileName(item->data(Qt::UserRole).toString()); + } else { + if (ui->hwList->count() == 0) { + QMessageBox::warning(this, + tr("Upload Error"), + tr("This version of DieBie does not include any firmware " + "for your hardware version. You can either " + "upload a custom file or look for a later version of ENNOID-BMS " + "Tool that might support your hardware.")); + } else { + QMessageBox::warning(this, + tr("Upload Error"), + tr("No firmware is selected.")); + } + + return; + } + } else if (ui->fwTabWidget->currentIndex() == 1) { + file.setFileName(ui->fwEdit->text()); + + QFileInfo fileInfo(file.fileName()); + if (!(fileInfo.fileName().startsWith("ENNOID")) || !fileInfo.fileName().endsWith(".bin")) { + QMessageBox::critical(this,tr("Upload Error"),tr("The selected file name seems to be invalid.")); + return; + } + } else { + QListWidgetItem *item = ui->blList->currentItem(); + + if (item) { + file.setFileName(item->data(Qt::UserRole).toString()); + } else { + if (ui->blList->count() == 0) { + QMessageBox::warning(this, + tr("Upload Error"), + tr("This version of ENNOID-BMS does not include any bootloader " + "for your hardware version.")); + } else { + QMessageBox::warning(this, + tr("Upload Error"), + tr("No bootloader is selected.")); + } + + return; + } + } + + if (!file.open(QIODevice::ReadOnly)) { + QMessageBox::critical(this, + tr("Upload Error"), + tr("Could not open file. Make sure that the path is valid.")); + return; + } + + if (file.size() > 400000) { + QMessageBox::critical(this, + tr("Upload Error"), + tr("The selected file is too large to be a firmware.")); + return; + } + + QMessageBox::StandardButton reply; + bool isBootloader = false; + + if (ui->fwTabWidget->currentIndex() == 0 && ui->hwList->count() == 1) { + reply = QMessageBox::warning(this, + tr("Warning"), + tr("Uploading new firmware will clear all settings on your ENNOID-BMS " + "and you have to do the configuration again. Do you want to " + "continue?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + } else if ((ui->fwTabWidget->currentIndex() == 0 && ui->hwList->count() > 1) || ui->fwTabWidget->currentIndex() == 1) { + reply = QMessageBox::warning(this, + tr("Warning"), + tr("Uploading firmware for the wrong hardware version " + "WILL damage the ENNOID-BMS for sure. Are you sure that you have " + "chosen the correct hardware version?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + } else if (ui->fwTabWidget->currentIndex() == 2) { + reply = QMessageBox::warning(this, + tr("Warning"), + tr("This will attempt to upload a bootloader to the connected ENNOID-BMS. " + "If the connected ENNOID-BMS already has a bootloader this will destroy " + "the bootloader and firmware updates cannot be done anymore. Do " + "you want to continue?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::No); + isBootloader = true; + } else { + reply = QMessageBox::No; + } + + if (reply == QMessageBox::Yes) { + QByteArray data = file.readAll(); + mDieBieMS->commands()->startFirmwareUpload(data, isBootloader); + + QMessageBox::warning(this, + tr("Warning"), + tr("The firmware upload is now ongoing. After the upload has finished you must wait at least " + "10 seconds before unplugging power. Otherwise the firmware will get corrupted and your " + "ENNOID-BMS will become bricked. If that happens you need a SWD programmer to recover it.")); + } + } +} + +void PageFirmware::on_readVersionButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->commands()->getFwVersion(); + } +} + +void PageFirmware::on_cancelButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->commands()->cancelFirmwareUpload(); + } +} + +void PageFirmware::on_changelogButton_clicked() +{ + HelpDialog::showHelp(this, "Firmware Changelog", Utility::fwChangeLog()); +} diff --git a/pages/pagefirmware.h b/pages/pagefirmware.h new file mode 100644 index 0000000..7ef421a --- /dev/null +++ b/pages/pagefirmware.h @@ -0,0 +1,66 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEFIRMWARE_H +#define PAGEFIRMWARE_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageFirmware; +} + +class PageFirmware : public QWidget +{ + Q_OBJECT + +public: + explicit PageFirmware(QWidget *parent = 0); + ~PageFirmware(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private slots: + void fwUploadStatus(const QString &status, double progress, bool isOngoing); + void fwVersionReceived(int major, int minor, QString hw, QByteArray uuid); + void updateHwList(QString hw = ""); + void updateFwList(); + void updateBlList(QString hw = ""); + + void on_chooseButton_clicked(); + void on_uploadButton_clicked(); + void on_readVersionButton_clicked(); + void on_cancelButton_clicked(); + void on_changelogButton_clicked(); + +private: + Ui::PageFirmware *ui; + BMSInterface *mDieBieMS; + +}; + +#endif // PAGEFIRMWARE_H diff --git a/pages/pagefirmware.ui b/pages/pagefirmware.ui new file mode 100644 index 0000000..4702afb --- /dev/null +++ b/pages/pagefirmware.ui @@ -0,0 +1,308 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageFirmware</class> + <widget class="QWidget" name="PageFirmware"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QGroupBox" name="groupBox"> + <property name="title"> + <string>Install New Firmware</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="QTabWidget" name="fwTabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="tab"> + <attribute name="title"> + <string>Included Files</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_7"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <widget class="QLabel" name="label"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Hardware Version</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="hwList"/> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <widget class="QLabel" name="label_2"> + <property name="font"> + <font> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Firmware</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="fwList"/> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_6"> + <item> + <widget class="QCheckBox" name="showNonDefaultBox"> + <property name="toolTip"> + <string>Show firmwares with non-default compilation options</string> + </property> + <property name="text"> + <string>Show non-default firmwares</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="changelogButton"> + <property name="toolTip"> + <string>Show firmware changelog</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/About-96.png</normaloff>:/res/icons/About-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_2"> + <attribute name="title"> + <string>Custom File</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLineEdit" name="fwEdit"/> + </item> + <item> + <widget class="QPushButton" name="chooseButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Choose file...</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Open Folder-96.png</normaloff>:/res/icons/Open Folder-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>249</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_3"> + <attribute name="title"> + <string>Bootloader</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <widget class="QListWidget" name="blList"/> + </item> + </layout> + </widget> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="DisplayPercentage" name="display" native="true"/> + </item> + <item> + <widget class="QPushButton" name="cancelButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Cancel upload</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Cancel-96.png</normaloff>:/res/icons/Cancel-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="uploadButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Update firmware on the connected ENNOID-BMS</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Download-96.png</normaloff>:/res/icons/Download-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QGroupBox" name="groupBox_2"> + <property name="title"> + <string>Firmware, hardware and UUID</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="currentLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="readVersionButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read firmware version</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Upload-96.png</normaloff>:/res/icons/Upload-96.png</iconset> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QGroupBox" name="groupBox_3"> + <property name="title"> + <string>Supported Firmwares</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QLabel" name="supportedLabel"> + <property name="text"> + <string/> + </property> + </widget> + </item> + </layout> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>DisplayPercentage</class> + <extends>QWidget</extends> + <header>widgets/displaypercentage.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/pages/pagemastercell.cpp b/pages/pagemastercell.cpp new file mode 100644 index 0000000..935fedf --- /dev/null +++ b/pages/pagemastercell.cpp @@ -0,0 +1,110 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagemastercell.h" +#include "ui_pagemastercell.h" + +PageMasterCell::PageMasterCell(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageMasterCell) +{ + ui->setupUi(this); + // remove disabled widgets + for (;;) + { + int i; + for(i=0; i!=ui->tabWidget->count(); ++i) + if ( ! ui->tabWidget->widget(i)->isEnabled() ) + break; + if ( i==ui->tabWidget->count() ) // nothing was found + break; // exit + ui->tabWidget->removeTab(i); + } + mDieBieMS = 0; +} + +PageMasterCell::~PageMasterCell() +{ + delete ui; +} + +BMSInterface *PageMasterCell::bms() const +{ + return mDieBieMS; +} + +void PageMasterCell::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->specificationsTab->addRowSeparator(tr("Pack configuration")); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellMonitorICType"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellMonitorICCount"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "noOfParallelModules"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "noOfCellsSeries"); + ui->specificationsTab->addRowSeparator(tr("SOC - Pack capacity")); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "noOfCellsParallel"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "batteryCapacity"); + ui->specificationsTab->addRowSeparator(tr("Cell specifications")); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellTechnology"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellHardUnderVoltage"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellHardOverVoltage"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellLCSoftUnderVoltage"); + // ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellHCSoftUnderVoltage"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "cellSoftOverVoltage"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "maxUnderAndOverVoltageErrorCount"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "hysteresisDischarge"); + ui->specificationsTab->addParamRow(mDieBieMS->bmsConfig(), "hysteresisCharge"); + + ui->balancingTab->addRowSeparator(tr("Balancing configuration")); + ui->balancingTab->addParamRow(mDieBieMS->bmsConfig(), "cellBalanceStart"); + ui->balancingTab->addParamRow(mDieBieMS->bmsConfig(), "cellBalanceDifferenceThreshold"); + ui->balancingTab->addParamRow(mDieBieMS->bmsConfig(), "cellBalanceUpdateInterval"); + ui->balancingTab->addParamRow(mDieBieMS->bmsConfig(), "cellBalanceAllTime"); +// ui->balancingTab->addParamRow(mDieBieMS->bmsConfig(), "maxSimultaneousDischargingCells"); + + ui->throttlingTab->addRowSeparator(tr("Discharge")); + ui->throttlingTab->addParamRow(mDieBieMS->bmsConfig(), "cellThrottleLowerStart"); + ui->throttlingTab->addParamRow(mDieBieMS->bmsConfig(), "cellThrottleLowerMargin"); + ui->throttlingTab->addParamRow(mDieBieMS->bmsConfig(), "throttleDisChargeIncreaseRate"); + ui->throttlingTab->addRowSeparator(tr("Charge")); + ui->throttlingTab->addParamRow(mDieBieMS->bmsConfig(), "cellThrottleUpperStart"); + ui->throttlingTab->addParamRow(mDieBieMS->bmsConfig(), "cellThrottleUpperMargin"); + ui->throttlingTab->addParamRow(mDieBieMS->bmsConfig(), "throttleChargeIncreaseRate"); + + ui->socTab->addRowSeparator(tr("SoC general")); + ui->socTab->addParamRow(mDieBieMS->bmsConfig(), "stateOfChargeMethod"); + ui->socTab->addParamRow(mDieBieMS->bmsConfig(), "stateOfChargeStoreInterval"); + ui->socTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutChargeCompleted"); + ui->socTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutChargingCompletedMinimalMismatch"); + ui->socTab->addParamRow(mDieBieMS->bmsConfig(), "maxMismatchThreshold"); + } +} + + + + + diff --git a/pages/pagemastercell.h b/pages/pagemastercell.h new file mode 100644 index 0000000..efe1c88 --- /dev/null +++ b/pages/pagemastercell.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEMASTERCELL_H +#define PAGEMASTERCELL_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageMasterCell; +} + +class PageMasterCell : public QWidget +{ + Q_OBJECT + +public: + explicit PageMasterCell(QWidget *parent = 0); + ~PageMasterCell(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageMasterCell *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGEMASTERCELL_H diff --git a/pages/pagemastercell.ui b/pages/pagemastercell.ui new file mode 100644 index 0000000..c1b36b5 --- /dev/null +++ b/pages/pagemastercell.ui @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageMasterCell</class> + <widget class="QWidget" name="PageMasterCell"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="Specifications"> + <attribute name="title"> + <string>Specifications</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="specificationsTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="Balancing"> + <attribute name="title"> + <string>Balancing</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="ParamTable" name="balancingTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="Throttling"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>Throttling</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="ParamTable" name="throttlingTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="SoC"> + <attribute name="title"> + <string>SoC</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <widget class="ParamTable" name="socTab"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagemasterdisplay.cpp b/pages/pagemasterdisplay.cpp new file mode 100644 index 0000000..6b1314d --- /dev/null +++ b/pages/pagemasterdisplay.cpp @@ -0,0 +1,60 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagemasterdisplay.h" +#include "ui_pagemasterdisplay.h" + +PageMasterDisplay::PageMasterDisplay(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageMasterDisplay) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageMasterDisplay::~PageMasterDisplay() +{ + delete ui; +} + +BMSInterface *PageMasterDisplay::bms() const +{ + return mDieBieMS; +} + +void PageMasterDisplay::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->durationsTab->addParamRow(mDieBieMS->bmsConfig(), "displayTimeoutBatteryDead"); + ui->durationsTab->addParamRow(mDieBieMS->bmsConfig(), "displayTimeoutBatteryError"); + ui->durationsTab->addParamRow(mDieBieMS->bmsConfig(), "displayTimeoutBatteryErrorPreCharge"); + ui->durationsTab->addParamRow(mDieBieMS->bmsConfig(), "displayTimeoutSplashScreen"); + + ui->customTab->addRowSeparator(tr("Options")); + ui->customTab->addParamRow(mDieBieMS->bmsConfig(), "displayStyle"); + } +} diff --git a/pages/pagemasterdisplay.h b/pages/pagemasterdisplay.h new file mode 100644 index 0000000..3d46cc6 --- /dev/null +++ b/pages/pagemasterdisplay.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEMASTERDISPLAY_H +#define PAGEMASTERDISPLAY_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageMasterDisplay; +} + +class PageMasterDisplay : public QWidget +{ + Q_OBJECT + +public: + explicit PageMasterDisplay(QWidget *parent = 0); + ~PageMasterDisplay(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageMasterDisplay *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGEMASTERDISPLAY_H diff --git a/pages/pagemasterdisplay.ui b/pages/pagemasterdisplay.ui new file mode 100644 index 0000000..87d4129 --- /dev/null +++ b/pages/pagemasterdisplay.ui @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageMasterDisplay</class> + <widget class="QWidget" name="PageMasterDisplay"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="Durations"> + <attribute name="title"> + <string>Durations</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="durationsTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="Custom"> + <attribute name="title"> + <string>Custom</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="ParamTable" name="customTab"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagemastergeneral.cpp b/pages/pagemastergeneral.cpp new file mode 100644 index 0000000..16c11c2 --- /dev/null +++ b/pages/pagemastergeneral.cpp @@ -0,0 +1,119 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagemastergeneral.h" +#include "ui_pagemastergeneral.h" + +PageMasterGeneral::PageMasterGeneral(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageMasterGeneral) +{ + ui->setupUi(this); + // remove disabled widgets + for (;;) + { + int i; + for(i=0; i!=ui->tabWidget->count(); ++i) + if ( ! ui->tabWidget->widget(i)->isEnabled() ) + break; + if ( i==ui->tabWidget->count() ) // nothing was found + break; // exit + ui->tabWidget->removeTab(i); + } + + mDieBieMS = 0; +} + +PageMasterGeneral::~PageMasterGeneral() +{ + delete ui; +} + +BMSInterface *PageMasterGeneral::bms() const +{ + return mDieBieMS; +} + +void PageMasterGeneral::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->powerStateTab->addRowSeparator(tr("Onstate")); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "pulseToggleButton"); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "notUsedCurrentThreshold"); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "notUsedTimeout"); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "powerDownDelay"); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "allowForceOn"); + ui->powerStateTab->addRowSeparator(tr("Jump to")); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "extEnableState"); + ui->powerStateTab->addParamRow(mDieBieMS->bmsConfig(), "chargeEnableState"); + + ui->masterLimitsTab->addRowSeparator(tr("Current")); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "maxAllowedCurrent"); + ui->masterLimitsTab->addRowSeparator(tr("Temperature discharging")); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBattDischargingMax"); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBattDischargingMin"); + ui->masterLimitsTab->addRowSeparator(tr("Temperature charging")); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBattChargingMax"); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBattChargingMin"); + ui->masterLimitsTab->addRowSeparator(tr("Temperature cooling/heating")); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBattCoolingMax"); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBattCoolingMin"); + ui->masterLimitsTab->addRowSeparator(tr("Temperature Master board")); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBMSMax"); + ui->masterLimitsTab->addParamRow(mDieBieMS->bmsConfig(), "allowedTempBMSMin"); + + ui->canTab->addRowSeparator(tr("CAN Configuration")); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "CANID"); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "CANIDStyle"); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "CANBaudRate"); + ui->canTab->addRowSeparator(tr("CAN Messaging")); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "emitStatusOverCAN"); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "emitStatusProtocolType"); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "useCANSafetyInput"); + ui->canTab->addParamRow(mDieBieMS->bmsConfig(), "useCANDelayedPowerDown"); + + ui->masterSensorsTab->addRowSeparator(tr("NTC specifications battery")); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "tempEnableMaskBattery"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerModule"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCLTC25Deg"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCLTCBeta"); + ui->masterSensorsTab->addRowSeparator(tr("NTC specifications expansion Board")); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "tempEnableMaskExpansion"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "noOfExpansionBoard"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerExpansionBoard"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCEXP25Deg"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCEXPBeta"); + ui->masterSensorsTab->addRowSeparator(tr("NTC advanced settings")); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "maxUnderAndOverTemperatureErrorCount"); + ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "humidityICType"); + + + // ui->masterSensorsTab->addRowSeparator(tr("Water detect enable mask")); + // ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "waterSensorEnableMask"); + // ui->masterSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "waterSensorThreshold"); + } +} diff --git a/pages/pagemastergeneral.h b/pages/pagemastergeneral.h new file mode 100644 index 0000000..a278296 --- /dev/null +++ b/pages/pagemastergeneral.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEMASTERGENERAL_H +#define PAGEMASTERGENERAL_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageMasterGeneral; +} + +class PageMasterGeneral : public QWidget +{ + Q_OBJECT + +public: + explicit PageMasterGeneral(QWidget *parent = 0); + ~PageMasterGeneral(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageMasterGeneral *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGEMASTERGENERAL_H diff --git a/pages/pagemastergeneral.ui b/pages/pagemastergeneral.ui new file mode 100644 index 0000000..aa68718 --- /dev/null +++ b/pages/pagemastergeneral.ui @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageMasterGeneral</class> + <widget class="QWidget" name="PageMasterGeneral"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="PowerState"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>PowerState</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="powerStateTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="Limits"> + <attribute name="title"> + <string>Limits</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <widget class="ParamTable" name="masterLimitsTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="CAN"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>CAN</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="ParamTable" name="canTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="TemperatureSensors"> + <attribute name="title"> + <string>Sensors</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="ParamTable" name="masterSensorsTab"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagemastersettings.cpp b/pages/pagemastersettings.cpp new file mode 100644 index 0000000..226b3c7 --- /dev/null +++ b/pages/pagemastersettings.cpp @@ -0,0 +1,118 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagemastersettings.h" +#include "ui_pagemastersettings.h" + +PageMasterSettings::PageMasterSettings(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageMasterSettings) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; +} + +PageMasterSettings::~PageMasterSettings() +{ + delete ui; +} + +BMSInterface *PageMasterSettings::bms() const +{ + return mDieBieMS; +} + +void PageMasterSettings::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { +#if 0 + ConfigParam *p = mDieBieMS->infoConfig()->getParam("master_setting_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Master Setting Description not found."); + } +#endif + ConfigParams *const conf = mDieBieMS->bmsConfig(); + ParamTable *const pt = ui->masterStateTab; + pt->addRowSeparator(tr("Current")); + pt->addParamRow(conf, "shuntLCFactor"); + pt->addParamRow(conf, "shuntOffset"); + + pt->addRowSeparator(tr("Pack configuration")); +#if 0 // disable + pt->addParamRow(conf, "cellMonitorICType"); +#endif + pt->addParamRow(conf, "cellMonitorICCount"); + pt->addParamRow(conf, "noOfParallelModules"); + pt->addParamRow(conf, "noOfCellsSeries"); + + pt->addRowSeparator(tr("SOC - Pack capacity")); + pt->addParamRow(conf, "noOfCellsParallel"); + pt->addParamRow(conf, "batteryCapacity"); + + pt->addRowSeparator(tr("Cell specifications")); + pt->addParamRow(conf, "cellHardUnderVoltage"); + pt->addParamRow(conf, "cellHardOverVoltage"); + pt->addParamRow(conf, "cellLCSoftUnderVoltage"); + pt->addParamRow(conf, "cellSoftOverVoltage"); + + pt->addRowSeparator(tr("Balancing configuration")); + pt->addParamRow(conf, "cellBalanceStart"); + pt->addParamRow(conf, "cellBalanceDifferenceThreshold"); + pt->addParamRow(conf, "cellBalanceUpdateInterval"); + + pt->addRowSeparator(tr("SoC general")); +#if 0 // disable + pt->addParamRow(conf, "stateOfChargeStoreInterval"); + pt->addParamRow(conf, "timeoutChargeCompleted"); + pt->addParamRow(conf, "timeoutChargingCompletedMinimalMismatch"); +#endif + pt->addParamRow(conf, "minimalPrechargePercentage"); // from pagemastersettings.cpp + pt->addParamRow(conf, "timeoutLCPreCharge"); // from pagemastersettings.cpp + + pt->addRowSeparator(tr("Limits")); + pt->addParamRow(conf, "maxMismatchThreshold"); + pt->addParamRow(conf, "maxAllowedCurrent"); +#if 0 + pt->addParamRow(conf, "allowedTempBattDischargingMax"); + pt->addParamRow(conf, "allowedTempBattDischargingMin"); +#endif + pt->addParamRow(conf, "allowedTempBattChargingMax"); + pt->addParamRow(conf, "allowedTempBattChargingMin"); + +#if 0 // disable + pt->addRowSeparator(tr("NTC specifications battery")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerModule"); + pt->addParamRow(mDieBieMS->bmsConfig(), "NTCLTC25Deg"); + pt->addRowSeparator(tr("NTC specifications expansion Board")); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfExpansionBoard"); + pt->addParamRow(mDieBieMS->bmsConfig(), "noOfTempSensorPerExpansionBoard"); +#endif + } +} diff --git a/pages/pagemastersettings.h b/pages/pagemastersettings.h new file mode 100644 index 0000000..fa82bc6 --- /dev/null +++ b/pages/pagemastersettings.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEMASTERSETTINGS_H +#define PAGEMASTERSETTINGS_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageMasterSettings; +} + +class PageMasterSettings : public QWidget +{ + Q_OBJECT + +public: + explicit PageMasterSettings(QWidget *parent = 0); + ~PageMasterSettings(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageMasterSettings *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGEMASTERSETTINGS_H diff --git a/pages/pagemastersettings.ui b/pages/pagemastersettings.ui new file mode 100644 index 0000000..c176766 --- /dev/null +++ b/pages/pagemastersettings.ui @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageMasterSettings</class> + <widget class="QWidget" name="PageMasterSettings"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="ParamTable" name="masterStateTab"/> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagemastersignals.cpp b/pages/pagemastersignals.cpp new file mode 100644 index 0000000..7bc94cf --- /dev/null +++ b/pages/pagemastersignals.cpp @@ -0,0 +1,75 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagemastersignals.h" +#include "ui_pagemastersignals.h" + +PageMasterSignals::PageMasterSignals(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageMasterSignals) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageMasterSignals::~PageMasterSignals() +{ + delete ui; +} + +BMSInterface *PageMasterSignals::bms() const +{ + return mDieBieMS; +} + +void PageMasterSignals::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->signalsTab->addRowSeparator(tr("Discharge Current")); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "shuntLCFactor"); + ui->signalsTab->addRowSeparator(tr("Pack voltage")); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "voltageLCFactor"); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "voltageLCOffset"); + ui->signalsTab->addRowSeparator(tr("Load voltage")); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "loadVoltageFactor"); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "loadVoltageOffset"); + ui->signalsTab->addRowSeparator(tr("Charger voltage")); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "chargerVoltageFactor"); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "chargerVoltageOffset"); + // ui->signalsTab->addRowSeparator(tr("High current path")); + // ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "HCLoadVoltageDataSource"); + // ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "HCLoadCurrentDataSource"); + // ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "shuntHCFactor"); + // ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "shuntHCOffset"); + ui->signalsTab->addRowSeparator(tr("Data source")); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "packVoltageDataSource"); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "packCurrentDataSource"); + ui->signalsTab->addRowSeparator(tr("Buzzer control")); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "buzzerSignalSource"); + ui->signalsTab->addParamRow(mDieBieMS->bmsConfig(), "buzzerPersistent"); + } +} diff --git a/pages/pagemastersignals.h b/pages/pagemastersignals.h new file mode 100644 index 0000000..9cae298 --- /dev/null +++ b/pages/pagemastersignals.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEMASTERSIGNALS_H +#define PAGEMASTERSIGNALS_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { + class PageMasterSignals; +} + +class PageMasterSignals : public QWidget +{ + Q_OBJECT + +public: + explicit PageMasterSignals(QWidget *parent = 0); + ~PageMasterSignals(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageMasterSignals *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGEMASTERSIGNALS_H diff --git a/pages/pagemastersignals.ui b/pages/pagemastersignals.ui new file mode 100644 index 0000000..b0f0825 --- /dev/null +++ b/pages/pagemastersignals.ui @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageMasterSignals</class> + <widget class="QWidget" name="PageMasterSignals"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="Signals"> + <attribute name="title"> + <string>Signals</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="signalsTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="Conditions"> + <attribute name="title"> + <string>Conditions</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="ParamTable" name="conditionsTab"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagemasterswitch.cpp b/pages/pagemasterswitch.cpp new file mode 100644 index 0000000..98611d2 --- /dev/null +++ b/pages/pagemasterswitch.cpp @@ -0,0 +1,67 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagemasterswitch.h" +#include "ui_pagemasterswitch.h" + +PageMasterSwitch::PageMasterSwitch(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageMasterSwitch) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageMasterSwitch::~PageMasterSwitch() +{ + delete ui; +} + +BMSInterface *PageMasterSwitch::bms() const +{ + return mDieBieMS; +} + +void PageMasterSwitch::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->dischargeTab->addRowSeparator(tr("Current output switch")); + ui->dischargeTab->addParamRow(mDieBieMS->bmsConfig(), "LCUseDischarge"); + ui->dischargeTab->addParamRow(mDieBieMS->bmsConfig(), "LCUsePrecharge"); +#if 0 /* moved to general settings page */ + ui->dischargeTab->addParamRow(mDieBieMS->bmsConfig(), "minimalPrechargePercentage"); + ui->dischargeTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutLCPreCharge"); +#endif + ui->dischargeTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutDischargeRetry"); + + ui->chargeTab->addRowSeparator(tr("General charger switch")); + ui->chargeTab->addParamRow(mDieBieMS->bmsConfig(), "chargerEnabledThreshold"); + ui->chargeTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutChargerDisconnected"); + ui->chargeTab->addParamRow(mDieBieMS->bmsConfig(), "allowChargingDuringDischarge"); + ui->chargeTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutChargeRetry"); + } +} diff --git a/pages/pagemasterswitch.h b/pages/pagemasterswitch.h new file mode 100644 index 0000000..9252215 --- /dev/null +++ b/pages/pagemasterswitch.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEMASTERSWITCH_H +#define PAGEMASTERSWITCH_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageMasterSwitch; +} + +class PageMasterSwitch : public QWidget +{ + Q_OBJECT + +public: + explicit PageMasterSwitch(QWidget *parent = 0); + ~PageMasterSwitch(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageMasterSwitch *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGEMASTERSWITCH_H diff --git a/pages/pagemasterswitch.ui b/pages/pagemasterswitch.ui new file mode 100644 index 0000000..337a967 --- /dev/null +++ b/pages/pagemasterswitch.ui @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageMasterSwitch</class> + <widget class="QWidget" name="PageMasterSwitch"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="Discharge"> + <attribute name="title"> + <string>Discharge</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="dischargeTab"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="Charge"> + <attribute name="title"> + <string>Charge</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="ParamTable" name="chargeTab"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pagertdata.cpp b/pages/pagertdata.cpp new file mode 100644 index 0000000..3996f56 --- /dev/null +++ b/pages/pagertdata.cpp @@ -0,0 +1,584 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagertdata.h" + +PageRtData::PageRtData(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageRtData) +{ + ui->setupUi(this); + // remove disabled widgets + for (;;) + { + int i; + for(i=0; i!=ui->tabWidget->count(); ++i) + if ( ! ui->tabWidget->widget(i)->isEnabled() ) + break; + if ( i==ui->tabWidget->count() ) // nothing was found + break; // exit + ui->tabWidget->removeTab(i); + } + + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; + + mTimer = new QTimer(this); + mTimer->start(20); + + mSecondCounter = 0.0; + mLastUpdateTime = 0; + + mUpdateValPlot = false; + + ui->ivLCGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + ui->cellGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + ui->cellLimitsGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + ui->tempGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + + // LC IVGraph + int graphIndex = 0; + ui->ivLCGraph->addGraph(); + ui->ivLCGraph->graph(graphIndex)->setPen(QPen(Qt::red)); + ui->ivLCGraph->graph(graphIndex)->setName("Pack Voltage"); + graphIndex++; + + ui->ivLCGraph->addGraph(); + ui->ivLCGraph->graph(graphIndex)->setPen(QPen(Qt::darkGreen)); + ui->ivLCGraph->graph(graphIndex)->setName("Load Voltage"); + graphIndex++; + + ui->ivLCGraph->addGraph(ui->ivLCGraph->xAxis, ui->ivLCGraph->yAxis2); + ui->ivLCGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ui->ivLCGraph->graph(graphIndex)->setName("Current"); + graphIndex++; + + /* HC IVGraph + graphIndex = 0; + ui->ivHCGraph->addGraph(); + ui->ivHCGraph->graph(graphIndex)->setPen(QPen(Qt::blue)); + ui->ivHCGraph->graph(graphIndex)->setName("HC Voltage"); + graphIndex++; + + ui->ivHCGraph->addGraph(ui->ivHCGraph->xAxis, ui->ivHCGraph->yAxis2); + ui->ivHCGraph->graph(graphIndex)->setPen(QPen(Qt::magenta)); + ui->ivHCGraph->graph(graphIndex)->setName("HC Current"); + graphIndex++; +*/ + // Cell voltage graph +#if 0 + graphIndex = 0; + ui->cellGraph->addGraph(); + ui->cellGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ui->cellGraph->graph(graphIndex)->setName("Cell high"); + graphIndex++; + + ui->cellGraph->addGraph(); + ui->cellGraph->graph(graphIndex)->setPen(QPen(Qt::blue)); + ui->cellGraph->graph(graphIndex)->setName("Cell average"); + graphIndex++; + + ui->cellGraph->addGraph(); + ui->cellGraph->graph(graphIndex)->setPen(QPen(Qt::red)); + ui->cellGraph->graph(graphIndex)->setName("Cell low"); + graphIndex++; +#endif + // For cellGraph use configuration similar to + // ui->cellBarGraph, i.e. hard coded 12 cells & 2.5-4.5volts + const enum Qt::GlobalColor colors[12]={ + Qt::black, Qt::blue, Qt::red, Qt::green, Qt::cyan, Qt::magenta, + Qt::darkGray, Qt::darkBlue, Qt::darkRed, Qt::darkGreen, Qt::darkCyan, Qt::darkMagenta + }; + for(int i=0; i!=12; ++i) + { + QCPGraph *const pg = ui->cellGraph->addGraph(); + pg->setPen(QPen( colors[i] )); + pg->setName(QString(tr("Cell ")+QString::number(i))); + } + + // Temperature graph + graphIndex = 0; + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::blue)); + ui->tempGraph->graph(graphIndex)->setName("BMS high"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::darkBlue)); + ui->tempGraph->graph(graphIndex)->setName("BMS Average"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::darkYellow)); + ui->tempGraph->graph(graphIndex)->setName("BMS Low"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ui->tempGraph->graph(graphIndex)->setName("Battery high"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::darkGreen)); + ui->tempGraph->graph(graphIndex)->setName("Battery Average"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::darkRed)); + ui->tempGraph->graph(graphIndex)->setName("Battery Low"); + graphIndex++; + + QFont legendFont = font(); + legendFont.setPointSize(9); + + //LC Graph + ui->ivLCGraph->legend->setVisible(true); + ui->ivLCGraph->legend->setFont(legendFont); + ui->ivLCGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->ivLCGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->ivLCGraph->xAxis->setLabel("Seconds (s)"); + ui->ivLCGraph->yAxis->setLabel("Voltage (V)"); + ui->ivLCGraph->yAxis2->setLabel("Current (A)"); + ui->ivLCGraph->yAxis->setRange(0, 60); + ui->ivLCGraph->yAxis2->setRange(-5, 5); + ui->ivLCGraph->yAxis2->setVisible(true); + + + //Cell voltage Graph + ui->cellGraph->legend->setVisible(true); + ui->cellGraph->legend->setFont(legendFont); + ui->cellGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->cellGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->cellGraph->xAxis->setLabel("Seconds (s)"); + ui->cellGraph->yAxis->setLabel("Voltage (V)"); + ui->cellGraph->yAxis->setRange(0, 4.2); + + //Temperature Graph + ui->tempGraph->legend->setVisible(true); + ui->tempGraph->legend->setFont(legendFont); + ui->tempGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->tempGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->tempGraph->xAxis->setLabel("Seconds (s)"); + ui->tempGraph->yAxis->setLabel("Temperature (\u00B0C)"); + ui->tempGraph->yAxis->setRange(0, 60); + + // Cell bar graph + group = new QCPBarsGroup(ui->cellBarGraph); + barsNormal = new QCPBars(ui->cellBarGraph->xAxis, ui->cellBarGraph->yAxis); + barsBalance = new QCPBars(ui->cellBarGraph->xAxis, ui->cellBarGraph->yAxis); + + barsNormal->setBrush(QColor(0, 255, 0, 50)); + barsNormal->setPen(QColor(0, 211, 56)); + barsNormal->setWidth(0.9); + barsNormal->setBarsGroup(group); + + barsBalance->setBrush(QColor(0, 0, 255, 50)); + barsBalance->setPen(QColor(0, 211, 56)); + barsBalance->setWidth(0.9); + barsBalance->setBarsGroup(group); + + barsBalance->moveAbove(barsNormal); + + ui->cellBarGraph->xAxis->setRange(1, 12); + ui->cellBarGraph->yAxis->setRange(2.5, 4.15); + ui->cellBarGraph->yAxis->setLabel("Voltage (V)"); + ui->cellBarGraph->xAxis->setTickLabelRotation(85); + ui->cellBarGraph->xAxis->setSubTicks(false); + ui->cellBarGraph->xAxis->setTickLength(0, 5); + + // Aux bar graph + group2 = new QCPBarsGroup(ui->auxBarGraph); + barsTemperature = new QCPBars(ui->auxBarGraph->xAxis, ui->auxBarGraph->yAxis); + + barsTemperature->setBrush(QColor(0, 255, 0, 50)); + barsTemperature->setPen(QColor(0, 211, 56)); + barsTemperature->setWidth(0.9); + barsTemperature->setBarsGroup(group2); + + ui->auxBarGraph->xAxis->setRange(1, 9); + ui->auxBarGraph->yAxis->setRange(-40, 75); + ui->auxBarGraph->yAxis->setLabel("Temperature (°C)"); + ui->auxBarGraph->xAxis->setTickLabelRotation(85); + ui->auxBarGraph->xAxis->setSubTicks(false); + ui->auxBarGraph->xAxis->setTickLength(0, 5); + + // Expansion bar graph + group3 = new QCPBarsGroup(ui->expBarGraph); + ExpBarsTemperature = new QCPBars(ui->expBarGraph->xAxis, ui->expBarGraph->yAxis); + + ExpBarsTemperature->setBrush(QColor(0, 255, 0, 50)); + ExpBarsTemperature->setPen(QColor(0, 211, 56)); + ExpBarsTemperature->setWidth(0.9); + ExpBarsTemperature->setBarsGroup(group3); + + ui->expBarGraph->xAxis->setRange(1, 8); + ui->expBarGraph->yAxis->setRange(-40, 75); + ui->expBarGraph->yAxis->setLabel("Temperature (°C)"); + ui->expBarGraph->xAxis->setTickLabelRotation(85); + ui->expBarGraph->xAxis->setSubTicks(false); + ui->expBarGraph->xAxis->setTickLength(0, 5); + + // cell limits graph + { + auto *widget = ui->cellLimitsGraph; + + widget->legend->setVisible(true); + widget->legend->setFont(legendFont); + widget->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + widget->legend->setBrush(QBrush(QColor(255,255,255,230))); + widget->xAxis->setLabel("Seconds (s)"); + widget->yAxis->setLabel("Voltage (V)"); + widget->yAxis->setRange(0, 5.0); + + widget->addGraph(); + widget->graph(0)->setPen(QPen(Qt::green)); + widget->graph(0)->setName("Cell high"); + + widget->addGraph(); + widget->graph(1)->setPen(QPen(Qt::blue)); + widget->graph(1)->setName("Cell average"); + + widget->addGraph(); + widget->graph(2)->setPen(QPen(Qt::red)); + widget->graph(2)->setName("Cell low"); + } + + connect(mTimer, SIGNAL(timeout()),this, SLOT(timerSlot())); +} + +PageRtData::~PageRtData() +{ + delete ui; +} + +BMSInterface *PageRtData::bms() const +{ + return mDieBieMS; +} + +void PageRtData::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + connect(mDieBieMS->commands(), SIGNAL(valuesReceived(BMS_VALUES)),this, SLOT(valuesReceived(BMS_VALUES))); + connect(mDieBieMS->commands(), SIGNAL(cellsReceived(int,QVector<double>)),this, SLOT(cellsReceived(int,QVector<double>))); + connect(mDieBieMS->commands(), SIGNAL(auxReceived(int,QVector<double>)),this, SLOT(auxReceived(int,QVector<double>))); + connect(mDieBieMS->commands(), SIGNAL(expTempReceived(int,QVector<double>)),this, SLOT(expTempReceived(int,QVector<double>))); + } +} + +void PageRtData::timerSlot() +{ + if (mUpdateValPlot) { + int dataSize = mPackVoltage.size(); + + QVector<double> xAxis(dataSize); + for (int i = 0;i < mSeconds.size();i++) { + xAxis[i] = mSeconds[i]; + } + + // Current and duty-plot + int graphIndex = 0; + ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mPackVoltage); + ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadVoltage); + ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadCurrent); + +#if 0 + graphIndex = 0; + ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); +#endif + graphIndex = 0; + ui->cellLimitsGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ui->cellLimitsGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ui->cellLimitsGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); + + graphIndex = 0; + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSLow); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattLow); + + if (ui->autoscaleButton->isChecked()) { + ui->ivLCGraph->rescaleAxes(); +#if 0 // do not autoscale since we're displaying cell voltages + ui->cellGraph->rescaleAxes(); +#endif + // only scale X axis + ui->cellGraph->xAxis->rescale(); + ui->cellLimitsGraph->xAxis->rescale(); + ui->tempGraph->rescaleAxes(); + } + + ui->ivLCGraph->replot(); + ui->cellGraph->replot(); + ui->cellLimitsGraph->replot(); + ui->tempGraph->replot(); + ui->cellBarGraph->replot(); + ui->auxBarGraph->replot(); + ui->expBarGraph->replot(); + + mUpdateValPlot = false; + } +} + +void PageRtData::valuesReceived(BMS_VALUES values) +{ + ui->rtText->setValues(values); + + const int maxS = 500; + + appendDoubleAndTrunc(&mPackVoltage, values.packVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadVoltage, values.loadLCVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadCurrent, values.loadLCCurrent, maxS); + appendDoubleAndTrunc(&mHCLoadVoltage, values.loadHCVoltage, maxS); + appendDoubleAndTrunc(&mHCLoadCurrent, values.loadHCCurrent, maxS); + appendDoubleAndTrunc(&mChargerVoltage, values.chargerVoltage, maxS); + appendDoubleAndTrunc(&mAuxVoltage, values.auxVoltage, maxS); + appendDoubleAndTrunc(&mAuxCurrent, values.auxCurrent, maxS); + + appendDoubleAndTrunc(&mCellVHigh, values.cVHigh, maxS); + appendDoubleAndTrunc(&mCellVAverage, values.cVAverage, maxS); + appendDoubleAndTrunc(&mCellVLow, values.cVLow, maxS); + + appendDoubleAndTrunc(&mTempBMSHigh, values.tempBMSHigh, maxS); + appendDoubleAndTrunc(&mTempBMSAverage, values.tempBMSAverage, maxS); + appendDoubleAndTrunc(&mTempBMSLow, values.tempBMSLow, maxS); + appendDoubleAndTrunc(&mTempBattHigh, values.tempBattHigh, maxS); + appendDoubleAndTrunc(&mTempBattAverage, values.tempBattAverage, maxS); + appendDoubleAndTrunc(&mTempBattLow, values.tempBattLow, maxS); + appendDoubleAndTrunc(&mHumidity, values.humidity, maxS); + + + qint64 tNow = QDateTime::currentMSecsSinceEpoch(); + + double elapsed = (double)(tNow - mLastUpdateTime) / 1000.0; + if (elapsed > 1.0) { + elapsed = 1.0; + } + + mSecondCounter += elapsed; + + appendDoubleAndTrunc(&mSeconds, mSecondCounter, maxS); + + mLastUpdateTime = tNow; + + mUpdateValPlot = true; +} + +void PageRtData::cellsReceived(int cellCount, QVector<double> cellVoltageArray){ + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<double> datayBalance; + datayBalance.clear(); + QVector<QString> labels; + int indexPointer; + + double cellHardUnder = mDieBieMS->bmsConfig()->getParamDouble("cellHardUnderVoltage"); + double cellHardOver = mDieBieMS->bmsConfig()->getParamDouble("cellHardOverVoltage"); + + for(indexPointer = 0; indexPointer < cellCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(cellVoltageArray[indexPointer] < 0.0){ + datayNormal.append(0.0); + datayBalance.append(fabs(cellVoltageArray[indexPointer])); + }else{ + datayNormal.append(fabs(cellVoltageArray[indexPointer])); + datayBalance.append(0.0); + } + + QString voltageString = QStringLiteral("%1V (C").arg(fabs(cellVoltageArray[indexPointer]), 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer+1) + ")"); + } + + QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + textTicker->addTicks(dataxNew, labels); + + int idx = 0; + double plotx = mSeconds.empty() ? 0 : mSeconds.last(); + for(auto v : cellVoltageArray) + { + if ( auto *pg = ui->cellGraph->graph(idx) ) + { + auto ploty = fabs(v); + pg->addData(plotx, ploty); + } + ++idx; + } + + ui->cellBarGraph->xAxis->setTicker(textTicker); + ui->cellBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + ui->cellBarGraph->yAxis->setRange(cellHardUnder, cellHardOver); + barsNormal->setData(dataxNew, datayNormal); + barsBalance->setData(dataxNew, datayBalance); +} + +void PageRtData::auxReceived(int auxCount, QVector<double> auxVoltageArray){ + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<QString> labels; + int indexPointer; + + for(indexPointer = 0; indexPointer < auxCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(auxVoltageArray[indexPointer] < -50.0){ + datayNormal.append(0.0); + }else{ + datayNormal.append(auxVoltageArray[indexPointer]); + } + + QString voltageString = QStringLiteral("%1°C (TH").arg(auxVoltageArray[indexPointer], 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer+1) + ")"); + } + + QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + textTicker->addTicks(dataxNew, labels); + + ui->auxBarGraph->xAxis->setTicker(textTicker); + ui->auxBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + ui->auxBarGraph->yAxis->setRange(-40, 75); + barsTemperature->setData(dataxNew, datayNormal); +} + +void PageRtData::expTempReceived(int expTempCount, QVector<double> expTempVoltageArray){ + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<QString> labels; + int indexPointer; + + for(indexPointer = 0; indexPointer < expTempCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(expTempVoltageArray[indexPointer] < -50.0){ + datayNormal.append(0.0); + }else{ + datayNormal.append(expTempVoltageArray[indexPointer]); + } + + QString voltageString = QStringLiteral("%1°C (T").arg(expTempVoltageArray[indexPointer], 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer) + ")"); + } + + QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + textTicker->addTicks(dataxNew, labels); + + ui->expBarGraph->xAxis->setTicker(textTicker); + ui->expBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + ui->expBarGraph->yAxis->setRange(-40, 75); + ExpBarsTemperature->setData(dataxNew, datayNormal); +} + +void PageRtData::appendDoubleAndTrunc(QVector<double> *vec, double num, int maxSize) +{ + vec->append(num); + + if(vec->size() > maxSize) { + vec->remove(0, vec->size() - maxSize); + } +} + +void PageRtData::updateZoom() +{ + Qt::Orientations plotOrientations = (Qt::Orientations) + ((ui->zoomHButton->isChecked() ? Qt::Horizontal : 0) | + (ui->zoomVButton->isChecked() ? Qt::Vertical : 0)); + + ui->ivLCGraph->axisRect()->setRangeZoom(plotOrientations); + ui->cellGraph->axisRect()->setRangeZoom(plotOrientations); + ui->cellLimitsGraph->axisRect()->setRangeZoom(plotOrientations); + ui->tempGraph->axisRect()->setRangeZoom(plotOrientations); +} + +void PageRtData::on_zoomHButton_toggled(bool checked) +{ + (void)checked; + updateZoom(); +} + +void PageRtData::on_zoomVButton_toggled(bool checked) +{ + (void)checked; + updateZoom(); +} + +void PageRtData::on_rescaleButton_clicked() +{ + ui->ivLCGraph->rescaleAxes(); + ui->cellGraph->rescaleAxes(); + ui->cellLimitsGraph->rescaleAxes(); + ui->tempGraph->rescaleAxes(); + + ui->ivLCGraph->replot(); + ui->cellGraph->replot(); + ui->cellLimitsGraph->replot(); + ui->tempGraph->replot(); +} + +void PageRtData::on_tempShowBMSBox_toggled(bool checked) +{ + ui->tempGraph->graph(0)->setVisible(checked); + ui->tempGraph->graph(1)->setVisible(checked); +} + +void PageRtData::on_tempShowBatteryBox_toggled(bool checked) +{ + ui->tempGraph->graph(2)->setVisible(checked); + ui->tempGraph->graph(3)->setVisible(checked); +} +/* +void PageRtData::on_csvChooseDirButton_clicked() +{ + ui->csvFileEdit->setText(QFileDialog::getExistingDirectory(this, + "Choose CSV output directory")); +} + +void PageRtData::on_csvEnableLogBox_clicked(bool checked) +{ + if (checked) { + if (mDieBieMS) { + mDieBieMS->openRtLogFile(ui->csvFileEdit->text()); + } + } else { + mDieBieMS->closeRtLogFile(); + } +} + +void PageRtData::on_csvHelpButton_clicked() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "help_rt_logging"); +} +*/ diff --git a/pages/pagertdata.h b/pages/pagertdata.h new file mode 100644 index 0000000..f5636bf --- /dev/null +++ b/pages/pagertdata.h @@ -0,0 +1,109 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGERTDATA_H +#define PAGERTDATA_H + +#include <QWidget> +#include <QVector> +#include <QTimer> +#include "bmsinterface.h" +#include "ui_pagertdata.h" + +namespace Ui { +class PageRtData; +} + +class PageRtData : public QWidget +{ + Q_OBJECT + +public: + explicit PageRtData(QWidget *parent = 0); + ~PageRtData(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private slots: + void timerSlot(); + void valuesReceived(BMS_VALUES values); + void cellsReceived(int cellCount, QVector<double> cellVoltageArray); + void auxReceived(int auxCount, QVector<double> auxVoltageArray); + void expTempReceived(int expTempCount, QVector<double> expTempVoltageArray); + + void on_zoomHButton_toggled(bool checked); + void on_zoomVButton_toggled(bool checked); + void on_rescaleButton_clicked(); + void on_tempShowBMSBox_toggled(bool checked); + void on_tempShowBatteryBox_toggled(bool checked); + //void on_csvChooseDirButton_clicked(); + //void on_csvEnableLogBox_clicked(bool checked); + //void on_csvHelpButton_clicked(); + +private: + Ui::PageRtData *ui; + BMSInterface *mDieBieMS; + QTimer *mTimer; + + QVector<double> mPackVoltage; + QVector<double> mLCLoadVoltage; + QVector<double> mLCLoadCurrent; + QVector<double> mHCLoadVoltage; + QVector<double> mHCLoadCurrent; + QVector<double> mChargerVoltage; + QVector<double> mAuxVoltage; + QVector<double> mAuxCurrent; + QVector<double> mCellVHigh; + QVector<double> mCellVAverage; + QVector<double> mCellVLow; + QVector<double> mTempBMSHigh; + QVector<double> mTempBMSAverage; + QVector<double> mTempBMSLow; + QVector<double> mTempBattHigh; + QVector<double> mTempBattAverage; + QVector<double> mTempBattLow; + QVector<double> mHumidity; + QVector<double> mSeconds; + + double mSecondCounter; + qint64 mLastUpdateTime; + + bool mUpdateValPlot; + + QCPBarsGroup *group; + QCPBars *barsNormal; + QCPBars *barsBalance; + QCPBarsGroup *group2; + QCPBarsGroup *group3; + QCPBars *barsTemperature; + QCPBars *ExpBarsTemperature; + + void appendDoubleAndTrunc(QVector<double> *vec, double num, int maxSize); + void updateZoom(); + +}; + +#endif // PAGERTDATA_H diff --git a/pages/pagertdata.ui b/pages/pagertdata.ui new file mode 100644 index 0000000..ef33fe5 --- /dev/null +++ b/pages/pagertdata.ui @@ -0,0 +1,354 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageRtData</class> + <widget class="QWidget" name="PageRtData"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>834</width> + <height>505</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>6</number> + </property> + <widget class="QWidget" name="cellBarGraphTab"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>Cells Voltage</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <widget class="QCustomPlot" name="cellBarGraph" native="true"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="auxBarGraphTab"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>Temperatures LTC</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <widget class="QCustomPlot" name="auxBarGraph" native="true"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="expBarGraphTab"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>Temperatures Expansion</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_18"> + <item> + <widget class="QCustomPlot" name="expBarGraph" native="true"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="ivLCGraphTab"> + <property name="enabled"> + <bool>false</bool> + </property> + <attribute name="title"> + <string>IV Graph</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QCustomPlot" name="ivLCGraph" native="true"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="cellGraphTab"> + <attribute name="title"> + <string>Cell Graph</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <widget class="QCustomPlot" name="cellGraph" native="true"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="tempGraphTab"> + <attribute name="title"> + <string>Temp Graph</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3" stretch="1,0"> + <item> + <widget class="QCustomPlot" name="tempGraph" native="true"/> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <widget class="QCheckBox" name="tempShowBMSBox"> + <property name="toolTip"> + <string>Show MOSFET temperature</string> + </property> + <property name="text"> + <string>BMS</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="tempShowBatteryBox"> + <property name="toolTip"> + <string>Show motor temperature</string> + </property> + <property name="text"> + <string>Battery</string> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QCustomPlot" name="cellLimitsGraph"> + <attribute name="title"> + <string>Cell Limits</string> + </attribute> + </widget> + </widget> + </item> + <item> + <widget class="QFrame" name="buttonFrame"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Plain</enum> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>3</number> + </property> + <property name="leftMargin"> + <number>2</number> + </property> + <property name="topMargin"> + <number>2</number> + </property> + <property name="rightMargin"> + <number>2</number> + </property> + <property name="bottomMargin"> + <number>2</number> + </property> + <item> + <widget class="QToolButton" name="autoscaleButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <pointsize>3</pointsize> + </font> + </property> + <property name="toolTip"> + <string>Autoscale plots with incoming samples</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/size_off.png</normaloff> + <normalon>:/res/icons/size_on.png</normalon>:/res/icons/size_off.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="zoomHButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <pointsize>3</pointsize> + </font> + </property> + <property name="toolTip"> + <string>Enable horizontal zoom</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/expand_off.png</normaloff> + <normalon>:/res/icons/expand_on.png</normalon>:/res/icons/expand_off.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="zoomVButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <pointsize>3</pointsize> + </font> + </property> + <property name="toolTip"> + <string>Enable vertical zoom</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/expand_v_off.png</normaloff> + <normalon>:/res/icons/expand_v_on.png</normalon>:/res/icons/expand_v_off.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="rescaleButton"> + <property name="toolTip"> + <string>Rescale plots to fit</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/size_off.png</normaloff>:/res/icons/size_off.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </widget> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + </layout> + </item> + <item> + <widget class="RtDataText" name="rtText" native="true"/> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>RtDataText</class> + <extends>QWidget</extends> + <header>widgets/rtdatatext.h</header> + <container>1</container> + </customwidget> + <customwidget> + <class>QCustomPlot</class> + <extends>QWidget</extends> + <header>widgets/qcustomplot.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/pages/pages.pri b/pages/pages.pri new file mode 100644 index 0000000..df47d1c --- /dev/null +++ b/pages/pages.pri @@ -0,0 +1,65 @@ +FORMS += \ + $$PWD/pageconnection.ui \ + $$PWD/pagedebugprint.ui \ + $$PWD/pageterminal.ui \ + $$PWD/pagefirmware.ui \ + $$PWD/pagertdata.ui \ + $$PWD/pagewelcome.ui \ + $$PWD/pagedataanalysis.ui \ + $$PWD/pagesetupcalculators.ui \ + $$PWD/pagesettings.ui \ + $$PWD/pagemastersettings.ui \ + $$PWD/pageslavesettings.ui \ + $$PWD/pagemastergeneral.ui \ + $$PWD/pagemasterswitch.ui \ + $$PWD/pagemastercell.ui \ + $$PWD/pagemasterdisplay.ui \ + $$PWD/pageslavegeneral.ui \ + $$PWD/pageslaveswitch.ui \ + $$PWD/pageslaveio.ui \ + $$PWD/pageslavefan.ui \ + $$PWD/pagemastersignals.ui + +HEADERS += \ + $$PWD/pageconnection.h \ + $$PWD/pagedebugprint.h \ + $$PWD/pageterminal.h \ + $$PWD/pagefirmware.h \ + $$PWD/pagertdata.h \ + $$PWD/pagewelcome.h \ + $$PWD/pagedataanalysis.h \ + $$PWD/pagesetupcalculators.h \ + $$PWD/pagesettings.h \ + $$PWD/pagemastersettings.h \ + $$PWD/pageslavesettings.h \ + $$PWD/pagemastergeneral.h \ + $$PWD/pagemasterswitch.h \ + $$PWD/pagemastercell.h \ + $$PWD/pagemasterdisplay.h \ + $$PWD/pageslavegeneral.h \ + $$PWD/pageslaveswitch.h \ + $$PWD/pageslaveio.h \ + $$PWD/pageslavefan.h \ + $$PWD/pagemastersignals.h + +SOURCES += \ + $$PWD/pageconnection.cpp \ + $$PWD/pagedebugprint.cpp \ + $$PWD/pageterminal.cpp \ + $$PWD/pagefirmware.cpp \ + $$PWD/pagertdata.cpp \ + $$PWD/pagewelcome.cpp \ + $$PWD/pagedataanalysis.cpp \ + $$PWD/pagesetupcalculators.cpp \ + $$PWD/pagesettings.cpp \ + $$PWD/pagemastersettings.cpp \ + $$PWD/pageslavesettings.cpp \ + $$PWD/pagemastergeneral.cpp \ + $$PWD/pagemasterswitch.cpp \ + $$PWD/pagemastercell.cpp \ + $$PWD/pagemasterdisplay.cpp \ + $$PWD/pageslavegeneral.cpp \ + $$PWD/pageslaveswitch.cpp \ + $$PWD/pageslaveio.cpp \ + $$PWD/pageslavefan.cpp \ + $$PWD/pagemastersignals.cpp diff --git a/pages/pagesettings.cpp b/pages/pagesettings.cpp new file mode 100644 index 0000000..50f093f --- /dev/null +++ b/pages/pagesettings.cpp @@ -0,0 +1,61 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagesettings.h" +#include "ui_pagesettings.h" + +PageSettings::PageSettings(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSettings) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + + if (mSettings.contains("app_scale_factor")) { + ui->uiScaleBox->setValue(mSettings.value("app_scale_factor").toDouble()); + } + + if (mSettings.contains("app_scale_auto")) { + ui->uiAutoScaleBox->setChecked(mSettings.value("app_scale_auto").toBool()); + } + + ui->uiScaleBox->setEnabled(!ui->uiAutoScaleBox->isChecked()); +} + +PageSettings::~PageSettings() +{ + delete ui; +} + +void PageSettings::on_uiScaleBox_valueChanged(double arg1) +{ + mSettings.setValue("app_scale_factor", arg1); +} + +void PageSettings::on_uiAutoScaleBox_toggled(bool checked) +{ + mSettings.setValue("app_scale_auto", checked); + ui->uiScaleBox->setEnabled(!checked); +} diff --git a/pages/pagesettings.h b/pages/pagesettings.h new file mode 100644 index 0000000..b192f55 --- /dev/null +++ b/pages/pagesettings.h @@ -0,0 +1,55 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESETTINGS_H +#define PAGESETTINGS_H + +#include <QWidget> +#include <QSettings> + +namespace Ui { +class PageSettings; +} + +class PageSettings : public QWidget +{ + Q_OBJECT + +public: + explicit PageSettings(QWidget *parent = 0); + ~PageSettings(); + +private slots: + void on_uiScaleBox_valueChanged(double arg1); + + void on_uiAutoScaleBox_toggled(bool checked); + +private: + Ui::PageSettings *ui; + QSettings mSettings; + +}; + +#endif // PAGESETTINGS_H diff --git a/pages/pagesettings.ui b/pages/pagesettings.ui new file mode 100644 index 0000000..be34404 --- /dev/null +++ b/pages/pagesettings.ui @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSettings</class> + <widget class="QWidget" name="PageSettings"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>745</width> + <height>352</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QFrame" name="frame"> + <property name="frameShape"> + <enum>QFrame::Box</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Sunken</enum> + </property> + <property name="lineWidth"> + <number>1</number> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>UI Scale Factor (restart required)</string> + </property> + </widget> + </item> + <item> + <widget class="QDoubleSpinBox" name="uiScaleBox"> + <property name="toolTip"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Scale the user intefrace with this factor. Useful for high resolution monitors. VESC Tool must be restarted for this setting to take effect.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="minimum"> + <double>1.000000000000000</double> + </property> + <property name="maximum"> + <double>3.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.100000000000000</double> + </property> + </widget> + </item> + <item> + <widget class="QCheckBox" name="uiAutoScaleBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Try to determine the scaling factor automatically from the screen resolution and the system font settings. VESC Tool must be restarted for this setting to take effect.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="text"> + <string>Auto</string> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>144</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + </layout> + </widget> + <resources/> + <connections/> +</ui> diff --git a/pages/pagesetupcalculators.cpp b/pages/pagesetupcalculators.cpp new file mode 100644 index 0000000..565670d --- /dev/null +++ b/pages/pagesetupcalculators.cpp @@ -0,0 +1,62 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagesetupcalculators.h" +#include "ui_pagesetupcalculators.h" + +PageSetupCalculators::PageSetupCalculators(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSetupCalculators) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; + +} + +PageSetupCalculators::~PageSetupCalculators() +{ + delete ui; +} + +void PageSetupCalculators::on_addSetupButton_clicked() +{ + +} + +void PageSetupCalculators::on_removeSetupButton_clicked() +{ + +} + +BMSInterface *PageSetupCalculators::bms() const +{ + return mDieBieMS; +} + +void PageSetupCalculators::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; +} diff --git a/pages/pagesetupcalculators.h b/pages/pagesetupcalculators.h new file mode 100644 index 0000000..2442c79 --- /dev/null +++ b/pages/pagesetupcalculators.h @@ -0,0 +1,57 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESETUPCALCULATORS_H +#define PAGESETUPCALCULATORS_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageSetupCalculators; +} + +class PageSetupCalculators : public QWidget +{ + Q_OBJECT + +public: + explicit PageSetupCalculators(QWidget *parent = 0); + ~PageSetupCalculators(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private slots: + void on_addSetupButton_clicked(); + void on_removeSetupButton_clicked(); + +private: + Ui::PageSetupCalculators *ui; + BMSInterface *mDieBieMS; + +}; + +#endif // PAGESETUPCALCULATORS_H diff --git a/pages/pagesetupcalculators.ui b/pages/pagesetupcalculators.ui new file mode 100644 index 0000000..68210d0 --- /dev/null +++ b/pages/pagesetupcalculators.ui @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSetupCalculators</class> + <widget class="QWidget" name="PageSetupCalculators"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>734</width> + <height>536</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QSplitter" name="splitter"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="childrenCollapsible"> + <bool>false</bool> + </property> + <widget class="VTextBrowser" name="setupText"/> + <widget class="QWidget" name=""> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="currentIndex"> + <number>-1</number> + </property> + <property name="tabsClosable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QPushButton" name="addSetupButton"> + <property name="text"> + <string>Add Setup</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Plus Math-96.png</normaloff>:/res/icons/Plus Math-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="removeSetupButton"> + <property name="text"> + <string>Remove Setup</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Cancel-96.png</normaloff>:/res/icons/Cancel-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>VTextBrowser</class> + <extends>QTextEdit</extends> + <header>widgets/vtextbrowser.h</header> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/pages/pageslavefan.cpp b/pages/pageslavefan.cpp new file mode 100644 index 0000000..566d816 --- /dev/null +++ b/pages/pageslavefan.cpp @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageslavefan.h" +#include "ui_pageslavefan.h" + +PageSlaveFAN::PageSlaveFAN(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSlaveFAN) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageSlaveFAN::~PageSlaveFAN() +{ + delete ui; +} + +BMSInterface *PageSlaveFAN::bms() const { + return mDieBieMS; +} + +void PageSlaveFAN::setDieBieMS(BMSInterface *dieBieMS) { + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->slaveFANTab->addRowSeparator(tr("TBD")); + } +} diff --git a/pages/pageslavefan.h b/pages/pageslavefan.h new file mode 100644 index 0000000..0e3e815 --- /dev/null +++ b/pages/pageslavefan.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESLAVEFAN_H +#define PAGESLAVEFAN_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageSlaveFAN; +} + +class PageSlaveFAN : public QWidget +{ + Q_OBJECT + +public: + explicit PageSlaveFAN(QWidget *parent = 0); + ~PageSlaveFAN(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageSlaveFAN *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGESLAVEFAN_H diff --git a/pages/pageslavefan.ui b/pages/pageslavefan.ui new file mode 100644 index 0000000..b8ce5c0 --- /dev/null +++ b/pages/pageslavefan.ui @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSlaveFAN</class> + <widget class="QWidget" name="PageSlaveFAN"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="ParamTable" name="slaveFANTab"/> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pageslavegeneral.cpp b/pages/pageslavegeneral.cpp new file mode 100644 index 0000000..61f84a1 --- /dev/null +++ b/pages/pageslavegeneral.cpp @@ -0,0 +1,62 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageslavegeneral.h" +#include "ui_pageslavegeneral.h" + +PageSlaveGeneral::PageSlaveGeneral(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSlaveGeneral) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageSlaveGeneral::~PageSlaveGeneral() +{ + delete ui; +} + +BMSInterface *PageSlaveGeneral::bms() const { + return mDieBieMS; +} + +void PageSlaveGeneral::setDieBieMS(BMSInterface *dieBieMS) { + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->slaveSensorsTab->addRowSeparator(tr("NTC's local")); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpPCBTopResistor"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpPCB25Deg"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpPCBBeta"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpExtTopResistor"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpExt25Deg"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpExtBeta"); + ui->slaveSensorsTab->addRowSeparator(tr("NTC Aux")); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpAUXTopResistor"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpAUX25Deg"); + ui->slaveSensorsTab->addParamRow(mDieBieMS->bmsConfig(), "NTCHiAmpAUXBeta"); + } +} diff --git a/pages/pageslavegeneral.h b/pages/pageslavegeneral.h new file mode 100644 index 0000000..ea0bef9 --- /dev/null +++ b/pages/pageslavegeneral.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESLAVEGENERAL_H +#define PAGESLAVEGENERAL_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageSlaveGeneral; +} + +class PageSlaveGeneral : public QWidget +{ + Q_OBJECT + +public: + explicit PageSlaveGeneral(QWidget *parent = 0); + ~PageSlaveGeneral(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageSlaveGeneral *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGESLAVEGENERAL_H diff --git a/pages/pageslavegeneral.ui b/pages/pageslavegeneral.ui new file mode 100644 index 0000000..e9fb53c --- /dev/null +++ b/pages/pageslavegeneral.ui @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSlaveGeneral</class> + <widget class="QWidget" name="PageSlaveGeneral"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <widget class="QWidget" name="Sensors"> + <attribute name="title"> + <string>Sensors</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="slaveSensorsTab"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pageslaveio.cpp b/pages/pageslaveio.cpp new file mode 100644 index 0000000..a183fe2 --- /dev/null +++ b/pages/pageslaveio.cpp @@ -0,0 +1,60 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageslaveio.h" +#include "ui_pageslaveio.h" + +PageSlaveIO::PageSlaveIO(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSlaveIO) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageSlaveIO::~PageSlaveIO() +{ + delete ui; +} + +BMSInterface *PageSlaveIO::bms() const { + return mDieBieMS; +} + +void PageSlaveIO::setDieBieMS(BMSInterface *dieBieMS) { + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->slaveIOTabAUX->addRowSeparator(tr("AUX0")); + ui->slaveIOTabAUX->addParamRow(mDieBieMS->bmsConfig(), "AUX0SignalSource"); + ui->slaveIOTabAUX->addParamRow(mDieBieMS->bmsConfig(), "AUX0TurnOnDelay"); + ui->slaveIOTabAUX->addParamRow(mDieBieMS->bmsConfig(), "AUX0TurnOffDelay"); + + ui->slaveIOTabAUX->addRowSeparator(tr("AUX1")); + ui->slaveIOTabAUX->addParamRow(mDieBieMS->bmsConfig(), "AUX1SignalSource"); + ui->slaveIOTabAUX->addParamRow(mDieBieMS->bmsConfig(), "AUX1TurnOnDelay"); + ui->slaveIOTabAUX->addParamRow(mDieBieMS->bmsConfig(), "AUX1TurnOffDelay"); + } +} diff --git a/pages/pageslaveio.h b/pages/pageslaveio.h new file mode 100644 index 0000000..86e8130 --- /dev/null +++ b/pages/pageslaveio.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESLAVEIO_H +#define PAGESLAVEIO_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageSlaveIO; +} + +class PageSlaveIO : public QWidget +{ + Q_OBJECT + +public: + explicit PageSlaveIO(QWidget *parent = 0); + ~PageSlaveIO(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageSlaveIO *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGESLAVEIO_H diff --git a/pages/pageslaveio.ui b/pages/pageslaveio.ui new file mode 100644 index 0000000..3fde2f3 --- /dev/null +++ b/pages/pageslaveio.ui @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSlaveIO</class> + <widget class="QWidget" name="PageSlaveIO"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="tabShape"> + <enum>QTabWidget::Triangular</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="tabIOAUX"> + <attribute name="title"> + <string>AUX</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="ParamTable" name="slaveIOTabAUX"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="tabIOOpto"> + <attribute name="title"> + <string>Opto</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="ParamTable" name="slaveIOTabOpto"/> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pageslavesettings.cpp b/pages/pageslavesettings.cpp new file mode 100644 index 0000000..8d55424 --- /dev/null +++ b/pages/pageslavesettings.cpp @@ -0,0 +1,60 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageslavesettings.h" +#include "ui_pageslavesettings.h" + +PageSlaveSettings::PageSlaveSettings(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSlaveSettings) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; +} + +PageSlaveSettings::~PageSlaveSettings() +{ + delete ui; +} + +BMSInterface *PageSlaveSettings::bms() const +{ + return mDieBieMS; +} + +void PageSlaveSettings::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ConfigParam *p = mDieBieMS->infoConfig()->getParam("slave_setting_description"); + if (p != 0) { + ui->textEdit->setHtml(p->description); + } else { + ui->textEdit->setText("Slave Setting Description not found."); + } + } +} diff --git a/pages/pageslavesettings.h b/pages/pageslavesettings.h new file mode 100644 index 0000000..a69c0ae --- /dev/null +++ b/pages/pageslavesettings.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESLAVESETTINGS_H +#define PAGESLAVESETTINGS_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageSlaveSettings; +} + +class PageSlaveSettings : public QWidget +{ + Q_OBJECT + +public: + explicit PageSlaveSettings(QWidget *parent = 0); + ~PageSlaveSettings(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageSlaveSettings *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGESLAVESETTINGS_H diff --git a/pages/pageslavesettings.ui b/pages/pageslavesettings.ui new file mode 100644 index 0000000..71e05c7 --- /dev/null +++ b/pages/pageslavesettings.ui @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSlaveSettings</class> + <widget class="QWidget" name="PageSlaveSettings"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="VTextBrowser" name="textEdit"/> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>VTextBrowser</class> + <extends>QTextEdit</extends> + <header>widgets/vtextbrowser.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pageslaveswitch.cpp b/pages/pageslaveswitch.cpp new file mode 100644 index 0000000..91aa4e7 --- /dev/null +++ b/pages/pageslaveswitch.cpp @@ -0,0 +1,61 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageslaveswitch.h" +#include "ui_pageslaveswitch.h" + +PageSlaveSwitch::PageSlaveSwitch(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageSlaveSwitch) +{ + ui->setupUi(this); + mDieBieMS = 0; +} + +PageSlaveSwitch::~PageSlaveSwitch() +{ + delete ui; +} + +BMSInterface *PageSlaveSwitch::bms() const { + return mDieBieMS; +} + +void PageSlaveSwitch::setDieBieMS(BMSInterface *dieBieMS) { + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + ui->switchTab->addRowSeparator(tr("High current output switch")); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "HCUseRelay"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "togglePowerModeDirectHCDelay"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "HCUsePrecharge"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutHCPreCharge"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutHCPreChargeRetryInterval"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "timeoutHCRelayOverlap"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "HCUseLoadDetect"); + ui->switchTab->addParamRow(mDieBieMS->bmsConfig(), "HCLoadDetectThreshold"); + ui->switchTab->addRowSeparator(tr("DCDC Converter")); + } +} diff --git a/pages/pageslaveswitch.h b/pages/pageslaveswitch.h new file mode 100644 index 0000000..94b0538 --- /dev/null +++ b/pages/pageslaveswitch.h @@ -0,0 +1,52 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGESLAVESWITCH_H +#define PAGESLAVESWITCH_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageSlaveSwitch; +} + +class PageSlaveSwitch : public QWidget +{ + Q_OBJECT + +public: + explicit PageSlaveSwitch(QWidget *parent = 0); + ~PageSlaveSwitch(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private: + Ui::PageSlaveSwitch *ui; + BMSInterface *mDieBieMS; +}; + +#endif // PAGESLAVESWITCH_H diff --git a/pages/pageslaveswitch.ui b/pages/pageslaveswitch.ui new file mode 100644 index 0000000..e8183b3 --- /dev/null +++ b/pages/pageslaveswitch.ui @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageSlaveSwitch</class> + <widget class="QWidget" name="PageSlaveSwitch"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>700</width> + <height>500</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="ParamTable" name="switchTab"/> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/pages/pageterminal.cpp b/pages/pageterminal.cpp new file mode 100644 index 0000000..00d85c1 --- /dev/null +++ b/pages/pageterminal.cpp @@ -0,0 +1,81 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pageterminal.h" +#include "ui_pageterminal.h" + +PageTerminal::PageTerminal(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageTerminal) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; +} + +PageTerminal::~PageTerminal() +{ + delete ui; +} + +void PageTerminal::clearTerminal() +{ + ui->terminalBrowser->clear(); +} + +BMSInterface *PageTerminal::bms() const +{ + return mDieBieMS; +} + +void PageTerminal::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + connect(mDieBieMS->commands(), SIGNAL(printReceived(QString)), + this, SLOT(printReceived(QString))); + } +} + +void PageTerminal::printReceived(QString str) +{ + ui->terminalBrowser->append(str); +} + +void PageTerminal::on_sendButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->commands()->sendTerminalCmd(ui->terminalEdit->text()); + ui->terminalEdit->clear(); + } +} + +void PageTerminal::on_helpButton_clicked() +{ + if (mDieBieMS) { + mDieBieMS->commands()->sendTerminalCmd("help"); + } +} diff --git a/pages/pageterminal.h b/pages/pageterminal.h new file mode 100644 index 0000000..6c4c790 --- /dev/null +++ b/pages/pageterminal.h @@ -0,0 +1,60 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGETERMINAL_H +#define PAGETERMINAL_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageTerminal; +} + +class PageTerminal : public QWidget +{ + Q_OBJECT + +public: + explicit PageTerminal(QWidget *parent = 0); + ~PageTerminal(); + void clearTerminal(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +private slots: + void printReceived(QString str); + + void on_sendButton_clicked(); + void on_helpButton_clicked(); + +private: + Ui::PageTerminal *ui; + BMSInterface *mDieBieMS; + +}; + +#endif // PAGETERMINAL_H diff --git a/pages/pageterminal.ui b/pages/pageterminal.ui new file mode 100644 index 0000000..3573d85 --- /dev/null +++ b/pages/pageterminal.ui @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageTerminal</class> + <widget class="QWidget" name="PageTerminal"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>632</width> + <height>452</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QTextBrowser" name="terminalBrowser"> + <property name="font"> + <font> + <family>DejaVu Sans Mono</family> + </font> + </property> + <property name="lineWrapMode"> + <enum>QTextEdit::NoWrap</enum> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Send help command to VESC</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="HistoryLineEdit" name="terminalEdit"/> + </item> + <item> + <widget class="QPushButton" name="sendButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Send command</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Send File-96.png</normaloff>:/res/icons/Send File-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="clearButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Clear terminal</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>HistoryLineEdit</class> + <extends>QLineEdit</extends> + <header>widgets/historylineedit.h</header> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections> + <connection> + <sender>clearButton</sender> + <signal>clicked()</signal> + <receiver>terminalBrowser</receiver> + <slot>clear()</slot> + <hints> + <hint type="sourcelabel"> + <x>599</x> + <y>423</y> + </hint> + <hint type="destinationlabel"> + <x>577</x> + <y>368</y> + </hint> + </hints> + </connection> + <connection> + <sender>terminalEdit</sender> + <signal>returnPressed()</signal> + <receiver>sendButton</receiver> + <slot>click()</slot> + <hints> + <hint type="sourcelabel"> + <x>538</x> + <y>425</y> + </hint> + <hint type="destinationlabel"> + <x>571</x> + <y>424</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/pages/pagewelcome.cpp b/pages/pagewelcome.cpp new file mode 100644 index 0000000..d89cc07 --- /dev/null +++ b/pages/pagewelcome.cpp @@ -0,0 +1,59 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "pagewelcome.h" +#include "ui_pagewelcome.h" +#include "utility.h" +#include <QMessageBox> + +PageWelcome::PageWelcome(QWidget *parent) : + QWidget(parent), + ui(new Ui::PageWelcome) +{ + ui->setupUi(this); + layout()->setContentsMargins(0, 0, 0, 0); + mDieBieMS = 0; + ui->bgWidget->setPixmap(QPixmap("://res/bg.png")); +} + +PageWelcome::~PageWelcome() +{ + delete ui; +} + +BMSInterface *PageWelcome::bms() const +{ + return mDieBieMS; +} + +void PageWelcome::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; +} + +void PageWelcome::on_autoConnectButton_clicked() +{ + Utility::autoconnectBlockingWithProgress(mDieBieMS, this); +} diff --git a/pages/pagewelcome.h b/pages/pagewelcome.h new file mode 100644 index 0000000..e848bf7 --- /dev/null +++ b/pages/pagewelcome.h @@ -0,0 +1,58 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PAGEWELCOME_H +#define PAGEWELCOME_H + +#include <QWidget> +#include "bmsinterface.h" + +namespace Ui { +class PageWelcome; +} + +class PageWelcome : public QWidget +{ + Q_OBJECT + +public: + explicit PageWelcome(QWidget *parent = 0); + ~PageWelcome(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +public slots: + +private slots: + void on_autoConnectButton_clicked(); + +private: + Ui::PageWelcome *ui; + BMSInterface *mDieBieMS; + +}; + +#endif // PAGEWELCOME_H diff --git a/pages/pagewelcome.ui b/pages/pagewelcome.ui new file mode 100644 index 0000000..f66a59e --- /dev/null +++ b/pages/pagewelcome.ui @@ -0,0 +1,86 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>PageWelcome</class> + <widget class="QWidget" name="PageWelcome"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>760</width> + <height>461</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="ImageWidget" name="bgWidget" native="true"> + <layout class="QVBoxLayout" name="verticalLayout_2" stretch="1"> + <property name="leftMargin"> + <number>30</number> + </property> + <property name="topMargin"> + <number>30</number> + </property> + <property name="rightMargin"> + <number>30</number> + </property> + <property name="bottomMargin"> + <number>30</number> + </property> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:20pt;&quot;&gt;Welcome to &lt;/span&gt;&lt;span style=&quot; font-size:20pt; font-weight:600;&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-weight:600;&quot;&gt;®&lt;/span&gt;&lt;span style=&quot; font-size:20pt; font-weight:600;&quot;&gt; Tool&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;You must connect your battery to your ENNOID-BMS before use. Once the battery is connected, the &lt;/span&gt;&lt;span style=&quot; font-size:14pt; font-style:italic;&quot;&gt;power&lt;/span&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt; LED on the ENNOID-BMS should normally turn &lt;/span&gt;&lt;span style=&quot; font-size:14pt; font-weight:600; font-style:italic;&quot;&gt;ON &lt;/span&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;after connecting the USB to a computer host. &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;Click on the &lt;/span&gt;&lt;span style=&quot; font-size:14pt; font-weight:600; font-style:italic;&quot;&gt;Connect &lt;/span&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;button below. The indicator in the bottom right corner should turn green and shows &lt;/span&gt;&lt;span style=&quot; font-size:14pt; font-style:italic;&quot;&gt;&amp;quot;Connected&amp;quot;. &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt; vertical-align:sub;&quot;&gt;(If the connection fails, please make sure you have the appropriate driver for &amp;quot;Silicon Labs CP2104&amp;quot; installed on your computer)&lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;Before using this application for configuring the ENNOID-BMS, make sure you have updated the firmware with one of the included files available in the &amp;quot;Firmware&amp;quot; page. &lt;/span&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;span style=&quot; font-size:14pt;&quot;&gt;Follow the indicated instructions in the &amp;quot;Settings&amp;quot; page for configuring your ENNOID-BMS.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>3</number> + </property> + <item> + <widget class="QPushButton" name="autoConnectButton"> + <property name="toolTip"> + <string>Automatically connect using the USB connection.</string> + </property> + <property name="text"> + <string>Connect</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Connected-96.png</normaloff>:/res/icons/Connected-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>45</width> + <height>45</height> + </size> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ImageWidget</class> + <extends>QWidget</extends> + <header>widgets/imagewidget.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/parametereditor.cpp b/parametereditor.cpp new file mode 100644 index 0000000..ea95d9e --- /dev/null +++ b/parametereditor.cpp @@ -0,0 +1,589 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "parametereditor.h" +#include "ui_parametereditor.h" +#include <QStringList> +#include <QMessageBox> +#include <QFileDialog> +#include <QInputDialog> +#include <QDebug> +#include <cmath> + +ParameterEditor::ParameterEditor(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::ParameterEditor) +{ + ui->setupUi(this); + setEditorValues("new_parameter", ConfigParam()); + + mStatusInfoTime = 0; + mStatusLabel = new QLabel(this); + ui->statusBar->addPermanentWidget(mStatusLabel); + mTimer = new QTimer(this); + mTimer->start(20); + + connect(mTimer, SIGNAL(timeout()), + this, SLOT(timerSlot())); +} + +ParameterEditor::~ParameterEditor() +{ + delete ui; +} + +void ParameterEditor::setParams(const ConfigParams *params) +{ + QStringList paramList = params->getParamOrder(); + mParams.clearParams(); + mParams.setSerializeOrder(params->getSerializeOrder()); + + for (int i = 0;i < paramList.size();i++) { + QString name = paramList.at(i); + mParams.addParam(name, params->getParamCopy(name)); + } + + mParams.setUpdatesEnabled(false); + + showStatusInfo(tr("Parameters Loaded"), true); + + updateUi(); +} + +void ParameterEditor::timerSlot() +{ + // Update status label + if (mStatusInfoTime) { + mStatusInfoTime--; + if (!mStatusInfoTime) { + mStatusLabel->setStyleSheet(qApp->styleSheet()); + } + } else { + if (!mStatusLabel->text().isEmpty()) { + mStatusLabel->clear(); + } + } +} + +void ParameterEditor::on_paramRemoveButton_clicked() +{ + int row = ui->paramList->currentRow(); + + if (row >= 0) { + mParams.deleteParam(ui->paramList->item(row)->text()); + delete ui->paramList->takeItem(row); + } +} + +void ParameterEditor::on_paramDownButton_clicked() +{ + int row = ui->paramList->currentRow(); + QStringList order = mParams.getParamOrder(); + + if (row >= 0 && row < (order.size() - 1)) { + QString name = order.at(row); + order.removeAt(row); + order.insert(row + 1, name); + mParams.setParamOrder(order); + updateUi(); + ui->paramList->setCurrentRow(row + 1); + } +} + +void ParameterEditor::on_paramUpButton_clicked() +{ + int row = ui->paramList->currentRow(); + QStringList order = mParams.getParamOrder(); + + if (row >= 1) { + QString name = order.at(row); + order.removeAt(row); + order.insert(row - 1, name); + mParams.setParamOrder(order); + updateUi(); + ui->paramList->setCurrentRow(row - 1); + } +} + +void ParameterEditor::on_paramOpenButton_clicked() +{ + QListWidgetItem *item = ui->paramList->currentItem(); + QString selected; + + if (item) { + selected = item->text(); + } + + ConfigParam *p = mParams.getParam(selected); + + if (p) { + setEditorValues(selected, *p); + + if (ui->previewTable->rowCount() > 0) { + ui->previewTable->removeRow(0); + } + + if (p->type != CFG_T_UNDEFINED) { + ui->previewTable->addParamRow(&mParams, selected); + } + } +} + +void ParameterEditor::on_paramSaveButton_clicked() +{ + if (ui->nameEdit->text().contains(" ")) { + QMessageBox::warning(this, + tr("Save Parameter"), + tr("Spaces are not allowed in the name.")); + return; + } + + if (ui->nameEdit->text().isEmpty()) { + QMessageBox::warning(this, + tr("Save Parameter"), + tr("Name is empty.")); + return; + } + + QString name; + ConfigParam p; + + name = getEditorValues(&p); + + if (mParams.hasParam(name)) { + *mParams.getParam(name) = p; + showStatusInfo(tr("Parameter updated: %1").arg(name), true); + } else { + mParams.addParam(name, p); + + int row = ui->paramList->currentRow(); + QStringList order = mParams.getParamOrder(); + order.removeLast(); + + if (row < 0) { + row = order.size(); + } else { + row += 1; + } + + order.insert(row, name); + mParams.setParamOrder(order); + + updateUi(); + + ui->paramList->setCurrentRow(row); + showStatusInfo(tr("New parameter added: %1").arg(name), true); + } + + if (ui->previewTable->rowCount() > 0) { + ui->previewTable->removeRow(0); + } + + if (p.type != CFG_T_QSTRING && p.type != CFG_T_UNDEFINED) { + ui->previewTable->addParamRow(&mParams, name); + } +} + +void ParameterEditor::on_paramResetButton_clicked() +{ + setEditorValues("new_parameter", ConfigParam()); +} + +void ParameterEditor::on_serRemoveButton_clicked() +{ + int row = ui->paramSerialOrderList->currentRow(); + + if (row >= 0) { + QStringList order = mParams.getSerializeOrder(); + order.removeAt(row); + mParams.setSerializeOrder(order); + delete ui->paramSerialOrderList->takeItem(row); + } +} + +void ParameterEditor::on_serDownButton_clicked() +{ + int row = ui->paramSerialOrderList->currentRow(); + QStringList order = mParams.getSerializeOrder(); + + if (row >= 0 && row < (order.size() - 1)) { + QString name = order.at(row); + order.removeAt(row); + order.insert(row + 1, name); + mParams.setSerializeOrder(order); + updateUi(); + ui->paramSerialOrderList->setCurrentRow(row + 1); + } +} + +void ParameterEditor::on_serUpButton_clicked() +{ + int row = ui->paramSerialOrderList->currentRow(); + QStringList order = mParams.getSerializeOrder(); + + if (row >= 1) { + QString name = order.at(row); + order.removeAt(row); + order.insert(row - 1, name); + mParams.setSerializeOrder(order); + updateUi(); + ui->paramSerialOrderList->setCurrentRow(row - 1); + } +} + +void ParameterEditor::on_serAddButton_clicked() +{ + QListWidgetItem *item = ui->paramList->currentItem(); + QString selected = ""; + + if (item) { + selected = item->text(); + } + + bool ok; + QString name = QInputDialog::getText(this, + tr("Add to Serialization Order"), + tr("Parameter Name"), + QLineEdit::Normal, + selected, + &ok); + + if (ok) { + if (name.contains(" ")) { + QMessageBox::warning(this, + tr("Add"), + tr("Spaces are not allowed in the name.")); + return; + } + + if (name.isEmpty()) { + QMessageBox::warning(this, + tr("Add"), + tr("Name is empty.")); + return; + } + + int row = ui->paramSerialOrderList->currentRow(); + QStringList order = mParams.getSerializeOrder(); + + if (row < 0 || row >= order.size()) { + row = order.size() - 1; + } + + order.insert(row + 1, name); + mParams.setSerializeOrder(order); + updateUi(); + } +} + +void ParameterEditor::on_paramList_doubleClicked(const QModelIndex &index) +{ + (void)index; + on_paramOpenButton_clicked(); +} + +void ParameterEditor::on_enumAddButton_clicked() +{ + addEnum(tr("<double-click to edit>")); +} + +void ParameterEditor::on_enumRemoveButton_clicked() +{ + int row = ui->enumList->currentRow(); + + if (row >= 0) { + delete ui->enumList->takeItem(row); + } +} + +void ParameterEditor::on_enumMoveUpButton_clicked() +{ + int row = ui->enumList->currentRow(); + + if (row >= 1) { + QListWidgetItem *item = ui->enumList->takeItem(row); + ui->enumList->insertItem(row - 1, item); + ui->enumList->setCurrentRow(row - 1); + } +} + +void ParameterEditor::on_enumMoveDownButton_clicked() +{ + int row = ui->enumList->currentRow(); + + if (row >= 0 && row < (ui->enumList->count() - 1)) { + QListWidgetItem *item = ui->enumList->takeItem(row); + ui->enumList->insertItem(row + 1, item); + ui->enumList->setCurrentRow(row + 1); + } +} + +void ParameterEditor::on_actionLoad_XML_triggered() +{ + QString path; + path = QFileDialog::getOpenFileName(this, + tr("Choose parameter file to load"), + ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + bool res = mParams.loadParamsXml(path); + + if (!res) { + QMessageBox::information(this, + tr("Load Parameters"), + tr("Could not load parameters:<BR>" + "%1").arg(mParams.xmlStatus())); + } else { + showStatusInfo(tr("Configuration Loaded"), true); + } + + updateUi(); +} + +void ParameterEditor::on_actionSave_XML_as_triggered() +{ + QString path; + path = QFileDialog::getSaveFileName(this, + tr("Choose where to save the parameter XML file"), + ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + if (!path.toLower().endsWith(".xml")) { + path += ".xml"; + } + + bool res = mParams.saveParamsXml(path); + + if (!res) { + QMessageBox::information(this, + tr("Save Parameters"), + tr("Could not save parameters:<BR>" + "%1").arg(mParams.xmlStatus())); + } else { + showStatusInfo(tr("Configuration Saved"), true); + } +} + +void ParameterEditor::on_actionDeleteAll_triggered() +{ + QMessageBox::StandardButton reply; + reply = QMessageBox::question(this, + tr("Delete All"), + tr("Are you sure that you want to delete all data?"), + QMessageBox::Yes|QMessageBox::No); + + if (reply == QMessageBox::Yes) { + mParams.clearAll(); + updateUi(); + showStatusInfo(tr("Configuration Deleted"), true); + } +} + +void ParameterEditor::updateUi() +{ + ui->paramList->clear(); + ui->paramList->addItems(mParams.getParamOrder()); + ui->paramSerialOrderList->clear(); + ui->paramSerialOrderList->addItems(mParams.getSerializeOrder()); +} + +void ParameterEditor::setEditorValues(QString name, ConfigParam p) +{ + ui->nameEdit->setText(name); + ui->longNameEdit->setText(p.longName); + ui->typeBox->setCurrentIndex(p.type); + ui->transmittableBox->setCurrentIndex(p.transmittable ? 0 : 1); + ui->descriptionEdit->document()->setHtml(p.description); + ui->cDefineEdit->setText(p.cDefine); + + // Double + + ui->doubleEditorScaleBox->setValue(p.editorScale); + ui->doubleEditPercentageBox->setChecked(p.editAsPercentage); + ui->doubleDecimalsBox->setValue(p.editorDecimalsDouble); + ui->doubleMaxBox->setValue(p.maxDouble); + ui->doubleMinBox->setValue(p.minDouble); + ui->doubleShowDisplayBox->setChecked(p.showDisplay); + ui->doubleStep->setValue(p.stepDouble); + ui->doubleSuffixEdit->setText(p.suffix); + + double val = p.vTxDoubleScale; + double power = floor(log10(val)); + val /= pow(10, power); + + ui->doubleTxScaleBaseBox->setValue(val); + ui->doubleTxScaleExpBox->setValue(power); + + if (p.vTx == VESC_TX_DOUBLE16) { + ui->doubleTxTypeBox->setCurrentIndex(0); + } else if (p.vTx == VESC_TX_DOUBLE32) { + ui->doubleTxTypeBox->setCurrentIndex(1); + } else { + ui->doubleTxTypeBox->setCurrentIndex(2); + } + + ui->doubleValBox->setValue(p.valDouble); + + // Int + ui->intEditorScaleBox->setValue(p.editorScale); + ui->intEditPercentageBox->setChecked(p.editAsPercentage); + ui->intMaxBox->setValue(p.maxInt); + ui->intMinBox->setValue(p.minInt); + ui->intShowDisplayBox->setChecked(p.showDisplay); + ui->intStepBox->setValue(p.stepInt); + ui->intSuffixEdit->setText(p.suffix); + if (p.vTx <= 6 && p.vTx > 0) { + ui->intTxTypeBox->setCurrentIndex(p.vTx - 1); + } + ui->intValBox->setValue(p.valInt); + + // String + ui->stringValEdit->setText(p.valString); + + // Enum + ui->enumList->clear(); + for (int i = 0;i < p.enumNames.size();i++) { + addEnum(p.enumNames.at(i)); + } + + if (p.valInt >= 0 && p.valInt < p.enumNames.size()) { + ui->enumList->setCurrentRow(p.valInt); + } + + // Bool + ui->boolBox->setCurrentIndex(p.valInt > 0 ? 1 : 0); +} + +QString ParameterEditor::getEditorValues(ConfigParam *p) +{ + if (p) { + p->longName = ui->longNameEdit->text(); + p->type = (CFG_T)ui->typeBox->currentIndex(); + p->transmittable = ui->transmittableBox->currentIndex() == 0; + p->description = ui->descriptionEdit->toHtmlNoFontSize(); + p->cDefine = ui->cDefineEdit->text(); + + switch (p->type) { + case CFG_T_DOUBLE: + p->editorScale = ui->doubleEditorScaleBox->value(); + p->editAsPercentage = ui->doubleEditPercentageBox->isChecked(); + p->editorDecimalsDouble = ui->doubleDecimalsBox->value(); + p->maxDouble = ui->doubleMaxBox->value(); + p->minDouble = ui->doubleMinBox->value(); + p->showDisplay = ui->doubleShowDisplayBox->isChecked(); + p->stepDouble = ui->doubleStep->value(); + p->suffix = ui->doubleSuffixEdit->text(); + p->vTxDoubleScale = ui->doubleTxScaleBaseBox->value() * + pow(10, ui->doubleTxScaleExpBox->value()); + p->vTx = (VESC_TX_T)(ui->doubleTxTypeBox->currentIndex() + 7); + p->valDouble = ui->doubleValBox->value(); + break; + + case CFG_T_INT: + p->editorScale = ui->intEditorScaleBox->value(); + p->editAsPercentage = ui->intEditPercentageBox->isChecked(); + p->maxInt = ui->intMaxBox->value(); + p->minInt = ui->intMinBox->value(); + p->showDisplay = ui->intShowDisplayBox->isChecked(); + p->stepInt = ui->intStepBox->value(); + p->suffix = ui->intSuffixEdit->text(); + p->vTx = (VESC_TX_T)(ui->intTxTypeBox->currentIndex() + 1); + p->valInt = ui->intValBox->value(); + break; + + case CFG_T_QSTRING: + p->valString = ui->stringValEdit->text(); + break; + + case CFG_T_ENUM: + p->enumNames.clear(); + for (int i = 0;i < ui->enumList->count();i++) { + p->enumNames.append(ui->enumList->item(i)->text()); + } + p->valInt = ui->enumList->currentRow(); + break; + + case CFG_T_BOOL: + p->valInt = ui->boolBox->currentIndex(); + break; + + default: + break; + } + } + + return ui->nameEdit->text(); +} + +void ParameterEditor::addEnum(QString name) +{ + QListWidgetItem *item = new QListWidgetItem(name); + item->setFlags (item->flags() | Qt :: ItemIsEditable); + ui->enumList->addItem(item); +} + +void ParameterEditor::showStatusInfo(QString info, bool isGood) +{ + if (isGood) { + mStatusLabel->setStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + } else { + mStatusLabel->setStyleSheet("QLabel { background-color : red; color : black; }"); + } + + mStatusInfoTime = 80; + mStatusLabel->setText(info); +} + +void ParameterEditor::on_doubleTxTypeBox_currentIndexChanged(int index) +{ + if (index == 2) { + ui->doubleTxScaleBaseBox->setEnabled(false); + ui->doubleTxScaleExpBox->setEnabled(false); + ui->doubleTxScaleExpLabel->setEnabled(false); + ui->doubleTxScaleLabel->setEnabled(false); + } else { + ui->doubleTxScaleBaseBox->setEnabled(true); + ui->doubleTxScaleExpBox->setEnabled(true); + ui->doubleTxScaleExpLabel->setEnabled(true); + ui->doubleTxScaleLabel->setEnabled(true); + } +} + +void ParameterEditor::on_actionCalculatePacketSize_triggered() +{ + VByteArray bytes; + mParams.serialize(bytes); + QMessageBox::information(this, + tr("Packet Size"), + tr("%1 Bytes").arg(bytes.size())); +} diff --git a/parametereditor.h b/parametereditor.h new file mode 100644 index 0000000..e85e635 --- /dev/null +++ b/parametereditor.h @@ -0,0 +1,86 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef PARAMETEREDITOR_H +#define PARAMETEREDITOR_H + +#include <QMainWindow> +#include <QLabel> +#include <QTimer> +#include "configparams.h" + +namespace Ui { +class ParameterEditor; +} + +class ParameterEditor : public QMainWindow +{ + Q_OBJECT + +public: + explicit ParameterEditor(QWidget *parent = 0); + ~ParameterEditor(); + void setParams(const ConfigParams *params); + +private slots: + void timerSlot(); + + void on_paramRemoveButton_clicked(); + void on_paramDownButton_clicked(); + void on_paramUpButton_clicked(); + void on_paramOpenButton_clicked(); + void on_paramSaveButton_clicked(); + void on_paramResetButton_clicked(); + void on_serRemoveButton_clicked(); + void on_serDownButton_clicked(); + void on_serUpButton_clicked(); + void on_serAddButton_clicked(); + void on_paramList_doubleClicked(const QModelIndex &index); + void on_enumAddButton_clicked(); + void on_enumRemoveButton_clicked(); + void on_enumMoveUpButton_clicked(); + void on_enumMoveDownButton_clicked(); + void on_actionLoad_XML_triggered(); + void on_actionSave_XML_as_triggered(); + void on_actionDeleteAll_triggered(); + void on_doubleTxTypeBox_currentIndexChanged(int index); + void on_actionCalculatePacketSize_triggered(); + +private: + Ui::ParameterEditor *ui; + ConfigParams mParams; + QTimer *mTimer; + QLabel *mStatusLabel; + int mStatusInfoTime; + + void updateUi(); + void setEditorValues(QString name, ConfigParam p); + QString getEditorValues(ConfigParam *p); + void addEnum(QString name); + void showStatusInfo(QString info, bool isGood); + +}; + +#endif // PARAMETEREDITOR_H diff --git a/parametereditor.ui b/parametereditor.ui new file mode 100644 index 0000000..a59b1db --- /dev/null +++ b/parametereditor.ui @@ -0,0 +1,1214 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParameterEditor</class> + <widget class="QMainWindow" name="ParameterEditor"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>1170</width> + <height>618</height> + </rect> + </property> + <property name="windowTitle"> + <string>ENNOID-BMS Parameter Editor</string> + </property> + <property name="windowIcon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Horizontal Settings Mixer-96.png</normaloff>:/res/icons/Horizontal Settings Mixer-96.png</iconset> + </property> + <widget class="QWidget" name="centralwidget"> + <layout class="QHBoxLayout" name="horizontalLayout_6" stretch="0,1,0"> + <item> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QLabel" name="label"> + <property name="text"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;Parameter&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="paramList"> + <property name="minimumSize"> + <size> + <width>280</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>280</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer_3"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="paramRemoveButton"> + <property name="toolTip"> + <string>Delete</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="paramDownButton"> + <property name="toolTip"> + <string>Move down</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Down-96.png</normaloff>:/res/icons/Down-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="paramUpButton"> + <property name="toolTip"> + <string>Move up</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Up-96.png</normaloff>:/res/icons/Up-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="paramOpenButton"> + <property name="toolTip"> + <string>Open in editor</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Open Folder-96.png</normaloff>:/res/icons/Open Folder-96.png</iconset> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_4"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout_7"> + <item> + <widget class="QLabel" name="label_16"> + <property name="text"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;Editor&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QTabWidget" name="tabWidget"> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="tab"> + <attribute name="title"> + <string>Parameter</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <item> + <layout class="QGridLayout" name="gridLayout"> + <item row="2" column="0"> + <widget class="QLabel" name="label_5"> + <property name="text"> + <string>Type</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_4"> + <property name="text"> + <string>Long Name</string> + </property> + </widget> + </item> + <item row="1" column="1"> + <widget class="QLineEdit" name="longNameEdit"/> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="nameEdit"/> + </item> + <item row="2" column="1"> + <widget class="QComboBox" name="typeBox"> + <item> + <property name="text"> + <string>Undefined</string> + </property> + </item> + <item> + <property name="text"> + <string>Double</string> + </property> + </item> + <item> + <property name="text"> + <string>Int</string> + </property> + </item> + <item> + <property name="text"> + <string>String</string> + </property> + </item> + <item> + <property name="text"> + <string>Enum</string> + </property> + </item> + <item> + <property name="text"> + <string>Bool</string> + </property> + </item> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_3"> + <property name="text"> + <string>Name</string> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_13"> + <property name="text"> + <string>Transmittable</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QComboBox" name="transmittableBox"> + <item> + <property name="text"> + <string>True</string> + </property> + </item> + <item> + <property name="text"> + <string>False</string> + </property> + </item> + </widget> + </item> + </layout> + </item> + <item> + <widget class="QStackedWidget" name="stackedWidget"> + <property name="frameShape"> + <enum>QFrame::Box</enum> + </property> + <property name="currentIndex"> + <number>0</number> + </property> + <widget class="QWidget" name="page_2"/> + <widget class="QWidget" name="page"> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <item> + <layout class="QGridLayout" name="gridLayout_2" columnstretch="0,0,0,0"> + <item row="5" column="0"> + <widget class="QLabel" name="label_27"> + <property name="text"> + <string>Editor Decimals</string> + </property> + </widget> + </item> + <item row="1" column="1" colspan="3"> + <widget class="QDoubleSpinBox" name="doubleMaxBox"> + <property name="decimals"> + <number>8</number> + </property> + <property name="minimum"> + <double>-100000000000.000000000000000</double> + </property> + <property name="maximum"> + <double>100000000000.000000000000000</double> + </property> + <property name="value"> + <double>100.000000000000000</double> + </property> + </widget> + </item> + <item row="0" column="0"> + <widget class="QLabel" name="label_6"> + <property name="text"> + <string>Default Value</string> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_7"> + <property name="text"> + <string>Maximum Value</string> + </property> + </widget> + </item> + <item row="0" column="1" colspan="3"> + <widget class="QDoubleSpinBox" name="doubleValBox"> + <property name="decimals"> + <number>8</number> + </property> + <property name="minimum"> + <double>-10000000000.000000000000000</double> + </property> + <property name="maximum"> + <double>10000000000.000000000000000</double> + </property> + <property name="value"> + <double>0.000000000000000</double> + </property> + </widget> + </item> + <item row="7" column="1" colspan="3"> + <widget class="QComboBox" name="doubleTxTypeBox"> + <property name="currentIndex"> + <number>0</number> + </property> + <item> + <property name="text"> + <string>DOUBLE_16</string> + </property> + </item> + <item> + <property name="text"> + <string>DOUBLE_32</string> + </property> + </item> + <item> + <property name="text"> + <string>DOUBLE_32_AUTO</string> + </property> + </item> + </widget> + </item> + <item row="2" column="1" colspan="3"> + <widget class="QDoubleSpinBox" name="doubleMinBox"> + <property name="decimals"> + <number>8</number> + </property> + <property name="minimum"> + <double>-100000000000.000000000000000</double> + </property> + <property name="maximum"> + <double>100000000000.000000000000000</double> + </property> + <property name="value"> + <double>-100.000000000000000</double> + </property> + </widget> + </item> + <item row="6" column="1" colspan="3"> + <widget class="QLineEdit" name="doubleSuffixEdit"/> + </item> + <item row="8" column="1"> + <widget class="QDoubleSpinBox" name="doubleTxScaleBaseBox"> + <property name="value"> + <double>1.000000000000000</double> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_10"> + <property name="text"> + <string>Editor Scale</string> + </property> + </widget> + </item> + <item row="7" column="0"> + <widget class="QLabel" name="label_12"> + <property name="text"> + <string>TX Type</string> + </property> + </widget> + </item> + <item row="8" column="0"> + <widget class="QLabel" name="doubleTxScaleLabel"> + <property name="text"> + <string>TX Scale</string> + </property> + </widget> + </item> + <item row="8" column="2"> + <widget class="QLabel" name="doubleTxScaleExpLabel"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>x 10^</string> + </property> + </widget> + </item> + <item row="8" column="3"> + <widget class="QDoubleSpinBox" name="doubleTxScaleExpBox"> + <property name="decimals"> + <number>0</number> + </property> + <property name="minimum"> + <double>-99.000000000000000</double> + </property> + <property name="maximum"> + <double>99.000000000000000</double> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_9"> + <property name="text"> + <string>Editor Step</string> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_8"> + <property name="text"> + <string>Minimum Value</string> + </property> + </widget> + </item> + <item row="6" column="0"> + <widget class="QLabel" name="label_11"> + <property name="text"> + <string>Suffix</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QDoubleSpinBox" name="doubleEditorScaleBox"> + <property name="decimals"> + <number>8</number> + </property> + <property name="maximum"> + <double>100000000.000000000000000</double> + </property> + <property name="value"> + <double>1.000000000000000</double> + </property> + </widget> + </item> + <item row="4" column="2" colspan="2"> + <widget class="QCheckBox" name="doubleEditPercentageBox"> + <property name="text"> + <string>Edit as Percentage</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QDoubleSpinBox" name="doubleStep"> + <property name="decimals"> + <number>8</number> + </property> + <property name="maximum"> + <double>100000000.000000000000000</double> + </property> + <property name="value"> + <double>1.000000000000000</double> + </property> + </widget> + </item> + <item row="3" column="2" colspan="2"> + <widget class="QCheckBox" name="doubleShowDisplayBox"> + <property name="text"> + <string>Show Display</string> + </property> + </widget> + </item> + <item row="5" column="1" colspan="3"> + <widget class="QSpinBox" name="doubleDecimalsBox"> + <property name="maximum"> + <number>10</number> + </property> + <property name="value"> + <number>2</number> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>149</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_3"> + <layout class="QVBoxLayout" name="verticalLayout_10"> + <item> + <layout class="QGridLayout" name="gridLayout_3"> + <item row="0" column="0"> + <widget class="QLabel" name="label_21"> + <property name="text"> + <string>Default Value</string> + </property> + </widget> + </item> + <item row="0" column="1" colspan="2"> + <widget class="QSpinBox" name="intValBox"> + <property name="minimum"> + <number>-100000000</number> + </property> + <property name="maximum"> + <number>100000000</number> + </property> + </widget> + </item> + <item row="1" column="0"> + <widget class="QLabel" name="label_22"> + <property name="text"> + <string>Max</string> + </property> + </widget> + </item> + <item row="1" column="1" colspan="2"> + <widget class="QSpinBox" name="intMaxBox"> + <property name="minimum"> + <number>-100000000</number> + </property> + <property name="maximum"> + <number>100000000</number> + </property> + <property name="value"> + <number>5000</number> + </property> + </widget> + </item> + <item row="2" column="0"> + <widget class="QLabel" name="label_19"> + <property name="text"> + <string>Min</string> + </property> + </widget> + </item> + <item row="2" column="1" colspan="2"> + <widget class="QSpinBox" name="intMinBox"> + <property name="minimum"> + <number>-100000000</number> + </property> + <property name="maximum"> + <number>100000000</number> + </property> + <property name="value"> + <number>-5000</number> + </property> + </widget> + </item> + <item row="3" column="0"> + <widget class="QLabel" name="label_20"> + <property name="text"> + <string>Editor Step</string> + </property> + </widget> + </item> + <item row="4" column="0"> + <widget class="QLabel" name="label_18"> + <property name="text"> + <string>Editor Scale</string> + </property> + </widget> + </item> + <item row="4" column="2"> + <widget class="QCheckBox" name="intEditPercentageBox"> + <property name="text"> + <string>Edit as Percentage</string> + </property> + </widget> + </item> + <item row="5" column="0"> + <widget class="QLabel" name="label_15"> + <property name="text"> + <string>Suffix</string> + </property> + </widget> + </item> + <item row="6" column="0"> + <widget class="QLabel" name="label_17"> + <property name="text"> + <string>TX Type</string> + </property> + </widget> + </item> + <item row="6" column="1" colspan="2"> + <widget class="QComboBox" name="intTxTypeBox"> + <item> + <property name="text"> + <string>UINT_8</string> + </property> + </item> + <item> + <property name="text"> + <string>INT_8</string> + </property> + </item> + <item> + <property name="text"> + <string>UINT_16</string> + </property> + </item> + <item> + <property name="text"> + <string>INT_16</string> + </property> + </item> + <item> + <property name="text"> + <string>UINT_32</string> + </property> + </item> + <item> + <property name="text"> + <string>INT_32</string> + </property> + </item> + </widget> + </item> + <item row="5" column="1" colspan="2"> + <widget class="QLineEdit" name="intSuffixEdit"/> + </item> + <item row="3" column="1"> + <widget class="QSpinBox" name="intStepBox"> + <property name="minimum"> + <number>-100000000</number> + </property> + <property name="maximum"> + <number>100000000</number> + </property> + <property name="value"> + <number>1</number> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QCheckBox" name="intShowDisplayBox"> + <property name="text"> + <string>Show Display</string> + </property> + </widget> + </item> + <item row="4" column="1"> + <widget class="QDoubleSpinBox" name="intEditorScaleBox"> + <property name="decimals"> + <number>8</number> + </property> + <property name="maximum"> + <double>100000000.000000000000000</double> + </property> + <property name="value"> + <double>1.000000000000000</double> + </property> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>76</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_4"> + <layout class="QVBoxLayout" name="verticalLayout_12"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_4"> + <item> + <widget class="QLabel" name="label_23"> + <property name="text"> + <string>Default Value</string> + </property> + </widget> + </item> + <item> + <widget class="QLineEdit" name="stringValEdit"/> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>394</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_5"> + <layout class="QVBoxLayout" name="verticalLayout_13"> + <item> + <widget class="QListWidget" name="enumList"/> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_5"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="enumRemoveButton"> + <property name="toolTip"> + <string>Delete</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="enumMoveDownButton"> + <property name="toolTip"> + <string>Move down</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Down-96.png</normaloff>:/res/icons/Down-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="enumMoveUpButton"> + <property name="toolTip"> + <string>Move up</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Up-96.png</normaloff>:/res/icons/Up-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="enumAddButton"> + <property name="toolTip"> + <string>Add new</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Plus Math-96.png</normaloff>:/res/icons/Plus Math-96.png</iconset> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_8"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QWidget" name="page_6"> + <layout class="QVBoxLayout" name="verticalLayout_5"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_7" stretch="0,1"> + <item> + <widget class="QLabel" name="label_24"> + <property name="text"> + <string>Default Value</string> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="boolBox"> + <item> + <property name="text"> + <string>False</string> + </property> + </item> + <item> + <property name="text"> + <string>True</string> + </property> + </item> + </widget> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_4"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>288</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </widget> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_2"> + <attribute name="title"> + <string>Description</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="MRichTextEdit" name="descriptionEdit" native="true"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_3"> + <attribute name="title"> + <string>Misc</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_8"> + <item> + <layout class="QGridLayout" name="gridLayout_4"> + <item row="0" column="0"> + <widget class="QLabel" name="label_25"> + <property name="text"> + <string>C Define</string> + </property> + </widget> + </item> + <item row="0" column="1"> + <widget class="QLineEdit" name="cDefineEdit"/> + </item> + </layout> + </item> + <item> + <spacer name="verticalSpacer_5"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>415</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + <widget class="QWidget" name="tab_4"> + <attribute name="title"> + <string>Preview</string> + </attribute> + <layout class="QVBoxLayout" name="verticalLayout_9"> + <item> + <widget class="QLabel" name="label_26"> + <property name="text"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;This is what the editor of this parameter is going to look like. This preview is updated when a parameter is opened for editing, and when changes are saved.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="ParamTable" name="previewTable"/> + </item> + </layout> + </widget> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_3"> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="paramResetButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Reset editor</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="paramSaveButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Save changes (or make new parameter if this name does not exist)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Save-96.png</normaloff>:/res/icons/Save-96.png</iconset> + </property> + <property name="shortcut"> + <string>Ctrl+S</string> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_7"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </item> + <item> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:14pt; font-weight:600;&quot;&gt;Serialization Order&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="paramSerialOrderList"> + <property name="minimumSize"> + <size> + <width>280</width> + <height>0</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>280</width> + <height>16777215</height> + </size> + </property> + </widget> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <spacer name="horizontalSpacer_5"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="serRemoveButton"> + <property name="toolTip"> + <string>Delete</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="serDownButton"> + <property name="toolTip"> + <string>Move down</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Down-96.png</normaloff>:/res/icons/Down-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="serUpButton"> + <property name="toolTip"> + <string>Move up</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Up-96.png</normaloff>:/res/icons/Up-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="serAddButton"> + <property name="toolTip"> + <string>Add new</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Plus Math-96.png</normaloff>:/res/icons/Plus Math-96.png</iconset> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_6"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </item> + </layout> + </item> + </layout> + </widget> + <widget class="QMenuBar" name="menubar"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>1170</width> + <height>22</height> + </rect> + </property> + <widget class="QMenu" name="menuFile"> + <property name="title"> + <string>File</string> + </property> + <addaction name="actionLoad_XML"/> + <addaction name="actionSave_XML_as"/> + </widget> + <widget class="QMenu" name="menuEdit"> + <property name="title"> + <string>Edit</string> + </property> + <addaction name="actionDeleteAll"/> + </widget> + <widget class="QMenu" name="menuTools"> + <property name="title"> + <string>Tools</string> + </property> + <addaction name="actionCalculatePacketSize"/> + </widget> + <addaction name="menuFile"/> + <addaction name="menuEdit"/> + <addaction name="menuTools"/> + </widget> + <widget class="QStatusBar" name="statusBar"/> + <action name="actionLoad_XML"> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Open Folder-96.png</normaloff>:/res/icons/Open Folder-96.png</iconset> + </property> + <property name="text"> + <string>Load XML</string> + </property> + </action> + <action name="actionSave_XML_as"> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Save as-96.png</normaloff>:/res/icons/Save as-96.png</iconset> + </property> + <property name="text"> + <string>Save XML as...</string> + </property> + </action> + <action name="actionDeleteAll"> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Delete-96.png</normaloff>:/res/icons/Delete-96.png</iconset> + </property> + <property name="text"> + <string>Delete All Data</string> + </property> + </action> + <action name="actionCalculatePacketSize"> + <property name="icon"> + <iconset resource="res.qrc"> + <normaloff>:/res/icons/Calculator-96.png</normaloff>:/res/icons/Calculator-96.png</iconset> + </property> + <property name="text"> + <string>Calculate Packet Size</string> + </property> + </action> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + <customwidget> + <class>MRichTextEdit</class> + <extends>QWidget</extends> + <header>widgets/mrichtextedit.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources> + <include location="res.qrc"/> + </resources> + <connections> + <connection> + <sender>typeBox</sender> + <signal>currentIndexChanged(int)</signal> + <receiver>stackedWidget</receiver> + <slot>setCurrentIndex(int)</slot> + <hints> + <hint type="sourcelabel"> + <x>588</x> + <y>203</y> + </hint> + <hint type="destinationlabel"> + <x>587</x> + <y>226</y> + </hint> + </hints> + </connection> + </connections> +</ui> diff --git a/res.qrc b/res.qrc new file mode 100644 index 0000000..93a3210 --- /dev/null +++ b/res.qrc @@ -0,0 +1,160 @@ +<RCC> + <qresource prefix="/"> + <file>res/icons/Horizontal Settings Mixer-96.png</file> + <file>res/icons/Data Backup-96.png</file> + <file>res/icons/Download-96.png</file> + <file>res/icons/Help-96.png</file> + <file>res/icons_textedit/Add Image-96.png</file> + <file>res/icons_textedit/Bold-96.png</file> + <file>res/icons_textedit/Bulleted List-96.png</file> + <file>res/icons_textedit/Copy-96.png</file> + <file>res/icons_textedit/Cut-96.png</file> + <file>res/icons_textedit/Fill Color-96.png</file> + <file>res/icons_textedit/Indent-96.png</file> + <file>res/icons_textedit/Italic-96.png</file> + <file>res/icons_textedit/Link-96.png</file> + <file>res/icons_textedit/Menu 2-96.png</file> + <file>res/icons_textedit/Numbered List-96.png</file> + <file>res/icons_textedit/Outdent-96.png</file> + <file>res/icons_textedit/Paste-96.png</file> + <file>res/icons_textedit/Redo-96.png</file> + <file>res/icons_textedit/Strikethrough-96.png</file> + <file>res/icons_textedit/Text Color-96.png</file> + <file>res/icons_textedit/Undo-96.png</file> + <file>res/icons/Upload-96.png</file> + <file>res/icons/Toggle Off-96_2.png</file> + <file>res/icons/Toggle On-96_2.png</file> + <file>res/icons/Open Folder-96.png</file> + <file>res/icons/Save-96.png</file> + <file>res/icons/Save as-96.png</file> + <file>res/icons/Connected-96.png</file> + <file>res/icons/Refresh-96.png</file> + <file>res/icons/Restart-96.png</file> + <file>res/icons/Disconnected-96.png</file> + <file>res/icons/Anchor-96.png</file> + <file>res/icons/Circled Play-96.png</file> + <file>res/icons/Stop Sign-96.png</file> + <file>res/icons/Stop-96.png</file> + <file>res/icons/can_off.png</file> + <file>res/icons/can_on.png</file> + <file>res/icons/Brake Warning-96.png</file> + <file>res/icons/Line Chart-96.png</file> + <file>res/icons/rt_off.png</file> + <file>res/icons/rt_on.png</file> + <file>res/icons/Shutdown-96.png</file> + <file>res/icons/About-96.png</file> + <file>res/icons/keys_off.png</file> + <file>res/icons/keys_on.png</file> + <file>res/icons/app_default.png</file> + <file>res/icons/app_down.png</file> + <file>res/icons/app_up.png</file> + <file>res/icons/motor_default.png</file> + <file>res/icons/motor_down.png</file> + <file>res/icons/motor_up.png</file> + <file>res/icons/motor.png</file> + <file>res/icons/mcconf.png</file> + <file>res/icons/3ph_sine.png</file> + <file>res/icons/Delete-96.png</file> + <file>res/icons/Console-96.png</file> + <file>res/icons/Bug-96.png</file> + <file>res/icons/Process-96.png</file> + <file>res/icons/bldc.png</file> + <file>res/icons/Controller-96.png</file> + <file>res/icons/Down-96.png</file> + <file>res/icons/Plus Math-96.png</file> + <file>res/icons/Up-96.png</file> + <file>res/icons/Ok-96.png</file> + <file>res/icons/Car Battery-96.png</file> + <file>res/icons/lambda.png</file> + <file>res/icons/rl.png</file> + <file>res/icons/Calculator-96.png</file> + <file>res/icons/Speed-96.png</file> + <file>res/icons/rt_app_off.png</file> + <file>res/icons/rt_app_on.png</file> + <file>res/icons/Outgoing Data-96.png</file> + <file>res/icons/Potentiometer-96.png</file> + <file>res/icons/Rs 232 Male-96.png</file> + <file>res/icons/Wii-96.png</file> + <file>res/icons/Online-96.png</file> + <file>res/icons/Send File-96.png</file> + <file>res/icons/Cancel-96.png</file> + <file>res/icons/Electronics-96.png</file> + <file>res/icons/alive_off.png</file> + <file>res/icons/alive_on.png</file> + <file>res/icons/expand_off.png</file> + <file>res/icons/expand_on.png</file> + <file>res/icons/size_off.png</file> + <file>res/icons/size_on.png</file> + <file>res/icons/expand_v_off.png</file> + <file>res/icons/expand_v_on.png</file> + <file>res/icons/Home-96.png</file> + <file>res/icons/Wizard-96.png</file> + <file>res/icons/apply.png</file> + <file>res/icons/arrow_down.png</file> + <file>res/icons/arrow_l.png</file> + <file>res/icons/arrow_r.png</file> + <file>res/icons/arrow_up.png</file> + <file>res/firmwares/CHANGELOG</file> + <file>res/icons_textedit/Align Center-96.png</file> + <file>res/icons_textedit/Align Justify-96.png</file> + <file>res/icons_textedit/Align Left-96.png</file> + <file>res/icons_textedit/Align Right-96.png</file> + <file>res/info.xml</file> + <file>res/CHANGELOG</file> + <file>res/icons/sampl_trigger_start.png</file> + <file>res/icons/sample_trigger_fault_nosend.png</file> + <file>res/icons/sample_trigger_fault.png</file> + <file>res/icons/sample_trigger_start_nosend.png</file> + <file>res/icons/User Group Man Man-96.png</file> + <file>res/icons/Settings-96.png</file> + <file>res/fonts/DejaVuSans.ttf</file> + <file>res/fonts/DejaVuSans-Oblique.ttf</file> + <file>res/fonts/DejaVuSansMono-Oblique.ttf</file> + <file>res/fonts/DejaVuSansMono-BoldOblique.ttf</file> + <file>res/fonts/DejaVuSansMono-Bold.ttf</file> + <file>res/fonts/DejaVuSansMono.ttf</file> + <file>res/fonts/DejaVuSans-BoldOblique.ttf</file> + <file>res/fonts/DejaVuSans-Bold.ttf</file> + <file>res/icons/ic_folder_open_black_48dp.png</file> + <file>res/icons/ic_insert_drive_file_black_48dp.png</file> + <file>res/icons/fan-96.png</file> + <file>res/icons/batteries-96.png</file> + <file>res/logo.png</file> + <file>res/bg.png</file> + <file>res/config.xml</file> + <file>res/firmwares/ENNOID/ENNOID-BMS.bin</file> + <file>res/firmwares/ENNOID-HV/ENNOID-BMS_HV.bin</file> + <file>res/logo_white.png</file> + <file>res/firmwares/ENNOID-LV/ENNOID-BMS_LV.bin</file> + <file>res/firmwares/ENNOID-SS/ENNOID-BMS_SS.bin</file> + <file>res/firmwares/ENNOID-SS-LITE/ENNOID-BMS_SS_LITE.bin</file> + <file>res/bootloaders/generic.bin</file> + <file>res/b0L.png</file> + <file>res/b0R.png</file> + <file>res/cbox-arrow-down.png</file> + <file>res/cbox-arrow-down-black.png</file> + <file>res/cbox-arrow-down-gray.png</file> + <file>res/checkbox_checked.png</file> + <file>res/checkbox_checked-green.png</file> + <file>res/checkbox_checked-next.png</file> + <file>res/checkbox_checked-rect.png</file> + <file>res/cubo-verde-logo-green.png</file> + <file>res/cubo-verde-logo-white.png</file> + <file>res/language-russ.png</file> + <file>res/menu-akb-monitor.png</file> + <file>res/menu-cells-monitor.png</file> + <file>res/menu-configuration.png</file> + <file>res/menu-exit.png</file> + <file>res/menu-history.png</file> + <file>res/menu-serive-of-bms.png</file> + <file>res/menu-settings-extra.png</file> + <file>res/menu-visualization.png</file> + <file>res/fonts/Artifakt-Element.ttf</file> + <file>res/cbox-arrow-down-black-big.png</file> + <file>res/cbox-arrow-up-green.png</file> + <file>res/cbox-arrow-up-green-big.png</file> + <file>res/icons/Restart-97-Black.png</file> + <file>res/icons/Restart-97-White.png</file> + <file>res/language-eng.png</file> + </qresource> +</RCC> diff --git a/res/CHANGELOG b/res/CHANGELOG new file mode 100644 index 0000000..61cca6b --- /dev/null +++ b/res/CHANGELOG @@ -0,0 +1,30 @@ +=== FW 1.3 === +* Support for ENNOID-BMS-SS & ENNOID-BMS-SS-LITE +* Humidity sensor support HTC1080 & SI7020/SHT21 on SS boards +* Charger voltage readings on SS boards +* SSD1306 display "Basic/Advanced" options +* Many bug fixes + +=== FW 1.2 === +* Support for Expansion board + +=== FW 1.1 === +* Major code cleanup (Unused modules removed) +* New charger voltage factor & offset measurement options +* High current path (HC) related code from DiebieMS removed +* "testbms" terminal command is now functional for testing slaves boards +* Timeout charge retry is now up to 1000 seconds +* Fixed toggle switch bug at charging +* Fixed charging issue with same charge/discharge port +* Default settings are now set for Master-LV +* LTC6812 & LTC6813 complete support +* Balancing mask are now all uint_32t for supporting LTC6813 +* Precharge : "persistent" option is now renamed to "forced" +* Min/Max Charge & discharge temperatures protections are now functional +* Support for new Master-HV onboard precharge relay on PC15 +* Slave board temperature measurement as been removed from battery temp statistics +* Battery MAX can be now set to 120 celcius for disabling without error + +=== FW 1.0 === +* ENNOID-BMS Master initial release + diff --git a/res/WARRANTY b/res/WARRANTY new file mode 100644 index 0000000..41b1fa5 --- /dev/null +++ b/res/WARRANTY @@ -0,0 +1,5 @@ +=== 1.0 === +* ENNOID-BMS master V2 enabled version + +=== 0.1 === +* Initial version taken from DieBieMS diff --git a/res/b0L.png b/res/b0L.png new file mode 100644 index 0000000000000000000000000000000000000000..ed60eadec45b23ae6fbf1003d8f420cc941ec2e2 GIT binary patch literal 6403 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 RwweF{002ovPDHLkV1n$M1GE4D literal 0 HcmV?d00001 diff --git a/res/b0R.png b/res/b0R.png new file mode 100644 index 0000000000000000000000000000000000000000..abc5c49db7f18e711b7bbb7530883ea3feac0f8a GIT binary patch literal 6525 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 literal 0 HcmV?d00001 diff --git a/res/bg.png b/res/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..1287d4ab9901f74b7ca3e274619f6a18c77f773e GIT binary patch literal 1215 zcmeAS@N?(olHy`uVBq!ia0y~yU{PaWU}WN81BxiEyS4*Ju@pObhHwBu4M$1`kk47* z5n0T@z;^_M8K-LVNdpBXOI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kpdcI z<LTlUQZeW4K}JTPmL`S&>+?JuK+I7v8UmvsFd725Ltu~eZY2iBM+S~OAT^$@elF{r G5}E)HdnXD2 literal 0 HcmV?d00001 diff --git a/res/bootloaders/CHANGELOG b/res/bootloaders/CHANGELOG new file mode 100644 index 0000000..2ecdfac --- /dev/null +++ b/res/bootloaders/CHANGELOG @@ -0,0 +1,2 @@ +=== 0.1 === +* Initial version taken from DieBieMS diff --git a/res/bootloaders/generic.bin b/res/bootloaders/generic.bin new file mode 100644 index 0000000000000000000000000000000000000000..0e0c9c3619cbc37601987e4c4eb0a062b048ad59 GIT binary patch literal 12788 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 literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-down-black-15.png b/res/cbox-arrow-down-black-15.png new file mode 100644 index 0000000000000000000000000000000000000000..f47b7e0c01cf0981ae76917a39e3d8b6f667a444 GIT binary patch literal 3012 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 GLSTZd6q<Md literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-down-black-big.png b/res/cbox-arrow-down-black-big.png new file mode 100644 index 0000000000000000000000000000000000000000..6a07aa01cba328b3ba1a54c92f7da5b997fabe47 GIT binary patch literal 3214 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 AX8-^I literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-down-black-old.png b/res/cbox-arrow-down-black-old.png new file mode 100644 index 0000000000000000000000000000000000000000..3c396e41c37887d801c86f15d6aedce6ce04c256 GIT binary patch literal 2892 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 literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-down-black.png b/res/cbox-arrow-down-black.png new file mode 100644 index 0000000000000000000000000000000000000000..20afbb6dd08e7db70c0ca3605255d5e2bbf89e51 GIT binary patch literal 2947 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 literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-down-gray.png b/res/cbox-arrow-down-gray.png new file mode 100644 index 0000000000000000000000000000000000000000..4fad405e62fdda08610e6af57aea688558d1114e GIT binary patch literal 303 zcmV+~0nq-5P)<h;3K|Lk000e1NJLTq000jF000OG1^@s6Cex+z00001b5ch_0Itp) z=>Px#=}AOER47x8kiAL+Q4mJYWDUl!Xf5~%=`HgFsRUybo8`iSHumX)Rj^7Sgk88r zg32P6f-hhvK7-f`{$LaDop22XHNiOD$9(57jM)6_K#^nM6;KwBfUJUc#9CXyS58zp zT+B@x3fYH?k0gX%?|M0|KA!@~KLo>(i_<i1ynn)BilSI~dvO+M{vo&;xp+T-p)-X; z==Y1Ya^we~jTwQ+jn~qyG22gHyC3jGFjy~_md+9CQ-N@cu#+UM$M4b^I4rYlxDiQo z32cJgdEAyUdk?>_nG1(fo?p}i-&Uk+OzVE$AI7KmL`oiskQM*{002ovPDHLkV1iPB Bf7Jj0 literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-down.png b/res/cbox-arrow-down.png new file mode 100644 index 0000000000000000000000000000000000000000..3c396e41c37887d801c86f15d6aedce6ce04c256 GIT binary patch literal 2892 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 literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-up-green-15.png b/res/cbox-arrow-up-green-15.png new file mode 100644 index 0000000000000000000000000000000000000000..bcbda5546ed5b1a76f21f0d899b0160e1f549618 GIT binary patch literal 3093 zcmV+w4C?cVP)<h;3K|Lk000e1NJLTq000jF000UI1^@s6Ya0al00009a7bBm000id z000id0mpBsWB>pPPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0003%Nkl<Zc-mq}+dGXRZSOROs-sI7re55}F!B6m2AO%O43cw`bH(Q*o>N_vwK8aH zhm^&t3I@f684ObMk{JYN#WE!9nasd|u6g>U?F>S*;%XQs`u}H`=>MN#g71IPISEHC zR+Y0WEzHENdCryH3@Ll3#xqXz|IaWv2!SUB{1==Rw^C(MHV200^u5y<T28KJ2-()1 z$TTV7H^ZbrRLxKWcxOhfk)D^riK03G;2Z|8jm>Ec6aD`)ObWo%h-3iQ^vHEWvtv0E z_Dp7A$UQKN!ESAJHbi3}ZjEpQ0{^p24qBJIcM1=K)#{2UhDia$X@ubke*ZO=<Su29 znV));VS+F58sRwb9fSVz!Wj(x-v1dU_>qJ;r$yXgs64h<Sbjm;RHX$O#}yY6#!3q_ jPRPtl-ej=6$Pq9A0=)~`-@_0)00000NkvXXu0mjfqxHfL literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-up-green-big.png b/res/cbox-arrow-up-green-big.png new file mode 100644 index 0000000000000000000000000000000000000000..c0ad7edb5b4027c9987d84df6f844f84127671f9 GIT binary patch literal 3246 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 literal 0 HcmV?d00001 diff --git a/res/cbox-arrow-up-green.png b/res/cbox-arrow-up-green.png new file mode 100644 index 0000000000000000000000000000000000000000..fb23bb063f22512fe3711627170c02ac4f7f3190 GIT binary patch literal 2988 zcmV;d3sdxoP)<h;3K|Lk000e1NJLTq000UA000LF1^@s6F|6EU00009a7bBm000id z000id0mpBsWB>pPPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z0002jNkl<Zc-msHT3x~5wxNL`e)l8>{bhv$ywf9BNX|(-=D4m_S9@szgW#-K2G31R z3=A-ZDSM}~s4vP|&d~4kpJAfkf8H5U=hYVHNDI%7M=12&+{$dSqGSg1MF0N`lY=05 zV!(gS>EVY3XU7VAZE9j*uwPrvqPsMI62k=F{|u7@5eg><{b!gI_@8M~z#gwn&7uri zOL7_+kWE6z6a4<m&re&&AUrGPDnp<5e};+vcyPdX2Jg+y5kfPfPm9k<xF|j+;XE3? iAT}%Rg8clnM!*1mxOl0@ClOWv0000<MNUMnLSTXmAd+hU literal 0 HcmV?d00001 diff --git a/res/checkbox_checked-green.png b/res/checkbox_checked-green.png new file mode 100644 index 0000000000000000000000000000000000000000..43b914cec9495effab767e0c3de78d690bd7fa05 GIT binary patch literal 1526 zcmcgs{WsGK7+=ZUVzg7Ow#ZjAj>BapT`U#WkeAd=k=bHjR?SVAmMLqwVb{02ml#*r zxo%OnMP3R+j=Z#C?xnn(7+tznd0C=JqdWI+xaXepJkRI(Jm+(s=kwFU4+-`~Y{G1U z!C(k~KhiNh-qB~lH*kGb7-f~{VO`QOUvF4>kNI0Y*}(7$@`AxC1;)B4Lp|Sk!7n@s z1~YA4%XQD<?}9LxVYWZX>-Z(=jJopY(9o?N3A<W+^L<|-77*4iFs13HC9b?+j~gtT z&JZ2~<&oRw|EBaBsU$bp$6)J*l8x$Q2}P`YO^=;*XKLfMS5}Fiag&zrhSg6C>)C1- zO^^CX-TH#v*jLv7aiFxnY4_72hgRNkrTgj}ze=OQw&-@)tY@m+Bh8fB9Ht&==DNwG z$^&_a$qs#wd=JQc-?!RkBr!EV>E_RZZR3S8z?ig&(cHznEkb5jtxU~)tSef%EKd!f z+Fyslpt{V$#I$85jq0RlKh7^cp)_&6XgS?`iAELDE@r6^**Yvwjrnk}!;V9<!)Bli zQr=Ita~eyFh+LgbMUgkz#GVdJ#LZA7gGa2e89A=P?>=d}rpiRfRwYJ3<f3$sSBjw> zhZ_YeOMka;WTny)Cj$!{Hbdkp6wp>9HCMC%HUs%puJQ~uA}F$~rp-scsyyd*r}Ro| zwxN5Q;)``vyY9bzMi6?DSu>NXf~m@av^WDaNUD`vDgdlJ$5~i0x;kO8*57m$YP46Z zDrmXTo6a0uWb(LA^t<JLW!8BR@%m2d)ZM8FMV4cCc%LVyeE%|)Iz}e%abg15@wz}O zY{7tP)63(8lJHhDP>2jV)pih$?ky~rury+15Wh&#ZlWKn6qLTu!FVxrhRlwb(7V`D zC1EvS^v9>=YRn%1R+cfuFZ3Y~IivyU(8JTfASeTN9i`};+bz)N{Mn9ZV?G-<em3%1 zZNzwGVn5fw%V%#&&AdM&i)TVWZRXCEJvh}KZyCb92>Lj_?ZMHjj2mhPxXEQw93pm_ z6kGT!oS?{$d%pNX9zNg4X-!db&x~W4f}a>I;O*l<{PLbUzTitpva0yoSldKX^cEGm z(+#V3auzbI_1du~f?_1xg$XpLeW-3+4FLo9F0S5N+<v_pUUdtnt_K4jD+9bOJ(^5o z*@BDbd640VA7|%-vRa#l%QZ>Hpo29Xe_wZQ%sO)a%X&isswSs}vLK$N5KxkNLna&F zkhZ3h0Ze?vmw}F8a6Q_7$6O{1PT)hi(84dV64n-F*in<omRp)Br>=$X7f!AeU*iSZ z&|@OlPHbX+tLNHU42XzT<<>&%-^WdAZxiz%8&AaK!+-sdo%7MOX>q!8;8GN!Am&PM zfQb!Jv`sN|Ro2qoNTUPxqDthj+3@EjJA-f$givC--OY%n{c8#6ok=tAZC}(g-eo`6 zQb!oTeQ~8%c)-(JCX;^g=@$=mko!m5LFNdlBcmS^C}G_I<0zNAS+nkE@n}C6G%@5{ zYEh8_t{CDsF^&w<@hj#{8alAkif&8bdh{$&R1E@{i?CWbB$BlhriS$eS<@L+Cq^gD z;RF$6k!WfYAXkFZIdnW)u^yZbQ?-B-Wt-8&yhqt7eNlk1I01$;y2*10?C=8j9a>t7 z0_=qefZksMYVM2%rEtrKa8VMLy*S}u(uq;j$A4#c?b4Ovavo$b4C3h%nY=y1gbNIG z;E6vWkaBe<bF7n{7CmfB{qz^j4~yRZdctV%WS*(fo;I!vgb*Sxi2v7kSYNkn=Ekfc V4Lk_dzhxNA|4=Zg-23#ke*kV6y6^x1 literal 0 HcmV?d00001 diff --git a/res/checkbox_checked-next.png b/res/checkbox_checked-next.png new file mode 100644 index 0000000000000000000000000000000000000000..c64f112f5c4ba179a39195ecc596fccc8c1bfbe6 GIT binary patch literal 3794 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 IM6N<$g1o03!~g&Q literal 0 HcmV?d00001 diff --git a/res/checkbox_checked-rect - копия.png b/res/checkbox_checked-rect - копия.png new file mode 100644 index 0000000000000000000000000000000000000000..fac8fc230076ddcc2fe548f7b38615e44e655f36 GIT binary patch literal 3864 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 a@_PW+32(JNX3~NH0000<MNUMnLSTa3-X|;o literal 0 HcmV?d00001 diff --git a/res/checkbox_checked-rect.png b/res/checkbox_checked-rect.png new file mode 100644 index 0000000000000000000000000000000000000000..fac8fc230076ddcc2fe548f7b38615e44e655f36 GIT binary patch literal 3864 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 a@_PW+32(JNX3~NH0000<MNUMnLSTa3-X|;o literal 0 HcmV?d00001 diff --git a/res/checkbox_checked.png b/res/checkbox_checked.png new file mode 100644 index 0000000000000000000000000000000000000000..4c318f6f337c0993a21cf229bc3fc1507b48e42f GIT binary patch literal 4034 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 literal 0 HcmV?d00001 diff --git a/res/config.xml b/res/config.xml new file mode 100644 index 0000000..03d8c5d --- /dev/null +++ b/res/config.xml @@ -0,0 +1,2586 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ConfigParams> + <Params> + <noOfCellsSeries> + <longName>Cells in series</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of cell(groups) in series in the battery pack. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The BMS needs a minimum of 4 cell(groups) in series to operate, this is a minimal voltage requirement by the LTC and power supply.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_CELLS_SERIES</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>180</maxInt> + <minInt>3</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>12</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfCellsSeries> + <noOfCellsParallel> + <longName>Cells in parallel</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of cells in parallel (used for future SoC algorithm).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_CELLS_PARALLEL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>200</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>10</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfCellsParallel> + <noOfParallelModules> + <longName>Parallel modules count</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of parallel module strings in the battery pack.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_PARALLEL_MODULE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>10</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfParallelModules> + <batteryCapacity> + <longName>Battery capacity total</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Battery pack total capacity in Ah. This value is used for the state of charge indication / calculation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BATTERY_CAPACITY</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5000</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>1</stepDouble> + <valDouble>29</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>Ah</suffix> + <vTx>9</vTx> + </batteryCapacity> + <cellMonitorICType> + <longName>Cell monitor type</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cell monitor IC type.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_MONITOR_IC_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>12S-LTC6811</enumNames> + <enumNames>15S-LTC6812</enumNames> + <enumNames>18S-LTC6813</enumNames> + </cellMonitorICType> + <cellMonitorICCount> + <longName>Cell monitor count</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of monitoring IC.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_MONITOR_IC_COUNT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>10</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>1</vTx> + </cellMonitorICCount> + <cellTechnology> + <longName>Cell technology</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Battery cell technology, used for state of charge indication.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_TECHNOLOGY</cDefine> + <valInt>0</valInt> + <enumNames>Li-Ion</enumNames> + <enumNames>Li-Polymer</enumNames> + <enumNames>Li-Phosphate</enumNames> + </cellTechnology> + <cellHardUnderVoltage> + <longName>Cell minimum voltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Worst case lowest cell voltage, when the cell voltage goes below this threshold the BMS turns off completely. This value is a hard limit that is configured in the LTC, crossing this value for more than the 'maxUnderAndOverVoltageErrorCount' amount will make the BMS to turn off immediately.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_HARD_UNDER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>2.3</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellHardUnderVoltage> + <cellHardOverVoltage> + <longName>Cell maximum voltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Worst case highest cell voltage, when the cell voltage goes above this threshold the BMS turns off completely. This value is a hard limit that is configured in the LTC, crossing this value for more than the 'maxUnderAndOverVoltageErrorCount' amount will make the BMS to turn off immediately.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_HARD_OVER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>4.2</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellHardOverVoltage> + <cellLCSoftUnderVoltage> + <longName>Cell minimum voltage hyst</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Normal use BMS current path lowest cell voltage, when the cell voltage goes below this threshold the BMS turns off its current path output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_LC_SOFT_UNDER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>2.9</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellLCSoftUnderVoltage> + <cellSoftOverVoltage> + <longName>Cell maximum voltage hyst</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Normal use highest cell voltage, when the cell voltage goes above this threshold the BMS turns off its charger input.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_SOFT_OVER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>4.15</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellSoftOverVoltage> + <cellBalanceDifferenceThreshold> + <longName>Cell balance difference threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Start balancing above this cell voltage difference voltage, stop if below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_DIFF_THRESH</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.005</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellBalanceDifferenceThreshold> + <cellBalanceStart> + <longName>Cell balance start voltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Balance when the cell voltage is above this threshold.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_START</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.1</stepDouble> + <valDouble>4.1</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellBalanceStart> + <cellBalanceAllTime> + <longName>Cell Balance All Time</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If enabled, the BMS will activate balancing for cells having a voltage above the "Cell balance start voltage" no matter what the BMS operational state is. Otherwise, the balancing process will be active only during the balancing OpState &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_ALL_TIME</cDefine> + <valInt>0</valInt> + </cellBalanceAllTime> + <cellThrottleUpperStart> + <longName>Cell throttle upper start</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Charge throttle start. This parameter configures the charge throttle functionallity. When for example the cellSoftOverVoltage is set to 4.25V, the cellThrottleUpperStart to 0.2V and cellThrottleUpperMargin to 0.05V a cell voltage below (4.25-0.2-0.05=) 4V will result in 100% throttle, as the cell voltage is rising it will linearly throttle back from 100% to 5% when the cell voltage is at (4.25-0.05=) 4.2V, above that the throttle stays at 5% until the cellSoftOverVoltage of 4.25 it reached, then the input is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with chargers that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_UPPER_START</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.02</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleUpperStart> + <cellThrottleLowerStart> + <longName>Cell throttle lower start</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Discharge throttle start. This parameter configures the discharge throttle functionallity. When for example the cellSoftUnderVoltage is set to 3V, the cellThrottleLowerStart to 0.2V and cellThrottleLowerMargin to 0.05V a cell voltage above (3+0.2+0.05=) 3.25V will result in 100% throttle, as the cell voltage is lowering it will linearly throttle back from 100% to 5% when the cell voltage is at (3+0.05=) 3.05V, below that the throttle stays at 5% until the cellSoftUnderVoltage of 3V it reached, then the output is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with loads that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_LOWER_START</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.2</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleLowerStart> + <cellThrottleUpperMargin> + <longName>Cell throttle upper margin</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Charge throttle margin. This parameter configures the charge throttle functionallity. When for example the cellSoftOverVoltage is set to 4.25V, the cellThrottleUpperStart to 0.2V and cellThrottleUpperMargin to 0.05V a cell voltage below (4.25-0.2-0.05=) 4V will result in 100% throttle, as the cell voltage is rising it will linearly throttle back from 100% to 5% when the cell voltage is at (4.25-0.05=) 4.2V, above that the throttle stays at 5% until the cellSoftOverVoltage of 4.25 it reached, then the input is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with chargers that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_UPPER_MARGIN</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.01</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleUpperMargin> + <cellThrottleLowerMargin> + <longName>Cell throttle lower margin</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Discharge throttle margin. This parameter configures the discharge throttle functionallity. When for example the cellSoftUnderVoltage is set to 3V, the cellThrottleLowerStart to 0.2V and cellThrottleLowerMargin to 0.05V a cell voltage above (3+0.2+0.05=) 3.25V will result in 100% throttle, as the cell voltage is lowering it will linearly throttle back from 100% to 5% when the cell voltage is at (3+0.05=) 3.05V, below that the throttle stays at 5% until the cellSoftUnderVoltage of 3V it reached, then the output is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with loads that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_LOWER_MARGIN</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.2</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleLowerMargin> + <packVoltageDataSource> + <longName>Voltage data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The pack voltage data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>PACK_VOLTAGE_DATA_SOURCE</cDefine> + <valInt>1</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ISL28022 (I2C2) BatteryInput</enumNames> + <enumNames>SumOfIndividualCellVoltages</enumNames> + </packVoltageDataSource> + <packCurrentDataSource> + <longName>Current data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The pack current data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_MONITOR_IC_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ENNOID-BMS current path</enumNames> + <enumNames>CAN-&gt;DieBieShunt</enumNames> + <enumNames>CAN-&gt;Isabellenhutte</enumNames> + </packCurrentDataSource> + <buzzerSignalSource> + <longName>Signal source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Enable or disable the buzzer error code reporting under a fault condition.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUZZER_SIGNAL_SOURCE</cDefine> + <valInt>1</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + </buzzerSignalSource> + <buzzerSignalType> + <longName>Signal type</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select the desired signal source type.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUZZER_SIGNAL_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + <enumNames>Toggle</enumNames> + <enumNames>Toggle fast</enumNames> + <enumNames>Pulse short</enumNames> + <enumNames>Pulse long</enumNames> + <enumNames>Pulse 200 20</enumNames> + <enumNames>Pulse 1000 4</enumNames> + </buzzerSignalType> + <buzzerPersistent> + <longName>Persistent</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define whether the buzzer should stay on or should reset when signal condition resets.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUZZER_PERSISTENT</cDefine> + <valInt>0</valInt> + </buzzerPersistent> + <shuntLCFactor> + <longName>Current zero value</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for ISL based shunt measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_LC_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>4096.0</maxDouble> + <minDouble>-4096.0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>-0.0052</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </shuntLCFactor> + <shuntHCFactor> + <longName>Shunt HC factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for ISL based shut measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_HC_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>-1</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>-0.0269</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </shuntHCFactor> + <shuntHCOffset> + <longName>Shunt HC Offset</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for ISL based shut measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_HC_OFFSET</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1024</maxInt> + <minInt>-1024</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>-2</valInt> + <suffix>LSB</suffix> + <vTx>4</vTx> + </shuntHCOffset> + <voltageLCFactor> + <longName>Pack Voltage Factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for ISL based voltage measurements. Only applies to ISL based voltage sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>VOLTAGE_LC_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>200</maxDouble> + <minDouble>-200</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>124</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </voltageLCFactor> + <voltageLCOffset> + <longName>Pack Voltage Offset</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for ISL based voltage measurements. Only applies to ISL based voltage sensor source. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>VOLTAGE_LC_OFFSET</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1024</maxInt> + <minInt>-1024</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix>LSB</suffix> + <vTx>4</vTx> + </voltageLCOffset> + <loadVoltageFactor> + <longName>Load Voltage Factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for load MCU ADC voltage measurements.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LOAD_VOLTAGE_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>135</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </loadVoltageFactor> + <loadVoltageOffset> + <longName>Load Voltage Offset</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for load voltage measurements. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LOAD_VOLTAGE_OFFSET</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </loadVoltageOffset> + <chargerVoltageFactor> + <longName>Charger Voltage Factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for charger MCU ADC voltage measurements.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGER_VOLTAGE_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>135</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </chargerVoltageFactor> + <chargerVoltageOffset> + <longName>Charger Voltage Offset</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for charger voltage measurements. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGER_VOLTAGE_OFFSET</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </chargerVoltageOffset> + <throttleChargeIncreaseRate> + <longName>Throttle charge increase rate</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Percentage charge throttle increase rate per 1000ms (cell voltage loop time).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>THROTTLE_CHARGE_INCREASE_RATE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>100</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>2</valInt> + <suffix>% / 1000ms</suffix> + <vTx>1</vTx> + </throttleChargeIncreaseRate> + <throttleDisChargeIncreaseRate> + <longName>Throttle discharge increase rate</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Percentage discharge throttle increase rate per 1000ms (cell voltage loop time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>THROTTLE_DISCHARGE_INCREASE_RATE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>100</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>10</valInt> + <suffix>% / 1000ms</suffix> + <vTx>1</vTx> + </throttleDisChargeIncreaseRate> + <cellBalanceUpdateInterval> + <longName>Cell balance interval</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Keep calculated resistors enabled for this amount of time in miliseconds. When this time has elapsed a new cell measurement will be made to start a new round of balancing, this all loops automatically and only during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_UPDATE_INTERVAL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>4000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </cellBalanceUpdateInterval> + <maxSimultaneousDischargingCells> + <longName>Max active bleed resistors per IC</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This value states the maximum amount of simultaneously active bleeding resistors per monitor IC (monitor group). This value thus limits the worst case max power dissipated on the BMS (or its slave modules) trough the bleeding reisistors. When the balancing portion of the BMS becomes to hot this value can be lowered to limit the temperature.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_MAX_SIMULTANEOUS_DISCHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>18</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>5</valInt> + <suffix></suffix> + <vTx>1</vTx> + </maxSimultaneousDischargingCells> + <timeoutDischargeRetry> + <longName>Timeout discharge retry</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When for some reason the discharge output is disabled (most likely because of a low cell voltage), wait this amount of time before doing a new attempt to re-enable the discharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_DISCHARGE_RETRY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>4000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>10000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutDischargeRetry> + <hysteresisDischarge> + <longName>Discharge hysteresis</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The hysteris value of the load enable condition. Configuring this value correctly will greatly reduce the risk of load output on/off oscillations. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HYST_DISCHARGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.02</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </hysteresisDischarge> + <timeoutChargeRetry> + <longName>Timeout charge retry</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When for some reason the charge input is disabled (most likely because of a high cell voltage), wait this amount of time before doing a new attempt to re-enable the charge input.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_DISCHARGE_RETRY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>4000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>100000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargeRetry> + <hysteresisCharge> + <longName>Charge hysteresis</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The hysteris value of the charger enable condition. Configuring this value correctly will greatly reduce the risk of charger input on/off oscillations. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HYST_DISCHARGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.01</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </hysteresisCharge> + <timeoutChargeCompleted> + <longName>Timeout charge completed</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When balancing this amount of time is waited before declaring the battery 'charged'. The balancing will continue passed this event until no more balancing is needed. This is only to tell the user that it is charged enough to be used again.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_CHARGE_COMPLETED</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>1800000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargeCompleted> + <timeoutChargingCompletedMinimalMismatch> + <longName>Timeout charge completed min mismach</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If cell mismatch is under the threshold value and (charging is not allowed) wait this delay time to set &amp;quot;charged&amp;quot; state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_CHARGING_COMPLETED_MINIMAL_MISMATCH</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>6000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargingCompletedMinimalMismatch> + <maxMismatchThreshold> + <longName>Maximum Load Current</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If mismatch is under this threshold for timeoutChargingCompletedMinimalMismatch the BMS will determine the battery pack as fully charged.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_MISMATCH_THRESHOLD</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1000.0</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.001</stepDouble> + <valDouble>0.005</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </maxMismatchThreshold> + <chargerEnabledThreshold> + <longName>Charger enable threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If charge current is above this threshold current stay in charging mode and don't power off.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGER_ENABLED_THRESHOLD</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>10</maxDouble> + <minDouble>0.05</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.5</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>A</suffix> + <vTx>9</vTx> + </chargerEnabledThreshold> + <timeoutChargerDisconnected> + <longName>Timeout charger disconnected</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Wait for this amount of time before responding to the event that the charger is disconnected.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_CHARGER_DISCONNECTED</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>2000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargerDisconnected> + <minimalPrechargePercentage> + <longName>Output 2 minimum SoC</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The load output voltage should be at a minimum of this factor of the pack voltage value before enabling the main output switch, this is to prevent large inrush currents.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Putting this value too low will result in a large inrush current because the battery and the load voltage differ too much. Putting this threshold value too high could lead to the load never being enabled because the value cannot be reached due to leakage current in combination with the pre charge resistor value.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MINIMAL_PRECHARGE_PERCENTAGE</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1000</maxDouble> + <minDouble>0.01</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.1</stepDouble> + <valDouble>0.8</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </minimalPrechargePercentage> + <timeoutLCPreCharge> + <longName>Output 2 default state</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Precharge timeout, allow this amount of time for the Pre-charging process. This time also defines the limit of power dissipation in the pre charge resistor. If your load capacitance is higher than 'normal' it might be worth increasing this value to let the pre-charge procedure succeed, but please monitor the temperature of the pre-charge resistor!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_LC_PRECHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>5</vTx> + </timeoutLCPreCharge> + <maxAllowedCurrent> + <longName>Maximum Charge Current</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum allowed current trough the BMS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_CURRENT</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2500</maxDouble> + <minDouble>1</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>10</stepDouble> + <valDouble>1000</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>A</suffix> + <vTx>9</vTx> + </maxAllowedCurrent> + <allowedTempBattDischargingMax> + <longName>Battery temperature discharging max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature of the battery during discharging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>60</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattDischargingMax> + <allowedTempBattDischargingMin> + <longName>Battery temperature discharging min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature of the battery during discharging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>-10</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattDischargingMin> + <allowedTempBattChargingMax> + <longName>Maximum battery temperature</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature of the battery during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>55</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattChargingMax> + <allowedTempBattChargingMin> + <longName>Minimum battery temperature</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature of the battery during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>10</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattChargingMin> + <allowedTempBattCoolingMax> + <longName>Battery temperature cooling max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature at which the cooling/heating output is enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_COOL_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>5</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattCoolingMax> + <allowedTempBattCoolingMin> + <longName>Battery temperature cooling min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature at which the cooling/heating output is enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_COOL_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>50</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattCoolingMin> + <allowedTempBMSMax> + <longName>BMS Temperature max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature allowed for the Master Board.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_TEMP_BMS</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-120</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>90</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBMSMax> + <allowedTempBMSMin> + <longName>BMS Temperature min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature allowed for the Master Board.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_TEMP_BMS</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>100</maxDouble> + <minDouble>-100</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>-20</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBMSMin> + <displayTimeoutBatteryDead> + <longName>Display time battery dead</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show battery dead symbol this amount of time before going to powerdown in cell voltage error state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_DEAD</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>5000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutBatteryDead> + <displayTimeoutBatteryError> + <longName>Display time battery error</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show error symbol for this amount of time before going to powerdown in general error state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_ERROR</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>2000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutBatteryError> + <displayTimeoutBatteryErrorPreCharge> + <longName>Display time precharge error</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show pre charge error for this amount of time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_ERROR_PRECHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>10000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutBatteryErrorPreCharge> + <displayTimeoutSplashScreen> + <longName>Display time precharge splash</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show splash screen for this amount of time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_SPLASH_SCREEN</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>1000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutSplashScreen> + <displayStyle> + <longName>Display style</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Choose the display style for the I2C SSD1306 display when the BMS is under load enabled state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_STYLE</cDefine> + <valInt>0</valInt> + <enumNames>Basic</enumNames> + <enumNames>Advanced</enumNames> + </displayStyle> + <maxUnderAndOverVoltageErrorCount> + <longName>Max OVP &amp; UVP errors</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Max count of hard cell voltage errors before actually shutting the BMS down. This value allows you to ignore the occationally crossing of the hard cell voltage limits. This is to for example filter out the voltage spikes from extreme EMC situation (ie. static discharge).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_UNDER_OVERVOLTAGE_ERR_COUNT_ERR_COUNT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>5</valInt> + <suffix></suffix> + <vTx>2</vTx> + </maxUnderAndOverVoltageErrorCount> + <maxUnderAndOverTemperatureErrorCount> + <longName>Max OTP &amp; UTP errors</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Max count of temperature errors before actually shutting the BMS down. This value allows you to ignore the occationally crossing of the temperature limits. This is to for example filter out the voltage spikes from extreme EMC situation (ie. static discharge).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_UNDER_OVER_TEMPERATURE_ERR_COUNT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>5</valInt> + <suffix></suffix> + <vTx>2</vTx> + </maxUnderAndOverTemperatureErrorCount> + <notUsedCurrentThreshold> + <longName>Not used current threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When the battery current goes below this "Not used battery current threshold" value, the "Not used timeout" timer starts.&amp;quot; &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NOT_USED_CURRENT_THRESHOLD</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>9999999999999999999</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.1</stepDouble> + <valDouble>0.5</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>A</suffix> + <vTx>9</vTx> + </notUsedCurrentThreshold> + <notUsedTimeout> + <longName>Not used timeout</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Sans';&quot;&gt;The BMS will be powered OFF when this &amp;quot;Not used timeout&amp;quot; is over. The &amp;quot;not used timeout&amp;quot; timer will reset each time the battery current goes over the &amp;quot;Not used current threshold&amp;quot; value.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Sans';&quot;&gt;To disable the not used powerdown system this value can be set to 0ms, else if used, it should be set at a minimum of 5000ms.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NOT_USED_TIMEOUT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>3600000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </notUsedTimeout> + <powerDownDelay> + <longName>Power down delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The amount of time between disabling the output and actually powering down the BMS. When implementing push to BMS enable the connected ESC might re-enable the BMS once it is powered down due to some residual energy in the ESC, this oscillation will prevent the whole system to actually completely power down. By setting this time to a longer time you have a higher chance of actually powering everything down, a lower time will turn it down quicker with the risk of oscillation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>POWER_DOWN_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>1000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </powerDownDelay> + <stateOfChargeStoreInterval> + <longName>State of charge store interval</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Interval in ms to store state of charge information. to reserve flash write cycles please dont make this value too low. Normally the state of charge value is also stored when the BMS is powered down. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SOC_STORE_INTERVAL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>60000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </stateOfChargeStoreInterval> + <stateOfChargeMethod> + <longName>State of charge method</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The state of charge estimation method the BMS should use. Please note that cell voltage lookup is not yet implemented&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_SOC_METHOD</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>Coulomb counting</enumNames> + <enumNames>Coulomb counting + Cell Voltage lookup</enumNames> + </stateOfChargeMethod> + <CANID> + <longName>CAN ID</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The CAN ID this BMS listens to and leaves behind when talking on the CAN bus.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_ID</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>254</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>10</valInt> + <suffix></suffix> + <vTx>2</vTx> + </CANID> + <CANIDStyle> + <longName>CAN ID Style</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The CAN ID style / ID byte order. This is configureable to stay compatible with the VESC style and the style used in an e-foil project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_ID_STYLE</cDefine> + <valInt>0</valInt> + <enumNames>ENNOID / DiebieMS / VESC</enumNames> + <enumNames>EFoiler</enumNames> + </CANIDStyle> + <CANBaudRate> + <longName>CAN throughput</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;CAN bus communication speed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_SPEED</cDefine> + <valInt>0</valInt> + <enumNames>125kbit/s</enumNames> + <enumNames>250kbit/s</enumNames> + <enumNames>500kbit/s</enumNames> + </CANBaudRate> + <emitStatusOverCAN> + <longName>Emit status over CAN</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Send status information like current, voltage, temperatures and out/input enabled states over CAN.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_STATUS_EMIT_ENABLE</cDefine> + <valInt>1</valInt> + </emitStatusOverCAN> + <emitStatusProtocolType> + <longName>Emit status protocol</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Send status protocol/format; how the status information is packaged in can messages.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_STATUS_PROTOCOL</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>ENNOID / DiebieMS</enumNames> + <enumNames>MG Electronics</enumNames> + </emitStatusProtocolType> + <waterSensorEnableMask> + <longName>Water sensor enable mask</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tell what sensor input to use for the water detection system. The bitwise representation of this decimal value will show what sensor is enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>WATER_DETECT_SENSOR_ENABLE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>32768</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix></suffix> + <vTx>4</vTx> + </waterSensorEnableMask> + <waterSensorThreshold> + <longName>Water detect threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If an active water detection input rises above this value then water sensed is being stated and emitted.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>WATER_DETECT_THRESHOLD</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>100</maxDouble> + <minDouble>-60</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>10</valDouble> + <vTxDoubleScale>1</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </waterSensorThreshold> + <tempEnableMaskBMS> + <longName>Temp sensor enable mask BMS</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; + &lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; + p, li { white-space: pre-wrap; } + &lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; ; font-weight:400; font-style:normal;&quot;&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Sans';&quot;&gt;BMS temperature monitoring mask:&lt;/span&gt;&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Sans';&quot;&gt;default = 1 = Enable on-board thermistor&lt;/span&gt;&lt;/p&gt; + &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The selected decimal value is transfered in binary :&lt;/p&gt; + &lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;0&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;= (0000 0000 0000 0000) =&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;Disable all &lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;1&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;=&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;(0000 0000 0000 0001) = Enable on-board thermistor&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;2&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;=&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;(0000 0000 0000 0010) = Enable 1st LTC channel 1 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;4 = (0000 0000 0000 0100) = Enable 1st LTC channel 2 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;8 = (0000 0000 0000 1000) = Enable 1st LTC channel 3 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;16 = (0000 0000 0001 0000) = Enable 1st LTC channel 4 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;-----------------------------------------------------------------------------&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 535 = (1111 1111 1111 1111) = Enable all channels&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 534 = (1111 1111 1111 1110) = Disable on-board thermistor only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 533 = (1111 1111 1111 1101) = Disable 1st LTC channel 1 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 531 = (1111 1111 1111 1011) = Disable 1st LTC channel 2 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 527 = (1111 1111 1111 0111) = Disable 1st LTC channel 3 only&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;------------------------------------------------------------------------------&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;31 = (0000 0000 0001 1111) = Enable on-board thermistor + 1st LTCchannels 1 to 4&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;30 = (0000 0000 0001 1110) = Enable 1st LTC channels 1 to 4&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;63 = (0000 0000 0011 1111) = Enable on-board thermistor + 1st LTC channels 1 to 5&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;62 = (0000 0000 0011 1111) = Enable 1st LTC channels 1 to 5&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;1023 = (0000 0011 1111 1111) = Enable on-board thermistor + 1st LTC channels 1 to 9&lt;/p&gt; + &lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;1022 = (0000 0011 1111 1110) = Enable 1st LTC channels 1 to 9&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TEMPERATURE_ENABLE_MASK_BMS</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>65536</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>5</vTx> + </tempEnableMaskBMS> + <tempEnableMaskBattery> + <longName>Temp sensor enable mask Battery</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Battery&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;temperature&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;monitoring mask:&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The selected decimal value is transfered in binary :&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;0&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;= (0000 0000 0000 0000) =&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;Disable all channels&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;1&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;=&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;(0000 0000 0000 0001) = Enable channel 1 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;2&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;=&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;(0000 0000 0000 0010) = Enable channel 2 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;4 = (0000 0000 0000 0100) = Enable channel 3 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;8 = (0000 0000 0000 1000) = Enable channel 4 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;16 = (0000 0000 0001 0000) = Enable channel 5 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;-----------------------------------------------------------------------------&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 535 = (1111 1111 1111 1111) = Enable all channels&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 534 = (1111 1111 1111 1110) = Disable channel 1 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 533 = (1111 1111 1111 1101) = Disable channel 2 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 531 = (1111 1111 1111 1011) = Disable channel 3 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 527 = (1111 1111 1111 0111) = Disable channel 4 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;------------------------------------------------------------------------------&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;15 = (0000 0000 0000 1111) = Enable channels 1 to 4&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;30 = (0000 0000 0001 1110) = Enable channels 2 to 5&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;31 = (0000 0000 0001 1111) = Enable channels 1 to 5&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;510 = (0000 0001 1111 1110) = Enable channels 2 to 9&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;511 = (0000 0001 1111 1111) = Enable channels 1 to 9&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TEMPERATURE_ENABLE_MASK_BATTERY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>65535</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>65535</valInt> + <suffix></suffix> + <vTx>5</vTx> + </tempEnableMaskBattery> + <tempEnableMaskExpansion> + <longName>Temp sensor enable mask Expansion</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Expansion board&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;temperature&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;monitoring mask:&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The selected decimal value is transfered in binary :&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;0&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;= (0000 0000 0000 0000) =&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;Disable all channels&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;1&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;=&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;(0000 0000 0000 0001) = Enable channel 1 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;2&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;=&lt;span style=&quot; color:#c0c0c0;&quot;&gt; &lt;/span&gt;(0000 0000 0000 0010) = Enable channel 2 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;4 = (0000 0000 0000 0100) = Enable channel 3 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;8 = (0000 0000 0000 1000) = Enable channel 4 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;16 = (0000 0000 0001 0000) = Enable channel 5 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;-----------------------------------------------------------------------------&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 535 = (1111 1111 1111 1111) = Enable all channels&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 534 = (1111 1111 1111 1110) = Disable channel 1 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 533 = (1111 1111 1111 1101) = Disable channel 2 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 531 = (1111 1111 1111 1011) = Disable channel 3 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;65 527 = (1111 1111 1111 0111) = Disable channel 4 only&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;------------------------------------------------------------------------------&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;15 = (0000 0000 0000 1111) = Enable channels 1 to 4&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;30 = (0000 0000 0001 1110) = Enable channels 2 to 5&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;31 = (0000 0000 0001 1111) = Enable channels 1 to 5&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;510 = (0000 0001 1111 1110) = Enable channels 2 to 9&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;511 = (0000 0001 1111 1111) = Enable channels 1 to 9&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TEMPERATURE_ENABLE_MASK_EXPANSION</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>65535</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>65535</valInt> + <suffix></suffix> + <vTx>5</vTx> + </tempEnableMaskExpansion> + <noOfTempSensorPerModule> + <longName>Temp sensor per board</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of Temperature sensor per monitoring IC.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_TEMP_SENSOR_PER_IC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>9</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfTempSensorPerModule> + <noOfTempSensorPerExpansionBoard> + <longName>Temp sensor per expansion board</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Optionnal: Number of Temperature sensor per Expansion Board. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_TEMP_SENSOR_PER_EXPANSION_BOARD</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>8</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfTempSensorPerExpansionBoard> + <noOfExpansionBoard> + <longName>Number of Expansion Board modules</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Optionnal: Number of Expansion Board.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_EXPANSION_BOARD</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>9</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfExpansionBoard> + <humidityICType> + <longName>Humidity IC type</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Humidity sensor IC type.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HUMIDITY_IC_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>SI-7020 / SHT21</enumNames> + <enumNames>HTC1080</enumNames> + </humidityICType> + <LCUseDischarge> + <longName>Discharge output</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use master BMS discharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LC_USE_DISCHARGE</cDefine> + <valInt>1</valInt> + <enumNames>Disabled</enumNames> + <enumNames>Enabled</enumNames> + </LCUseDischarge> + <LCUsePrecharge> + <longName>Precharge output</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use master BMS precharge for discharge output. Warning: Forced mode is only for hardware V1.0. Using this option with hardware V1.1 and above will damage the precharge circuit.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LC_USE_PRECHARGE</cDefine> + <valInt>1</valInt> + <enumNames>Disabled</enumNames> + <enumNames>Enabled</enumNames> + <enumNames>Forced</enumNames> + </LCUsePrecharge> + <allowChargingDuringDischarge> + <longName>Allow charging during discharge</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Allow the battery to be charged whilst the output is turned on. This would allow you to use the battery during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>ALLOW_CHARGE_DURING_DISCHARGE</cDefine> + <valInt>1</valInt> + </allowChargingDuringDischarge> + <allowForceOn> + <longName>Allow forced on mode</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When the power button is configured as a pulse switch and allowForceOn is enabled, the BMS will stay ON and will ignore the cell voltage inputs. This function can be used to get home when you know the battery is OK. For example: a wire came loose from a cell tab of the battery. This is risky! Because you can deeply discharge the battery this way. You can't charge the battery in this mode.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The forced-on method is activated when you long press (about 10 seconds) the power button when the bms is off. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>ALLOW_FORCE_ON</cDefine> + <valInt>0</valInt> + </allowForceOn> + <extEnableState> + <longName>External enable opstate</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Defines the state to be entered when enabled by an external enable reason like CAN_5V_ENABLE present or USB 5V voltage present.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>EXT_ENA_OP_STATE</cDefine> + <valInt>1</valInt> + <enumNames>External operation</enumNames> + <enumNames>Normal operation</enumNames> + </extEnableState> + <chargeEnableState> + <longName>Charger enable opstate</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Defines the state to be entered when the BMS is enabled by charge voltage present.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGE_ENA_OP_STATE</cDefine> + <valInt>0</valInt> + <enumNames>Charge operation</enumNames> + <enumNames>Normal operation</enumNames> + </chargeEnableState> + <pulseToggleButton> + <longName>Pulse or toggle power button</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Configure the power button to be either a pulse or a toggle button. When configured as a pulse input, a short press will enable the BMS and a long press will power it down. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When configured as a toggle input, the BMS turns ON when the switch closes and turns OFF when the switch is opened up.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUTTON_PULSE_TOGGLE</cDefine> + <valInt>1</valInt> + <enumNames>Latching / Toggle</enumNames> + <enumNames>Momentary / Pulse</enumNames> + </pulseToggleButton> + <useCANSafetyInput> + <longName>Use safety input status from CAN</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extra safety input method to disable the output when the message states a non safe condition. Ex: Voltage isolation monitoring. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The messages generated by an external device are received and used by the BMS to prefent unsafe power usage. Set to false to disable this feature.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>USE_CAN_SAFETY</cDefine> + <valInt>0</valInt> + </useCANSafetyInput> + <useCANDelayedPowerDown> + <longName>Use delayed power down from CAN</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This feature puts a CAN device in control of the power state of the BMS. A device can postpone the power down moment of the battery. This can be used to do a gracefull power down of a device. When not used set this value to false.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>USE_CAN_DELAYED_POWERDOWN</cDefine> + <valInt>0</valInt> + </useCANDelayedPowerDown> + <HCUseRelay> + <longName>Use relay output</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use slave BMS relay output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_USE_RELAY</cDefine> + <valInt>1</valInt> + </HCUseRelay> + <HCUsePrecharge> + <longName>Use relay precharge output</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use slave BMS relay precharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_USE_PRECHARGE</cDefine> + <valInt>1</valInt> + </HCUsePrecharge> + <HCUseLoadDetect> + <longName>Use relay load detect</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use the voltage drop acros the HC load output precharge resistor to detect a minimal load before enabling the path completely.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_USE_LOAD_DETECT</cDefine> + <valInt>0</valInt> + </HCUseLoadDetect> + <HCLoadDetectThreshold> + <longName>Load detect threshold</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The high current output load detect precharge time threshold. If precharging takes longer than this time then load present is assumed and emitted.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_LOAD_DETECT_THRESHOLD</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>200</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>300</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </HCLoadDetectThreshold> + <HCLoadVoltageDataSource> + <longName>Voltage data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The HC load voltage data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_LOAD_VOLTAGE_DATA_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ISL28022 (I2C2 - 0x40) LV BatteryInput</enumNames> + <enumNames>ISL28022 (I2C1 - 0x44) LV LoadOutput</enumNames> + <enumNames>ISL28022 (I2C1 - 0x45) DCDC</enumNames> + <enumNames>ADS1015 (AN01) HV BatteryInput</enumNames> + <enumNames>ADS1015 (AN23) HV LoadOutput</enumNames> + <enumNames>SumOfIndividualCellVoltages</enumNames> + <enumNames>CAN-&gt;DieBieShunt</enumNames> + <enumNames>CAN-&gt;Isabellenhutte</enumNames> + </HCLoadVoltageDataSource> + <HCLoadCurrentDataSource> + <longName>Current data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The HC load voltage data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_LOAD_VOLTAGE_DATA_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ISL28022 (I2C2 - 0x40) LV LC shunt</enumNames> + <enumNames>ISL28022 (I2C1 - 0x44) LV HC shunt</enumNames> + <enumNames>ISL28022 (I2C1 - 0x45) DCDC shunt</enumNames> + <enumNames>CAN-&gt;DieBieShunt</enumNames> + <enumNames>CAN-&gt;Isabellenhutte</enumNames> + </HCLoadCurrentDataSource> + <timeoutHCPreCharge> + <longName>Timeout precharge</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Slave precharge error timeout, allow xxxms pre-charge time before declaring load error.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_HC_PRECHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>1500</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutHCPreCharge> + <timeoutHCPreChargeRetryInterval> + <longName>Precharge retry interval</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When pre charge failes wait this long in ms before trying again. Set to 0 to disable retry.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_HC_PRECHARGE_RETRY_INTERVAL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>20000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutHCPreChargeRetryInterval> + <timeoutHCRelayOverlap> + <longName>Precharge relay overlap</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When precharge succeeds enable both relay and precharge combined for this time, then go to relay only. This will cover the time that the relay needs to close, because relays are slow :).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_HC_RELAY_OVERLAP</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>1000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutHCRelayOverlap> + <NTCLTCTopResistor> + <longName>NTC Slave top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_LTC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCLTCTopResistor> + <NTCLTC25Deg> + <longName>NTC 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_LTC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCLTC25Deg> + <NTCLTCBeta> + <longName>NTC Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_LTC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4250</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCLTCBeta> + <NTCPCBTopResistor> + <longName>NTC Master top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCPCBTopResistor> + <NTCPCB25Deg> + <longName>NTC Master 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCPCB25Deg> + <NTCPCBBeta> + <longName>NTC Master Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Optionnal: NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4250</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCPCBBeta> + <NTCEXPTopResistor> + <longName>NTC Expansion top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Optionnal: NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>EXP_TOP_RESISTOR_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCEXPTopResistor> + <NTCEXP25Deg> + <longName>NTC Expansion 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Optionnal: NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>EXP_25_DEG_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCEXP25Deg> + <NTCEXPBeta> + <longName>NTC Expansion Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Optionnal: NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>EXP_BETA_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4250</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCEXPBeta> + <NTCHiAmpExtTopResistor> + <longName>NTC HiAmp Ext. top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_HIAMP_EXT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpExtTopResistor> + <NTCHiAmpExt25Deg> + <longName>NTC HiAmp Ext. 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_HIAMP_EXT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpExt25Deg> + <NTCHiAmpExtBeta> + <longName>NTC HiAmp Ext. Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_HIAMP_EXT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4250</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCHiAmpExtBeta> + <NTCHiAmpPCBTopResistor> + <longName>NTC HiAmp PCB top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_HIAMP_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpPCBTopResistor> + <NTCHiAmpPCB25Deg> + <longName>NTC HiAmp PCB 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_HIAMP_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpPCB25Deg> + <NTCHiAmpPCBBeta> + <longName>NTC HiAmp PCB Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_HIAMP_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4250</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCHiAmpPCBBeta> + <NTCHiAmpAUXTopResistor> + <longName>NTC HiAmp AUX top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_HIAMP_AUX</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpAUXTopResistor> + <NTCHiAmpAUX25Deg> + <longName>NTC HiAmp AUX 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_HIAMP_AUX</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpAUX25Deg> + <NTCHiAmpAUXBeta> + <longName>NTC HiAmp AUX Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_HIAMP_AUX</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4250</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCHiAmpAUXBeta> + <AUX0SignalSource> + <longName>Mode</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Signal source for the output enable state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX0_SIGN_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + <enumNames>ChargeAllowed</enumNames> + <enumNames>LCDisChargeAllowed</enumNames> + <enumNames>LCDischargeEnabled</enumNames> + <enumNames>Signal01</enumNames> + <enumNames>Signal02</enumNames> + <enumNames>Signal03</enumNames> + <enumNames>Signal04</enumNames> + <enumNames>Condition01</enumNames> + <enumNames>Condition02</enumNames> + <enumNames>Condition03</enumNames> + <enumNames>Condition04</enumNames> + </AUX0SignalSource> + <AUX0TurnOnDelay> + <longName>Turn on delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning on the output, this could prevent accidental turn on.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX0_TURNON_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>250</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX0TurnOnDelay> + <AUX0TurnOffDelay> + <longName>Turn off delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning off the output, this could prevent accidental turn off.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX0_TURNOFF_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>5000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX0TurnOffDelay> + <AUX1SignalSource> + <longName>Mode</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Signal source for the output enable state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX1_SIGN_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + <enumNames>ChargeAllowed</enumNames> + <enumNames>LCDisChargeAllowed</enumNames> + <enumNames>LCDischargeEnabled</enumNames> + <enumNames>Signal01</enumNames> + <enumNames>Signal02</enumNames> + <enumNames>Signal03</enumNames> + <enumNames>Signal04</enumNames> + <enumNames>Condition01</enumNames> + <enumNames>Condition02</enumNames> + <enumNames>Condition03</enumNames> + <enumNames>Condition04</enumNames> + </AUX1SignalSource> + <AUX1TurnOnDelay> + <longName>Turn on delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning on the output, this could prevent accidental turn on.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX1_TURNON_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>250</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX1TurnOnDelay> + <AUX1TurnOffDelay> + <longName>Turn off delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning off the output, this could prevent accidental turn off.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX1_TURNOFF_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>5000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX1TurnOffDelay> + </Params> + <SerOrder> + <ser>noOfCellsSeries</ser> + <ser>noOfCellsParallel</ser> + <ser>noOfParallelModules</ser> + <ser>batteryCapacity</ser> + <ser>cellHardUnderVoltage</ser> + <ser>cellHardOverVoltage</ser> + <ser>cellLCSoftUnderVoltage</ser> + <ser>cellSoftOverVoltage</ser> + <ser>cellBalanceDifferenceThreshold</ser> + <ser>cellBalanceStart</ser> + <ser>cellBalanceAllTime</ser> + <ser>cellThrottleUpperStart</ser> + <ser>cellThrottleLowerStart</ser> + <ser>cellThrottleUpperMargin</ser> + <ser>cellThrottleLowerMargin</ser> + <ser>packVoltageDataSource</ser> + <ser>packCurrentDataSource</ser> + <ser>buzzerSignalSource</ser> + <ser>buzzerPersistent</ser> + <ser>shuntLCFactor</ser> + <ser>voltageLCFactor</ser> + <ser>voltageLCOffset</ser> + <ser>loadVoltageFactor</ser> + <ser>loadVoltageOffset</ser> + <ser>chargerVoltageFactor</ser> + <ser>chargerVoltageOffset</ser> + <ser>throttleChargeIncreaseRate</ser> + <ser>throttleDisChargeIncreaseRate</ser> + <ser>cellBalanceUpdateInterval</ser> + <ser>maxSimultaneousDischargingCells</ser> + <ser>timeoutDischargeRetry</ser> + <ser>hysteresisDischarge</ser> + <ser>timeoutChargeRetry</ser> + <ser>hysteresisCharge</ser> + <ser>timeoutChargeCompleted</ser> + <ser>timeoutChargingCompletedMinimalMismatch</ser> + <ser>maxMismatchThreshold</ser> + <ser>chargerEnabledThreshold</ser> + <ser>timeoutChargerDisconnected</ser> + <ser>minimalPrechargePercentage</ser> + <ser>timeoutLCPreCharge</ser> + <ser>maxAllowedCurrent</ser> + <ser>allowedTempBattDischargingMax</ser> + <ser>allowedTempBattDischargingMin</ser> + <ser>allowedTempBattChargingMax</ser> + <ser>allowedTempBattChargingMin</ser> + <ser>allowedTempBattCoolingMax</ser> + <ser>allowedTempBattCoolingMin</ser> + <ser>allowedTempBMSMax</ser> + <ser>allowedTempBMSMin</ser> + <ser>displayTimeoutBatteryDead</ser> + <ser>displayTimeoutBatteryError</ser> + <ser>displayTimeoutBatteryErrorPreCharge</ser> + <ser>displayTimeoutSplashScreen</ser> + <ser>displayStyle</ser> + <ser>maxUnderAndOverVoltageErrorCount</ser> + <ser>maxUnderAndOverTemperatureErrorCount</ser> + <ser>notUsedCurrentThreshold</ser> + <ser>notUsedTimeout</ser> + <ser>stateOfChargeStoreInterval</ser> + <ser>stateOfChargeMethod</ser> + <ser>CANID</ser> + <ser>CANIDStyle</ser> + <ser>CANBaudRate</ser> + <ser>emitStatusOverCAN</ser> + <ser>emitStatusProtocolType</ser> + <ser>tempEnableMaskBMS</ser> + <ser>tempEnableMaskBattery</ser> + <ser>tempEnableMaskExpansion</ser> + <ser>noOfTempSensorPerModule</ser> + <ser>noOfExpansionBoard</ser> + <ser>noOfTempSensorPerExpansionBoard</ser> + <ser>LCUseDischarge</ser> + <ser>LCUsePrecharge</ser> + <ser>allowChargingDuringDischarge</ser> + <ser>allowForceOn</ser> + <ser>pulseToggleButton</ser> + <ser>useCANSafetyInput</ser> + <ser>useCANDelayedPowerDown</ser> + <ser>NTCLTCTopResistor</ser> + <ser>NTCLTC25Deg</ser> + <ser>NTCLTCBeta</ser> + <ser>NTCPCBTopResistor</ser> + <ser>NTCPCB25Deg</ser> + <ser>NTCPCBBeta</ser> + <ser>NTCEXPTopResistor</ser> + <ser>NTCEXP25Deg</ser> + <ser>NTCEXPBeta</ser> + <ser>cellMonitorICType</ser> + <ser>cellMonitorICCount</ser> + <ser>extEnableState</ser> + <ser>chargeEnableState</ser> + <ser>powerDownDelay</ser> + <ser>humidityICType</ser> + </SerOrder> +</ConfigParams> diff --git a/res/config/1.1/info.xml b/res/config/1.1/info.xml new file mode 100644 index 0000000..39e1b3c --- /dev/null +++ b/res/config/1.1/info.xml @@ -0,0 +1,533 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ConfigParams> + <Params> + <fw_version> + <longName>Firmware Version</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The firmware version(s) that this version of ENNOID-BMS Tool supports.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + <valInt>0</valInt> + <enumNames>1.1</enumNames> + </fw_version> + <help_can_forward> + <longName>CAN Forwarding</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;When CAN forwarding is enabled, all communication will be forwarded over CAN bus to the VESC / DieBieMS / ENNOID-BMS with the ID selected in the ID box in the connection page.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </help_can_forward> + <master_setting_description> + <longName>Master Setting Description</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-weight:600;&quot;&gt;Master Settings&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This area is specific to the ENNOID-BMS Master board.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;This is where you can edit your ENNOID-BMS master settings. It is &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif'; color:#ff0000;&quot;&gt;very important&lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; to setup (configure the cell and pack specific parameters) your ENNOID-BMS every time you connect it to a different battery pack, otherwise the battery pack might get damaged to the extreme where it might end up in fire.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;The BMS settings are stored in their own configuration structure. Every time you make changes to the BMS configuration you have to write the configuration to the ENNOID-BMS in order to apply the new settings. Reading/writing the BMS configuration can be done using the buttons on the toolbar to the right. The functions of these toolbar buttons are the following:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/846930886.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWtJREFUSInt1L9LlVEYB/CPP9I7iFAkpojgq +lOCg0u4COIi0aAipuDQv+Ag4dbQ7ChUSNASNIWLiAjSkEugIAjXSREUU0QMUYdzgpfTe7tXsu1+4YX3P +N/nnO95Hr7PoYoq/hfq/sK14TyzbsE0+rCP0yS/BuN4hiYUy4k34Fvc8Bu9uME13uTs6cJl5BezRG0Jk +Zl447dRMIsfGEUhiU/gEMfpYXkij/FaKL8Pkwn/Ca0YyMQeRJElXFUiMocn8b8G83iU4YtYxctMrF9o1 +8ec8/4Q6cGrJNaB2ST2HsOCGWAKG9ipRORaKHsMF1jAC6wkuV8j/xwPMYJ3eQJQn6y341cQeruJz5Hrz +eSdxfgUfglt/VKpyF3wQXBhaxQ4QWNeYikLV4Lv2EJnFCyJf6nkCkPCdO/dRaRdcFiD8OR0YxA/5fhfG +L7DcrdJ3642PEUzlnEkuKdWmPRdrMuZ6ogbHGBNmeqqqOJ+cAulnEDcgz/2JwAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the current BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAbJJREFUSInt002IjlEUB/Cfd8Y0xTsWGjYWE +7MkKZRYqMl3Yulj7CykbC2sbJSsLKSJohEWk0RZiIhYKmUiSmoWamgsNIbxORb3PLpuzzAWdu+/nnru+ +frfc87/0kIL/wuz0Ibb6C18U+jHg5q8fqzBGI5GbI5lOBD/xyvjDvyI4Oq7gUb427A0K3Iu4j9jec0lB +vA9YlbkHT3OCD4VRbdjHDszkjEM40RBMDd890qS9fiCb0FyskjswHm8w+IgGcVhjKAzi92N9zhUktyJ7 +zTeoLtmBF14hVMZSQ8+YFs2kZu4gH05ybzoYg8WYG8NQYVjeBlFRjEb1zAU/h5Moi8naWAR2vEcb3HpD +yTPMB/NOE9hEJuxMC74GvfzpAY+RnDT39GFr1LnFW5JotgVJBel3f5GMiKpYcMMSDbiKSYy2wSu4AiW4 +HKZ1JDmdgYHI2g69GELztb4BqW3dBcvpivQxBNpL6tqLrJV2td1aX+VutqzuM7i/GvxlXE8Cg3hofSQH +knqWYeVkor2K+adYXK6Dkp0SFK+KilpWFLbJukNVOjF6sJWohtrMWem5C208O/4CY0gaupzHd1QAAAAA +ElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool. The default configuration is hard-coded in firmware, and is how the BMS is configured right after uploading new firmware.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1714636915.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWdJREFUSInt1L9LlVEcx/FXYupYkJhLEDTEx +cmQaKpcjJZoCCLJxMF/wKFFBJeKaG20KFSQtpbGRIlCcGhRiAhJIZUyEH/itdvwnEuPD+c+XC+03Q88c +L7f8/2c9+E533Ooq67/pROZ+CK6I3VrmMGdEL/FSmStuziNRbyvBD2L6+jBNp6G+BI6UcIfPI54z2M/z +I9VAqTVgk0MpHJlyGd8CzVpDWMZP7OQhmqIGU2hDddSuZPoxTiKWUMtkCVMoy+VuyL5XZMxQy0QeIWba +A3xA3zEl1hxYybuQAFNYa4LW9iRdFhZ77CL23iDWxiqdoeFsGAp8z3x7+Dvhdrn+IB+/MIpNGNVFd31T +NKGZcB3Se9nIZexh694EXJRSOxMHuFHGJcwgt+Runks4Bxe5+06BtnAaAB8wkQFbxE3JK/E7HEh8BJze +IiDHP+65GIe5kHy1O7o23YGg7iQ42nAfVytFVpXXcfTX2+vTfc/khePAAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Write BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will write the BMS configuration that currently is in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. Every time you make a change to the BMS configuration in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool you must use this button to apply the new settings. The new settings will be used as soon as you write them to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;, and they will be stored in the flash memory of the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; persistently.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Every BMS setting has three small buttons to the right of its value. They have the following functions:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/719885386.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAApUlEQ +VQ4je2UOwoCMRRFz4iduAOX4AJ0HwqW2YIrcQfpZzYy1rMGG8sB21Gb+yCIUZOJ2HjgwsuHk0cggR8xU +4pQAV6pSggdcFXcWNkS6IGb0msuiznQBTJLp7Vk/BOZxafKHDC8EA5E7nMaEZ6Bneo9sFbdAgfVl9Quj +TrorHm3eZJ7yl/4PWFx7PdYAKuRriNwssGG+Kv4NNvHDu015NKGHRbjDvLBOhzaahdWAAAAAElFTkSuQ +mCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Current Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the current value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1189641421.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABy0lEQ +VQ4ja3UuWsUUBAG8N9uNCbe8T4LDdqpYGNhBCWQxsZCRMWjEBsbK5vUVv4DBkQR7ETwQkUhoCBBRAQRQ +RuPRDwKC2M0mpCsxcyaZY+sRQYejzfvvZlvvjmYYSk00C/BBqzCbPzCh1y//9d4Cw6gHz8xiVLFmsRXX +MK2ZgiLuIwjiaYfT/ERY5iPTdiN7RjHcVxtZHhnIriO5U0i2YHBdFYjxdxXa8xnPSlgbb2LWVXnfejBQ +wxgCH+wEJvRja2C72llvyD+guBvRG1SJkwlZSB1TRG+xUksRifWoDUdvMc7kZC+dNgU4QTu4qjIarvge +anIbiWAeYKKaQ2+wGhVqCVRSl1Vf3rybhjn03FNyOfwAHtE8a5DG+7gE07gYr79nPsCPFZFQRnhoCjYj +jpRXEv0nXlehidpeAhz6xkcy30Ez3EbZ0WZjCbSshSwCGcSXRdThV2WUxnWPdFu3blaMQdfKt6W8D11h +Qz9n+xKLzc0br1XgscVFboi7osJtF7VxZU0+gM30YtjYgJtwSFRVi9xGHtxK//01UPQgoN4pHZ8vRZ8n +RZlUtaPi85pLxtpNBA6sNFUpwyLJH3DSpGANjzDmwY2Zkb+AmCVfJ8j/k4uAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1350490027.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABiUlEQ +VQ4ja3UQUtVURAH8F8iiOt4lRuJBF/wAj9Drtzk24maguuo71G67xtIayNa5t6lqagrFVMRdGdQ1LPFm +fu8He99mvSHA/fcmf//zJyZM/xn3LvBPoAmhmN/gB38+NeDHmIJR+jgMlYn/i2Fz60ifI4PeIANrGA3b +KNo4xlOMYPVXpGN4zvOMI2+Cp++EDoL3/E6sQaOcY5WJvDE1T0WaIXvcXCvYVG6o+nSv/tYw2/8wicMl +uwzwVnMxQaky173d5qvpWK8wpv4XsiiX8e30OiSn+KRVIBOifAFU1iOSEnFKtDBRwyFRheTcfpcHnopg +89SEVqZbT64L6C/RiDHW0zEgZu9HIuU9+OUZo3fT7yX+jNHM7gHZcFtqfxt1b23j60g5gG1g7udk4q2m +a0Q3IiV42Vw3lXYNKTWOcdYZhuJVcZY+B6paWzSM7oIx1n1T28ufC6kt99F3XBYlvryq9RnO2FruhoOJ +1LKPYdDgYZ0p4euj6/DsFWmedsB+zj2e+44YO+MPwJ2YaVTOqggAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Show Help&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will show a help dialog describing what this setting does. If you are not sure about a setting the help dialog can be very useful.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The full BMS configuration can also be written to and read from XML files using the &lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; menu. This is a good way to keep your settings when going between different &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool versions, to share your settings and to store your configuration in general.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Notice that uploading new firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; will reset all its settings to their default values for that firmware. This means that after uploading firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; you have to perform the motor configuration again.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </master_setting_description> + <slave_setting_description> + <longName>App Setting Description</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-weight:600;&quot;&gt;Expansion Board Settings&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This area is specific to the slave portion of the BMS, parameters specific to the interfaces and limits of the slave BMS.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;The BMS settings are stored in their own configuration structure. Every time you make changes to the BMS configuration you have to write the configuration to the ENNOID-BMS in order to apply the new settings. Reading/writing the BMS configuration can be done using the buttons on the toolbar to the right. The functions of these toolbar buttons are the following:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/846930886.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWtJREFUSInt1L9LlVEYB/CPP9I7iFAkpojgq +lOCg0u4COIi0aAipuDQv+Ag4dbQ7ChUSNASNIWLiAjSkEugIAjXSREUU0QMUYdzgpfTe7tXsu1+4YX3P +N/nnO95Hr7PoYoq/hfq/sK14TyzbsE0+rCP0yS/BuN4hiYUy4k34Fvc8Bu9uME13uTs6cJl5BezRG0Jk +Zl447dRMIsfGEUhiU/gEMfpYXkij/FaKL8Pkwn/Ca0YyMQeRJElXFUiMocn8b8G83iU4YtYxctMrF9o1 +8ec8/4Q6cGrJNaB2ST2HsOCGWAKG9ipRORaKHsMF1jAC6wkuV8j/xwPMYJ3eQJQn6y341cQeruJz5Hrz +eSdxfgUfglt/VKpyF3wQXBhaxQ4QWNeYikLV4Lv2EJnFCyJf6nkCkPCdO/dRaRdcFiD8OR0YxA/5fhfG +L7DcrdJ3642PEUzlnEkuKdWmPRdrMuZ6ogbHGBNmeqqqOJ+cAulnEDcgz/2JwAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the current BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAbJJREFUSInt002IjlEUB/Cfd8Y0xTsWGjYWE +7MkKZRYqMl3Yulj7CykbC2sbJSsLKSJohEWk0RZiIhYKmUiSmoWamgsNIbxORb3PLpuzzAWdu+/nnru+ +frfc87/0kIL/wuz0Ibb6C18U+jHg5q8fqzBGI5GbI5lOBD/xyvjDvyI4Oq7gUb427A0K3Iu4j9jec0lB +vA9YlbkHT3OCD4VRbdjHDszkjEM40RBMDd890qS9fiCb0FyskjswHm8w+IgGcVhjKAzi92N9zhUktyJ7 +zTeoLtmBF14hVMZSQ8+YFs2kZu4gH05ybzoYg8WYG8NQYVjeBlFRjEb1zAU/h5Moi8naWAR2vEcb3HpD +yTPMB/NOE9hEJuxMC74GvfzpAY+RnDT39GFr1LnFW5JotgVJBel3f5GMiKpYcMMSDbiKSYy2wSu4AiW4 +HKZ1JDmdgYHI2g69GELztb4BqW3dBcvpivQxBNpL6tqLrJV2td1aX+VutqzuM7i/GvxlXE8Cg3hofSQH +knqWYeVkor2K+adYXK6Dkp0SFK+KilpWFLbJukNVOjF6sJWohtrMWem5C208O/4CY0gaupzHd1QAAAAA +ElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool. The default configuration is hard-coded in firmware, and is how the BMS is configured right after uploading new firmware.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1714636915.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWdJREFUSInt1L9LlVEcx/FXYupYkJhLEDTEx +cmQaKpcjJZoCCLJxMF/wKFFBJeKaG20KFSQtpbGRIlCcGhRiAhJIZUyEH/itdvwnEuPD+c+XC+03Q88c +L7f8/2c9+E533Ooq67/pROZ+CK6I3VrmMGdEL/FSmStuziNRbyvBD2L6+jBNp6G+BI6UcIfPI54z2M/z +I9VAqTVgk0MpHJlyGd8CzVpDWMZP7OQhmqIGU2hDddSuZPoxTiKWUMtkCVMoy+VuyL5XZMxQy0QeIWba +A3xA3zEl1hxYybuQAFNYa4LW9iRdFhZ77CL23iDWxiqdoeFsGAp8z3x7+Dvhdrn+IB+/MIpNGNVFd31T +NKGZcB3Se9nIZexh694EXJRSOxMHuFHGJcwgt+Runks4Bxe5+06BtnAaAB8wkQFbxE3JK/E7HEh8BJze +IiDHP+65GIe5kHy1O7o23YGg7iQ42nAfVytFVpXXcfTX2+vTfc/khePAAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Write BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will write the BMS configuration that currently is in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. Every time you make a change to the BMS configuration in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool you must use this button to apply the new settings. The new settings will be used as soon as you write them to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;, and they will be stored in the flash memory of the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; persistently.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Every BMS setting has three small buttons to the right of its value. They have the following functions:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/719885386.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAApUlEQ +VQ4je2UOwoCMRRFz4iduAOX4AJ0HwqW2YIrcQfpZzYy1rMGG8sB21Gb+yCIUZOJ2HjgwsuHk0cggR8xU +4pQAV6pSggdcFXcWNkS6IGb0msuiznQBTJLp7Vk/BOZxafKHDC8EA5E7nMaEZ6Bneo9sFbdAgfVl9Quj +TrorHm3eZJ7yl/4PWFx7PdYAKuRriNwssGG+Kv4NNvHDu015NKGHRbjDvLBOhzaahdWAAAAAElFTkSuQ +mCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Current Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the current value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1189641421.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABy0lEQ +VQ4ja3UuWsUUBAG8N9uNCbe8T4LDdqpYGNhBCWQxsZCRMWjEBsbK5vUVv4DBkQR7ETwQkUhoCBBRAQRQ +RuPRDwKC2M0mpCsxcyaZY+sRQYejzfvvZlvvjmYYSk00C/BBqzCbPzCh1y//9d4Cw6gHz8xiVLFmsRXX +MK2ZgiLuIwjiaYfT/ERY5iPTdiN7RjHcVxtZHhnIriO5U0i2YHBdFYjxdxXa8xnPSlgbb2LWVXnfejBQ +wxgCH+wEJvRja2C72llvyD+guBvRG1SJkwlZSB1TRG+xUksRifWoDUdvMc7kZC+dNgU4QTu4qjIarvge +anIbiWAeYKKaQ2+wGhVqCVRSl1Vf3rybhjn03FNyOfwAHtE8a5DG+7gE07gYr79nPsCPFZFQRnhoCjYj +jpRXEv0nXlehidpeAhz6xkcy30Ez3EbZ0WZjCbSshSwCGcSXRdThV2WUxnWPdFu3blaMQdfKt6W8D11h +Qz9n+xKLzc0br1XgscVFboi7osJtF7VxZU0+gM30YtjYgJtwSFRVi9xGHtxK//01UPQgoN4pHZ8vRZ8n +RZlUtaPi85pLxtpNBA6sNFUpwyLJH3DSpGANjzDmwY2Zkb+AmCVfJ8j/k4uAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1350490027.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABiUlEQ +VQ4ja3UQUtVURAH8F8iiOt4lRuJBF/wAj9Drtzk24maguuo71G67xtIayNa5t6lqagrFVMRdGdQ1LPFm +fu8He99mvSHA/fcmf//zJyZM/xn3LvBPoAmhmN/gB38+NeDHmIJR+jgMlYn/i2Fz60ifI4PeIANrGA3b +KNo4xlOMYPVXpGN4zvOMI2+Cp++EDoL3/E6sQaOcY5WJvDE1T0WaIXvcXCvYVG6o+nSv/tYw2/8wicMl +uwzwVnMxQaky173d5qvpWK8wpv4XsiiX8e30OiSn+KRVIBOifAFU1iOSEnFKtDBRwyFRheTcfpcHnopg +89SEVqZbT64L6C/RiDHW0zEgZu9HIuU9+OUZo3fT7yX+jNHM7gHZcFtqfxt1b23j60g5gG1g7udk4q2m +a0Q3IiV42Vw3lXYNKTWOcdYZhuJVcZY+B6paWzSM7oIx1n1T28ufC6kt99F3XBYlvryq9RnO2FruhoOJ +1LKPYdDgYZ0p4euj6/DsFWmedsB+zj2e+44YO+MPwJ2YaVTOqggAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Show Help&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will show a help dialog describing what this setting does. If you are not sure about a setting the help dialog can be very useful.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The full BMS configuration can also be written to and read from XML files using the &lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; menu. This is a good way to keep your settings when going between different &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool versions, to share your settings and to store your configuration in general.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Notice that uploading new firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; will reset all its settings to their default values for that firmware. This means that after uploading firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; you have to perform the motor configuration again.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </slave_setting_description> + <data_analysis_description> + <longName>Data Analysis Description</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-weight:600;&quot;&gt;Data Analysis&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Here you can stream and plot data from the ENNOID-BMS to analyze what is going on. Next to all plots the following buttons are available:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1804289383.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAOtJREFUSInt0j9KQ0EQx/FPTODlIMY7iIXWg +VgoSmzEE3gEsRDvoCm0Tx0lJ/AUsbW0TUCfFhkhLlmeAcv9wrAzO39+u+xSKBT+k0P0w+9H/Ce2GvJdn +KBCB+3Yb0dcRb67qUgL+xjhDedYZPoXuIi6EQ6iP0sPN3hFja+w08gfYRD+IGI4W6mto/8WO6nANT5Xi +lftCQ+YJiLT2H/O9NUx9xfbuMIsucmw4SbDZPAshvdSgZRd3OMdkwaRSdTdYc+aN+lkRF7CLmNglamr8 +IhjzHMnzon8MMc4/A/LdxNry/J3jdf0FQqFDfkG0GlAe84ws98AAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;img src=&quot;data:image/1714636915.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAzBJREFUSInF1k9oHGUYx/HP7O5sNptNVo20E +T14KqKmeIg9Bbx4LygR9ObRUsFDaQ8e7NGCVG/qSbyoPdR4EhQ8VOjFHoQUUYoHRYXYvybZ/7uz42HfN +5mkMS0o+MLDDDs7z3d+z7zP75nEvVYuQQmVcEyQY4wMmUR+UIrkgOQlVFELx3QfyBAD9DCQGN8/JFfFD +KZDVEOUCvdkATBAN0RbYrA3XWUfwDRm0UA9xFRQUikoiZA+OiFSuS2J7j9DJoAm5gIkgmLJipCRnVIVr +5fkFEGVAqAaFMwF0GyIWLYpOy9/HCD9UKZ4rRyyjeWyWLpKAJRCsvj0s3sUzRRKFiHDAGkXfhfKOMJQb +iQxjkqq4WnrBcjcHlAtgGK5+qFU1V0Kdpexi14l9EGtAKkXVO2U7n1H1KRedd1HDukZes21AiArqIuAm +ly/FGTGLTpVAM7Y0HTOUS3zSmZVNPGwiqaSWS3zzjlqQ7Pw7qLiqagydnIqNlxmyruesmzFgpNWLWqoS +82omAuQOakZDXWfW7TgpGUr3vG0bDt5GqIcd0vJOY+74CXXPK/tkLhe8RumlU1JNTAtVTaQYdrLfvedR +1y25LIlZ113xDdedMGbbk/y5+oOOx9eWn5XHLPuuHXLNl20Kdd10aZlW45bd8z6vvcxdth5uXrZWRWnr +Km7ZNPQhgUDjW0lp/zoPX8oS6VST+r5QW7RbW/7WVvXVx7d/n/Dn56x6nVv+cIqOpWgYOy0X532scyXP +rTkM8+5YtEnHvOG72X6hlpoG5qRhUb81BNqep511YpvnXBF2U3cjLkr240z2dtDZX0n/OSEGzZc8oGjW +jqG2lIj3DGSGepr6XjBVV9b03QDt8IWHoScQ2RRSXTT4h5va6o6Yw2zxuaN9HDTSMnYUMMtZ/yCDZPO7 +4b7+wVYNrHtXA0PFeJBPOD+Or6FzQD6C3dwezsSvWgrcSZ0FN10sqKlH+RdEbQVzjshX8EgE2P5ttHtd +tNJsp6DXbgdABEy2SBhUu5YfWIgt+VuN+279zzpFJJPFBUm5O6hleiGT4K9bnq/k7EVAN3dafdb//GM/ +x+/VnbD/vV3198lXlrK5rk7bAAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;If this button is toggled active (green), scolling with the mouse on the graph will zoom the graph horizontally.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/719885386.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAARFJREFUSInN1DFKA0EUxvFfVDBipa1l9BbBG +1ioWMbeM4jYCnZeII1dChHPolXwCpvOFCZa7CwmC4lvTBb8wzI7s/PNNzvz3uOfctO0wREmOMwRbWSa9 +JKml6kL08I7vlLbasLkGNNkMk39EDnHdeln963UXys7GCn/onpGaEfEm0GTM+zhFru4xj4+8Ja338Vsz +7z3F4wvZCsw57Q27wAXM/1PPK1qMjZ/rA+175PAGs0TSagTywNkgpdlC+SWFbj6gybEStEVzZNz3CnLS +Te198o8eQ2u8SttFOYzvhDM+OidjDGojQ3S+Fqpjqmqwt11G1QMk8kwR5Qbwo+1thE6yuTr5IiiIVxRK +O/jOVPXPN97eDNuBsQAEwAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;img src=&quot;data:image/1649760492.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAzdJREFUSImN1rtvXEUUBvDf3bu7Xtu7Xju2C +YiGDslSkBLJQAGUqSlwh0SDRBOEBEi0UEJFnKRD/AMxEgVVSuo0KFKI6CgQAePH4td6X5fiznhn18bJl +T7Nfcz5vnPOnDlzM8+6ChnygAoyFBhhiKFMcRlF5RLyikIDbVzBCla85Kuz+/J9W6Gh+H+uiz8U6gn5c +sCKr93w1Ge+cT0RWk7E6s8nUpjFIpYSkZJwy3vI3LeRCESRJSwG+4mreoFAGwtoBsyhYWjGr26CJ24a+ +knuFF00UA98FQUyJ+cjKUNtBYH2uWg2veHIKji06o7Xz0UxdrCVpq4SBCqYT7xvTQkt+8HbysqCzJZ3g +kgq0Eo45mMxxEjqmA2piSIxoiW7XvDQtYnUPnTNntUgMo5gnOLZwCsP+6CZkMYxRtK26TV7FnzuiX1VX +3hsW92xzFs6QTbum0FAH31fOs0UcmmZju9jvhcdWtYM3r1rzY8e48ShY0072McudqbwD3aryoqohdDiO +BPQcNerKlpq5uQadsz73iuGuvqOjay45ZfEpp5w1ZBXw7pEVBPUMKOlKldXM6um6VOFQktfpm9gqBrIa +4lt2oYq1VAx04iimQ/8HfKdhwWt4SRgL6Rk0iatQrKqstlNYxRQ+M5VFW1186pyub6h3MCcnitGch+eO +TJKOMT7SvJxlFRGrI5TQz0DXQNHBjo2MdAJz11DPZyG+dF2GDDCqJoQ9pLxNODER36bqK4t8973+1R1d +RObXsLVxzBG0kvIuyHfRwEH7lnwputua/oT32pad8M9CzjAYZh7coHgMAuZayj3RMRkL+poe9EtXQ3xa +uh66q62Dv5FR7lf9pR7pkSmG9tKL3hxHLw6SAz3tG1b90h6rXukbTuQRqEY1XHg6xF7V2YUwj0MmPZsx +4afJ0TK553wfT/MP0g4jgLvWT0Labv8PFl026Grmv6y75PkPDk27eCF50kpeZJEEPtR2ZNy29Y8AGsey +G2HSOKcaDMhcF5kLJQuYGx0OzbcxyiM4/flvDJtUwLn0zWZuoqy0cWjtYaKl33sD3eUpR/3VRe9uAbPL +zIWi30pNtP0v2uA0bP+u/4DiYs9rS0c1UcAAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;If this button is toggled active (green), scolling with the mouse on the graph will zoom the graph vertically. Often it is useful to deactivate this button and only zoom in the horizontal direction because the sampled data can be squeezed together horizontally for long sampling sequences.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACdjAAAnYwEdzQRDAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAS5JREFUSInd1j9LA0EQh+EnEr+BYBdJKrFST +KGIimhh52cTLMReBEH80ymCjZ0INlqpRToLeyHqWeSCe6fEy92mcWDgbmbn93J7s8PWkBixjY0aAPXge +Q2diNoNXOUhHTxHEJ/EWxiIuV3T2MM9xvPJJPVWSfElnOIj1dlO461AuxSkhi1cB/UJupiKAVnEQ0687 +/vBukqQut4WHeEzqP/EbCxI35p4DOrPc/nKkKbeGWjgOK1fjwkJAbCMm1/WFYa0ZXs+D5Dm21Ugt1gZA +BhkhSAbafykBKAw5MJ3az4NCSgEmZM9AwnOsCo7VCtBDnKAvt9hIQakpTeDwpN8ic2C4oUgO+n7Ow4xP +6T4n5AJvGJX+dH/A5L/iV3M4KUiIGMhJGzRql+R0av5L1eiL2cWjCtk8xZ0AAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;img src=&quot;data:image/424238335.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACdjAAAnYwEdzQRDAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA4hJREFUSImt1k9oHGUYx/HP7k5mN5tNWlttS +lsKKbbRixDBg5aihVKsiHrRo1QFQax/yEEvnjyVHvSQg4gXEaSCetBD25PtoVTRQw6emv7D0EBDbRubZ +Jvdzc56mHdmh9jUgr7wMC8z8/6+7/M88z7PlNBzr1FCGVG4lsKKBN1g91YQrfukjBi1cB24C6SDNlbCN +fl3yH7Mgj1iE+q2qxlVVRcbMqCsrKSkrKcjsayjqW1ey5wV05pmtIPeTpxeC5nFZT2DGA57qwdbDb5EB +V+64Z0WmsGW7Fd3xsL64UoBGzCCRrB6IWhFyGohWDUfGzflZTccdMhjTt4NskccPBgJoOFgQxhEVT/9S +YC0HLPDlEOuegJlW33lhLZxDTNFSBkT6mFnjSBe9GgoQNL0r+o5aswXnjJrLN9oSddHvkXDhLqL6XZSS +IztaiE0GWRkDaiGqu+MesfTrtlk7djlrLfdJnw0cRrMslJYPqqqn+ihIJyBNmIzNnsBn/ndPlfXIHo+c +CrXGFVVSzMY5eehLg5xroUcZKDhABnGoFjFS7oedsEBG81rgN1mvOl67vGIWIwKZVGI9JCBMItD/Kthw +VAhR5vxoPO2OuxxP/nNXnPgXefCmhixqgEDKST1JLWseGQ2UIBlZ2eji+pe03DcFbsx6ZI5kSOuFtZWw +tGlTKSUxk2pMMuwP3jIQRWDKohcVPeGB3ztVvimKg65qeJsvibTSPqKZT2C9WckEj3v2eeETeg6r+RVD +V+6ZUxTWrm6BnW86Lr07CS5RrmvGOWPkvyApTZlhz9s8YmOcTMO2+a4K8by076IO9Ky0grQbH1XJygmR +FbD42Ud/braMuVJcM52B2xwxq92K6Wp1A2ARSxLS0sGa6OtJQq+KkvC7WZe7FZ8botL9uQnYF7D6x7xv +Yq2G/gTN7EQQEsBdicH3tbWziC9cHu+UE2PeTYksD9+ts37HvUjuBFsAX/hdgGUasxrWclyIngyZwVNn +xpz2d6CfM8uF7zlF5NmQ43IWlYrCC8FUOZV05w46ywpJMF06AdHvRLinhhzzqRTjrhmvSqchmg5ADLIk +mlx1in7pX5G23Ni1z1vi+M+9I1JC+6vnzRz8cyjmVBurG1aJy16xoTTmvoNa0W/zP97Z2RRyZ2ibBGyE +5zBuE332eMjTZF5kTmxaXHBg52ZcLarf47/8W9lfUjxjf/43/U3pE5Iq8YBubkAAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;This is the auto fit button. If the toggle verion of the button is active (green), new realtime data that drops in will cause a rezoom in the graph to fit all data. Deactivating this button can be useful of you want to zoom in on the realtime data manually while samples are dropping in.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACdjAAAnYwEdzQRDAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAS5JREFUSInd1j9LA0EQh+EnEr+BYBdJKrFST +KGIimhh52cTLMReBEH80ymCjZ0INlqpRToLeyHqWeSCe6fEy92mcWDgbmbn93J7s8PWkBixjY0aAPXge +Q2diNoNXOUhHTxHEJ/EWxiIuV3T2MM9xvPJJPVWSfElnOIj1dlO461AuxSkhi1cB/UJupiKAVnEQ0687 +/vBukqQut4WHeEzqP/EbCxI35p4DOrPc/nKkKbeGWjgOK1fjwkJAbCMm1/WFYa0ZXs+D5Dm21Ugt1gZA +BhkhSAbafykBKAw5MJ3az4NCSgEmZM9AwnOsCo7VCtBDnKAvt9hIQakpTeDwpN8ic2C4oUgO+n7Ow4xP +6T4n5AJvGJX+dH/A5L/iV3M4KUiIGMhJGzRql+R0av5L1eiL2cWjCtk8xZ0AAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;This is the non-toggle version of the auto fit button. Pressing it will zoom the plots so that all data fits in them.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Realtime Data&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The realtime data page can be used to stream and plot filtered data continuously, which can be useful for visualizing things in real time while they are happening. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;In order to stream realtime data, the &lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-style:italic;&quot;&gt;Stream realtime data&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; button in the main toolbar to the right has to be activated:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAABRdJREFUSIm111+MnFUZx/HPO/POOzM7u93Wb +jFtt40RApRWYsIFBm+8hCipUYxcKFygwQskVqsXxP9S/8RN1gRso60Ua0hpiDE0Jpgof7RcaKxpMJAAp +qloQSOpbdndme78eV8v3vPOvLO7unrhSZ6LOXPmfM/vec7zPGci/8vIVFBFBdFwlhQDkfS/3Spad0UOq +5UsDuBKWJEG66M3tHUOUQbHeBIz4fNAxTm7HPGil0z6kZ5ZkWiILEaKSN/nfMqD/oJlXEFXJFtPW4LX5 +a4bWaTtTneoO7fqu3Hr+5ZbZa6V2SmzRaYVPLZqxGvMpWpeEKnpuk6m6Wn32+gNHUQiPS1tM2oWtVwIm +gau1sR0EFGEpSqzJDJYD9zzE3f6KPa6zUnzLrnRP9xtoyoS93qvH7rPbn9wxmEM0JXHtwyuKsKZWSzHf +eSGa0rx3qyFSV/3stiSVMM5W7ERG7W0QnASbBrO59ANmAo2GayFpmzEGCn+kMR3RYg0tVBRM6VInYapo +CwJ31NXD8B+UHzF+M3Ptea/6wdbHoEzFU9oiMIdbGmias4t+pqmXHa1Wjh9XSOAa0PFvbBhsgKaBmiRZ +l1ZnmqF4pot6iKRVM0tHhWJtc0g8h6vSExiAg0NEysU90pqy9BCZbfkkStYHoE3Swiu7tg2DEFT2yG/L +cVqQi0ojoeKl/8NtFcC1oPVsFwZVqZELYQ+NeuPtjmLVEfTs3YG6BQ2SILiZKi4uFCt4JUmGgGUGN3y3 +DKVovbGqmJEKgaeM+91cz7gOUR+4KawYQ6PAzhXPL0CuhI4yukTNvuzOqpFza0YqA4ve0WM2DecVtPzg +m3Omg6bttQ0SuAC2iy5srjZcRBWdcx2n/R9B2wnVxyhIhmr2/ncu7Xt8lc9seNmw4aJiiSAawGYlCAjW +CHqmB0+4yvucsBhbyBas46Ojff7Ezhp67pr1xqPmfV59/mSb3s47BVOlPfT7lgXGfXYTzgr1nfG27ymg +q5UF/T10JHf3L5RoRhg4KgdvuDjDpqzz2tGLTSrDD9UDUR6Ij3pMP/63mnBHudlMidMY0mqI5bK02gBS ++EAy4piccQOX3W7H3vIh/09HKYAp1FIp2ls8rK3a9po1oSqaUX9bduka1pdS1NTX1NHoibTGKpeCodY8 +LAt5t3kZw660XlcKtlFXI5FUlk45fUWjC5G0cwTE2ohgfKiEFs2pRrCMghr21gyZ4cjdnnKYde6YFS1x +l4nxeUqam23BOwY6PiOnVJLWAyKLodTjymQWvA17/Co6zzjkQDthL2WS9Zj1J16ygqL9Pismx2z12lnP +OF54zW5rLhnvz2etd0zjrrKxeCBdoCXD9CjqK15g75SWtR21LTH3eY3vuhVk+53Q1BbqMwtdck99jhlx +q894ioXgncW14SHx0A5j7vDhb8zsM8++815l7/5lUN+bleoOiMXpy66w81e0nLKERv8E28FK+BLpQN0C +9j48za/4ZM2mXeNV/zeLxVF/7QZt3vAgx5zj/N6qm71ER2Zpx3XHN6RwnPtAF0cWunps/pdnfiY2Pu86 +csmNBla3QmzPu0Bh3zPAR9U95bnHVcda4HLYyHL4aseeyvBN+Ahu+31oszqFlez324HfdNuTzrlcY1Qp +Ub9d5QVRXzXeNyXwVM4iXvxaniYJSVo0Xli87ba583wu5X/JIq0+Y8P+jL4MH6Bn46t+D/9hSmP69ddk +anI1GTqMo1g9TC3fqcrjX8Bmh7iKXvL0NIAAAAASUVORK5CYII=&quot; width=&quot;30&quot; height=&quot;30&quot; /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </data_analysis_description> + <gpl_text> + <longName>License</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;GNU GENERAL PUBLIC LICENSE&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Version 3, 29 June 2007&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Copyright © 2007 Free Software Foundation, Inc. &amp;lt;&lt;/span&gt;&lt;a href=&quot;https://fsf.org/&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; text-decoration: underline; color:#0000ff;&quot;&gt;https://fsf.org/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;Preamble&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The GNU General Public License is a free, copyleft license for software and other kinds of works.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The precise terms and conditions for copying, distribution and modification follow.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;TERMS AND CONDITIONS&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;0. Definitions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;This License” refers to version 3 of the GNU General Public License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “covered work” means either the unmodified Program or a work based on the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;1. Source Code.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Corresponding Source for a work in source code form is that same work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;2. Basic Permissions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;3. Protecting Users' Legal Rights From Anti-Circumvention Law.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;4. Conveying Verbatim Copies.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;5. Conveying Modified Source Versions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; a) The work must carry prominent notices stating that you modified it, and giving a relevant date.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;6. Conveying Non-Source Forms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;7. Additional Terms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; d) Limiting the use for publicity purposes of names of licensors or authors of the material; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;8. Termination.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;9. Acceptance Not Required for Having Copies.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;10. Automatic Licensing of Downstream Recipients.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;11. Patents.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;12. No Surrender of Others' Freedom.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;13. Use with the GNU Affero General Public License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;14. Revised Versions of this License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;15. Disclaimer of Warranty.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;16. Limitation of Liability.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;17. Interpretation of Sections 15 and 16.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;END OF TERMS AND CONDITIONS&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;How to Apply These Terms to Your New Programs&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;&amp;lt;one line to give the program's name and a brief idea of what it does.&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;Copyright (C) &amp;lt;year&amp;gt; &amp;lt;name of author&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This program is free software: you can redistribute it and/or modify&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;it under the terms of the GNU General Public License as published by&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;the Free Software Foundation, either version 3 of the License, or&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;(at your option) any later version.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This program is distributed in the hope that it will be useful,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;GNU General Public License for more details.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;You should have received a copy of the GNU General Public License&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;along with this program. If not, see &amp;lt;https://www.gnu.org/licenses/&amp;gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Also add information on how to contact you by electronic and paper mail.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;&amp;lt;program&amp;gt; Copyright (C) &amp;lt;year&amp;gt; &amp;lt;name of author&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This is free software, and you are welcome to redistribute it&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;under certain conditions; type `show c' for details.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see &amp;lt;&lt;/span&gt;&lt;a href=&quot;https://www.gnu.org/licenses/&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; text-decoration: underline; color:#0000ff;&quot;&gt;https://www.gnu.org/licenses/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;&amp;gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read &amp;lt;&lt;/span&gt;&lt;a href=&quot;https://www.gnu.org/licenses/why-not-lgpl.html&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; text-decoration: underline; color:#0000ff;&quot;&gt;https://www.gnu.org/licenses/why-not-lgpl.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;&amp;gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </gpl_text> + <wizard_startup_usage> + <longName>Usage</longName> + <type>3</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif'; font-weight:600;&quot;&gt;ENNOID-BMS® Tool&lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt; and the &lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif'; font-weight:600;&quot;&gt;ENNOID-BMS® firmware&lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt; are experimental software designed to develop and test electrical systems incorporating Lithium Ion batteries. Electrical systems can cause danger to humans, property and nature; therefore precautions shall be taken to avoid any risk. Under no circumstances shall the software be used where humans or property are put to risk without &lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;thoroughly&lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt; validating and testing the whole system. Software and hardware interact in various ways, and software developers cannot foresee all possible combinations of hardware used together with their software, nor problems that can occur in these different combinations.&lt;/span&gt; &lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;Things that can happen, even when using the correct settings, are&lt;/span&gt;&lt;/p&gt; +&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;electrical failure&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;fire&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;electric shock&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;hazardous smoke&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;overheating motors and actuators&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;overstrained power sources, causing fire or explosions (e.g. Lithium Ion Batteries)&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;motors or actuators stopping from spinning/moving&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;motors or actuators locking in, acting like a brake (full stop)&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;motors or actuators losing control over torque production (uncontrolled acceleration or braking)&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;interferences with other systems&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;other non-intended or unforeseeable behavior of the system&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;ENNOID-BMS Tool and the ENNOID-BMS firmware are developer tools that for safety reasons may only be used&lt;/span&gt;&lt;/p&gt; +&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;by experts and experienced users, knowing exactly what they do.&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;following safety standards applicable in the area of usage.&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;under safe conditions where software or hardware malfunction will not lead to death, injuries or severe property damage.&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;keeping in mind that software and hardware failures can happen. Although we design our products to minimize such issues, you should always operate with the understanding that a failure can occur at any point of time and without warning. As such, you shall take the appropriate precautions to minimize danger in case of failure.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + <valString>Important usage information</valString> + </wizard_startup_usage> + <wizard_startup_warranty> + <longName>Warranty</longName> + <type>3</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;LIMITED WARRANTY STATEMENT &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1. Warranty&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.1 THERE IS NO WARRANTY FOR THE ENNOID-BMS® SOFTWARE (ENNOID-BMS TOOL AND THE ENNOID-BMS FIRMWARE - PROGRAM FOR SHORT) TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.2 Kevin Dionne and contributors (the publisher(s) for short) shall not be liable for any defects that are caused by neglect, misuse or mistreatment by the Customer, including improper installation or testing, or for any products that have been altered or modified in any way by the Customer. Moreover, the publisher(s) shall not be liable for any defects that result from the Customers design, specifications or instructions for such products. Testing and other quality control techniques are used to the extent the publisher(s) deems necessary. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.3 The Customer agrees that prior to using any systems that include Open Source ENNOID-BMS® Software, the Customer will test such systems and the functionality of the products as used in such systems. The publisher(s) may provide technical, applications or design advice, quality characterization, reliability data or other services. The Customer acknowledges and agrees that providing these services shall not expand or otherwise alter the publisher(s) warranties, as set forth above, and that no additional obligations or liabilities shall arise from the publisher(s) providing such services. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.4 ENNOID-BMS® software products are not authorized for use in safety-critical applications where a failure of the Open Source ENNOID-BMS® software would reasonably be expected to cause severe personal injury or death. Safety-critical applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Open Source ENNOID-BMS® software is neither designed nor intended for use in military or aerospace applications or environments, nor for automotive applications or the automotive environment. The Customer acknowledges and agrees that any such use of ENNOID-BMS® software is solely at the Customer's risk, and that the Customer is solely responsible for compliance with all legal and regulatory requirements in connection with such use. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.5 The Customer acknowledges and agrees that the Customer is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning the products and any use of the publisher(s) softwrae products in the Customer's applications, not withstanding any applications-related information or support that may be provided by the publisher(s). &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;2. Limitation of Liability &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED THROUGH THE GNU GENERAL PUBLIC LICENSE (GNU GPL), BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;This section will survive the termination of the warranty period. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;3. Consequential Damages Waiver.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;In no event shall the publisher(s) be liable to the Customer or any third parties for any special, collateral, indirect, punitive, incidental, consequential or exemplary damages in connection with or arising out of the products provided hereunder, regardless of whether the publisher(s) has been advised of the possibility of such damages. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;This section will survive the termination of the warranty period. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;4. Changes to Specifications.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;The publisher(s) may make changes to specifications and product descriptions at any time, without notice. The Customer must not rely on the absence or characteristics of any features or instructions marked, reserved or undefined. The publisher(s) reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The product information on the Web Site or Materials is subject to change without notice. Do not finalize a design with this information. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;5. Statutory laws. *&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;(i) some countries, regions, states or provinces do not allow the exclusion or limitation of remedies or of incidental, punitive, or consequential damages, or the applicable time periods, so the above limitations or exclusions may not apply.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;(ii) except to the extent lawfully permitted, this limited warranty does not exclude, restrict or modify statutory rights applicable to where the product is sold but, rather, is in addition to these rights.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;(*) European Consumer Centres provide information on EU-wide consumer laws as well as consumer laws for specific countries: http://ec.europa.eu/consumers/ecc/contact_en.htm &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Times New Roman,serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;The LIMITED WARRANTY STATEMENT is released as Creative Commons Attribution ShareAlike 3.0. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;This means you can use it on your own derived works, in part or completely, as long as you also adopt the same license. You find the complete text of the license at https://creativecommons.org/licenses/by-sa/3.0/legalcode&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + <valString>LIMITED WARRANTY STATEMENT</valString> + </wizard_startup_warranty> + </Params> + <SerOrder/> +</ConfigParams> diff --git a/res/config/1.1/parameters_bmsconf.xml b/res/config/1.1/parameters_bmsconf.xml new file mode 100644 index 0000000..f6e441b --- /dev/null +++ b/res/config/1.1/parameters_bmsconf.xml @@ -0,0 +1,2361 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ConfigParams> + <Params> + <noOfCellsSeries> + <longName>Cells in series</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of cell(groups) in series in the batterypack. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The BMS needs a minimum of 4 cell(groups) in series to operate, this is a minimal voltage requirement by the LTC and power supply.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_CELLS_SERIES</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>180</maxInt> + <minInt>3</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>12</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfCellsSeries> + <noOfCellsParallel> + <longName>Cells in parallel</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of cells in parallel (used for future SoC algorithm).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_CELLS_PARALLEL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>200</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>10</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfCellsParallel> + <noOfParallelModules> + <longName>Parallel modules count</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of parallel module strings in the battery pack.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_PARALLEL_MODULE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>10</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfParallelModules> + <batteryCapacity> + <longName>Battery capacity total</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Battery pack total capacity in Ah. This value is used for the state of charge indication / calculation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BATTERY_CAPACITY</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1000</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>1</stepDouble> + <valDouble>29</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>Ah</suffix> + <vTx>9</vTx> + </batteryCapacity> + <cellMonitorICType> + <longName>Slave IC type</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Cell monitor IC type.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_MONITOR_IC_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>LTC6811-1</enumNames> + <enumNames>LTC6812-1</enumNames> + <enumNames>LTC6813-1</enumNames> + </cellMonitorICType> + <cellMonitorICCount> + <longName>Slave IC count</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of slave IC's.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_MONITOR_IC_COUNT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>10</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>1</vTx> + </cellMonitorICCount> + <cellTechnology> + <longName>Cell technology</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Battery cell technology, used for state of charge indication.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_TECHNOLOGY</cDefine> + <valInt>0</valInt> + <enumNames>Li-Ion</enumNames> + <enumNames>Li-Polymer</enumNames> + <enumNames>Li-Phosphate</enumNames> + </cellTechnology> + <cellHardUnderVoltage> + <longName>Cell hard undervoltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Worst case lowest cell voltage, when the cell voltage goes below this threshold the BMS turns off completely. This value is a hard limit that is configured in the LTC, crossing this value for more than the 'maxUnderAndOverVoltageErrorCount' amount will make the BMS to turn off immediately.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_HARD_UNDER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>2.3</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellHardUnderVoltage> + <cellHardOverVoltage> + <longName>Cell hard overvoltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Worst case highest cell voltage, when the cell voltage goes above this threshold the BMS turns off completely. This value is a hard limit that is configured in the LTC, crossing this value for more than the 'maxUnderAndOverVoltageErrorCount' amount will make the BMS to turn off immediately.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_HARD_OVER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>4.2</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellHardOverVoltage> + <cellLCSoftUnderVoltage> + <longName>Cell soft undervoltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Normal use BMS current path lowest cell voltage, when the cell voltage goes below this threshold the BMS turns off its current path output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_LC_SOFT_UNDER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>2.9</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellLCSoftUnderVoltage> + <cellSoftOverVoltage> + <longName>Cell soft overvoltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Normal use highest cell voltage, when the cell voltage goes above this threshold the BMS turns off its charger input.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_SOFT_OVER_VOLTAGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>4.15</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellSoftOverVoltage> + <cellBalanceDifferenceThreshold> + <longName>Cell balance difference threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Start balancing above this cell voltage difference voltage, stop if below.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_DIFF_THRESH</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.005</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellBalanceDifferenceThreshold> + <cellBalanceStart> + <longName>Cell balance start voltage</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Balance when the cell voltage is above this threshold.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_START</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>5</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.1</stepDouble> + <valDouble>4.1</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellBalanceStart> + <cellThrottleUpperStart> + <longName>Cell throttle upper start</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Charge throttle start. This parameter configures the charge throttle functionallity. When for example the cellSoftOverVoltage is set to 4.25V, the cellThrottleUpperStart to 0.2V and cellThrottleUpperMargin to 0.05V a cell voltage below (4.25-0.2-0.05=) 4V will result in 100% throttle, as the cell voltage is rising it will linearly throttle back from 100% to 5% when the cell voltage is at (4.25-0.05=) 4.2V, above that the throttle stays at 5% until the cellSoftOverVoltage of 4.25 it reached, then the input is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with chargers that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_UPPER_START</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.02</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleUpperStart> + <cellThrottleLowerStart> + <longName>Cell throttle lower start</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Discharge throttle start. This parameter configures the discharge throttle functionallity. When for example the cellSoftUnderVoltage is set to 3V, the cellThrottleLowerStart to 0.2V and cellThrottleLowerMargin to 0.05V a cell voltage above (3+0.2+0.05=) 3.25V will result in 100% throttle, as the cell voltage is lowering it will linearly throttle back from 100% to 5% when the cell voltage is at (3+0.05=) 3.05V, below that the throttle stays at 5% until the cellSoftUnderVoltage of 3V it reached, then the output is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with loads that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_LOWER_START</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.2</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleLowerStart> + <cellThrottleUpperMargin> + <longName>Cell throttle upper margin</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Charge throttle margin. This parameter configures the charge throttle functionallity. When for example the cellSoftOverVoltage is set to 4.25V, the cellThrottleUpperStart to 0.2V and cellThrottleUpperMargin to 0.05V a cell voltage below (4.25-0.2-0.05=) 4V will result in 100% throttle, as the cell voltage is rising it will linearly throttle back from 100% to 5% when the cell voltage is at (4.25-0.05=) 4.2V, above that the throttle stays at 5% until the cellSoftOverVoltage of 4.25 it reached, then the input is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with chargers that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_UPPER_MARGIN</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.01</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleUpperMargin> + <cellThrottleLowerMargin> + <longName>Cell throttle lower margin</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Discharge throttle margin. This parameter configures the discharge throttle functionallity. When for example the cellSoftUnderVoltage is set to 3V, the cellThrottleLowerStart to 0.2V and cellThrottleLowerMargin to 0.05V a cell voltage above (3+0.2+0.05=) 3.25V will result in 100% throttle, as the cell voltage is lowering it will linearly throttle back from 100% to 5% when the cell voltage is at (3+0.05=) 3.05V, below that the throttle stays at 5% until the cellSoftUnderVoltage of 3V it reached, then the output is turned off and the throttle is at 0%. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This is only a signal that is transmitted on the CAN bus and will only work with loads that implement it.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_THROTTLE_LOWER_MARGIN</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.2</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </cellThrottleLowerMargin> + <packVoltageDataSource> + <longName>Voltage data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The pack voltage data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>PACK_VOLTAGE_DATA_SOURCE</cDefine> + <valInt>1</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ISL28022 (I2C2 - 0x40) LV BatteryInput</enumNames> + <enumNames>SumOfIndividualCellVoltages</enumNames> + </packVoltageDataSource> + <packCurrentDataSource> + <longName>Current data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The pack current data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_MONITOR_IC_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ENNOID-BMS current path</enumNames> + <enumNames>CAN-&gt;DieBieShunt</enumNames> + <enumNames>CAN-&gt;Isabellenhutte</enumNames> + </packCurrentDataSource> + <buzzerSignalSource> + <longName>Signal source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select the desired signal source / reason for the buzzer to start buzzing.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUZZER_SIGNAL_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>Always off</enumNames> + <enumNames>Always on</enumNames> + <enumNames>All sources below</enumNames> + <enumNames>Undervoltage LC</enumNames> + <enumNames>Safe operating area</enumNames> + </buzzerSignalSource> + <buzzerSignalType> + <longName>Signal type</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Select the desired signal source type.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUZZER_SIGNAL_TYPE</cDefine> + <valInt>1</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + <enumNames>Toggle</enumNames> + <enumNames>Toggle fast</enumNames> + <enumNames>Pulse short</enumNames> + <enumNames>Pulse long</enumNames> + <enumNames>Pulse 200 20</enumNames> + <enumNames>Pulse 1000 4</enumNames> + </buzzerSignalType> + <buzzerPersistent> + <longName>Persistent</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define whether the buzzer should stay on or should reset when signal condition resets.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUZZER_PERSISTENT</cDefine> + <valInt>1</valInt> + </buzzerPersistent> + <shuntLCFactor> + <longName>Shunt factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for ISL based shut measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_LC_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>-1</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>-0.0052</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </shuntLCFactor> + <shuntLCOffset> + <longName>Shunt Offset</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for ISL based shut measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_LC_OFFSET</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1024</maxInt> + <minInt>-1024</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix>LSB</suffix> + <vTx>4</vTx> + </shuntLCOffset> + <shuntHCFactor> + <longName>Shunt factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for ISL based shut measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_HC_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>-1</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>-0.0269</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </shuntHCFactor> + <shuntHCOffset> + <longName>Shunt Offset</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for ISL based shut measurements. Only applies to ISL based current sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SHUNT_HC_OFFSET</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1024</maxInt> + <minInt>-1024</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>-2</valInt> + <suffix>LSB</suffix> + <vTx>4</vTx> + </shuntHCOffset> + <voltageLCFactor> + <longName>Pack Voltage Factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for ISL based voltage measurements. Only applies to ISL based voltage sensor source.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>VOLTAGE_LC_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>200</maxDouble> + <minDouble>-200</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>124</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </voltageLCFactor> + <voltageLCOffset> + <longName>Pack Voltage Offset</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for ISL based voltage measurements. Only applies to ISL based voltage sensor source. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>VOLTAGE_LC_OFFSET</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1024</maxInt> + <minInt>-1024</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix>LSB</suffix> + <vTx>4</vTx> + </voltageLCOffset> + <loadVoltageFactor> + <longName>Load Voltage Factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for load MCU ADC voltage measurements.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LOAD_VOLTAGE_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>135</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </loadVoltageFactor> + <loadVoltageOffset> + <longName>Load Voltage Offset</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for load voltage measurements. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LOAD_VOLTAGE_OFFSET</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </loadVoltageOffset> + <chargerVoltageFactor> + <longName>Charger Voltage Factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Scaling factor for charger MCU ADC voltage measurements.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGER_VOLTAGE_FACTOR</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>135</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </chargerVoltageFactor> + <chargerVoltageOffset> + <longName>Charger Voltage Offset</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Offset for charger voltage measurements. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGER_VOLTAGE_OFFSET</cDefine> + <editorDecimalsDouble>6</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>500</maxDouble> + <minDouble>-500</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </chargerVoltageOffset> + <throttleChargeIncreaseRate> + <longName>Throttle charge increase rate</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Percentage charge throttle increase rate per 100ms (cell voltage loop time).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>THROTTLE_CHARGE_INCREASE_RATE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>100</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>2</valInt> + <suffix>% / 1000ms</suffix> + <vTx>1</vTx> + </throttleChargeIncreaseRate> + <throttleDisChargeIncreaseRate> + <longName>Throttle discharge increase rate</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Percentage discharge throttle increase rate per 100ms (cell voltage loop time)&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>THROTTLE_DISCHARGE_INCREASE_RATE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>100</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>10</valInt> + <suffix>% / 1000ms</suffix> + <vTx>1</vTx> + </throttleDisChargeIncreaseRate> + <cellBalanceUpdateInterval> + <longName>Cell balance interval</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Keep calculated resistors enabled for this amount of time in miliseconds. When this time has elapsed a new cell measurement will be made to start a new round of balancing, this all loops automatically and only during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_UPDATE_INTERVAL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>4000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </cellBalanceUpdateInterval> + <maxSimultaneousDischargingCells> + <longName>Max active bleed resistors per IC</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This value states the maximum amount of simultaneously active bleeding resistors per monitor IC (monitor group). This value thus limits the worst case max power dissipated on the BMS (or its slave modules) trough the bleeding reisistors. When the balancing portion of the BMS becomes to hot this value can be lowered to limit the temperature.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_BALANCE_MAX_SIMULTANEOUS_DISCHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>18</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>5</valInt> + <suffix></suffix> + <vTx>1</vTx> + </maxSimultaneousDischargingCells> + <timeoutDischargeRetry> + <longName>Timeout discharge retry</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When for some reason the discharge output is disabled (most likely because of a low cell voltage), wait this amount of time before doing a new attempt to re-enable the discharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_DISCHARGE_RETRY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>4000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>10000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutDischargeRetry> + <hysteresisDischarge> + <longName>Discharge hysteresis</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The hysteris value of the load enable condition. Configuring this value correctly will greatly reduce the risk of load output on/off oscillations. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HYST_DISCHARGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.02</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </hysteresisDischarge> + <timeoutChargeRetry> + <longName>Timeout charge retry</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When for some reason the charge input is disabled (most likely because of a high cell voltage), wait this amount of time before doing a new attempt to re-enable the charge input.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_DISCHARGE_RETRY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>4000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>100000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargeRetry> + <hysteresisCharge> + <longName>Charge hysteresis</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The hysteris value of the charger enable condition. Configuring this value correctly will greatly reduce the risk of charger input on/off oscillations. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HYST_DISCHARGE</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.01</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>V</suffix> + <vTx>9</vTx> + </hysteresisCharge> + <timeoutChargeCompleted> + <longName>Timeout charge completed</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When balancing this amount of time is waited before declaring the battery 'charged'. The balancing will continue passed this event until no more balancing is needed. This is only to tell the user that it is charged enough to be used again.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_CHARGE_COMPLETED</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>1800000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargeCompleted> + <timeoutChargingCompletedMinimalMismatch> + <longName>Timeout charge completed min mismach</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If cell mismatch is under threshold and (charging is not allowed) wait this delay time to set &amp;quot;charged&amp;quot; state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_CHARGING_COMPLETED_MINIMAL_MISMATCH</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>6000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargingCompletedMinimalMismatch> + <maxMismatchThreshold> + <longName>Mismatch threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If mismatch is under this threshold for timeoutChargingCompletedMinimalMismatch determin fully charged.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_MISMATCH_THRESHOLD</cDefine> + <editorDecimalsDouble>3</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.005</stepDouble> + <valDouble>0.02</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </maxMismatchThreshold> + <chargerEnabledThreshold> + <longName>Charger enable threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If charge current is above this threshold current stay in charging mode and don't power off.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGER_ENABLED_THRESHOLD</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>10</maxDouble> + <minDouble>0.05</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.05</stepDouble> + <valDouble>0.5</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>A</suffix> + <vTx>9</vTx> + </chargerEnabledThreshold> + <timeoutChargerDisconnected> + <longName>Timeout charger disconnected</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Wait for this amount of time before responding to the event that the charger is disconnected.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_CHARGER_DISCONNECTED</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>2000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutChargerDisconnected> + <minimalPrechargePercentage> + <longName>Minimal precharge factor</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Output voltage should be at a minimal of this factor of pack voltage to enable the main output switch, this is to prevent large inrush currents.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Putting this value too low will result in a large inrush current because the battery and load voltage differ too much. Putting this threshold value too high could lead to the load never being enabled because the value cant be reached due to leakage current in combination with the pre charge resistor value.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MINIMAL_PRECHARGE_PERCENTAGE</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>1</maxDouble> + <minDouble>0.01</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.1</stepDouble> + <valDouble>0.8</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </minimalPrechargePercentage> + <timeoutLCPreCharge> + <longName>Timeout precharge</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Precharge timeout, allow this amount of time for the Pre-charging process. This time also defines the limit of power dissipation in the pre charge resistor. If your load capacitance is higher than 'normal' it might be worth increasing this value to let the pre-charge procedure succeed, but please monitor the temperature of the pre-charge resistor!&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_LC_PRECHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>10000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>1500</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutLCPreCharge> + <maxAllowedCurrent> + <longName>Max allowed current</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum allowed current trough the BMS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_CURRENT</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>2500</maxDouble> + <minDouble>1</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>10</stepDouble> + <valDouble>120</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>A</suffix> + <vTx>9</vTx> + </maxAllowedCurrent> + <allowedTempBattDischargingMax> + <longName>Battery temperature discharging max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature of the battery during discharging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>60</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattDischargingMax> + <allowedTempBattDischargingMin> + <longName>Battery temperature discharging min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature of the battery during discharging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>-10</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattDischargingMin> + <allowedTempBattChargingMax> + <longName>Battery temperature charging max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature of the battery during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>55</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattChargingMax> + <allowedTempBattChargingMin> + <longName>Battery temperature charging min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature of the battery during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_TEMP_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>10</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattChargingMin> + <allowedTempBattCoolingMax> + <longName>Battery temperature cooling max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature at which the cooling/heating output is enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_COOL_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>5</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattCoolingMax> + <allowedTempBattCoolingMin> + <longName>Battery temperature cooling min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature at which the cooling/heating output is enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_COOL_BATT</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>120</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>50</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBattCoolingMin> + <allowedTempBMSMax> + <longName>BMS Temperature max</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the maximum temperature of the BMS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_ALLOWED_TEMP_BMS</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>100</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>90</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBMSMax> + <allowedTempBMSMin> + <longName>BMS Temperature min</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Define the minimum temperature of the BMS.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MIN_ALLOWED_TEMP_BMS</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>100</maxDouble> + <minDouble>-20</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>-20</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix> °C</suffix> + <vTx>9</vTx> + </allowedTempBMSMin> + <displayTimeoutBatteryDead> + <longName>Display time battery dead</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show battery dead symbol this amount of time before going to powerdown in cell voltage error state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_DEAD</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>5000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutBatteryDead> + <displayTimeoutBatteryError> + <longName>Display time battery error</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show error symbol for this amount of time before going to powerdown in general error state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_ERROR</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>2000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutBatteryError> + <displayTimeoutBatteryErrorPreCharge> + <longName>Display time precharge error</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show pre charge error for this amount of time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_ERROR_PRECHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>10000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutBatteryErrorPreCharge> + <displayTimeoutSplashScreen> + <longName>Display time precharge splash</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Show splash screen for this amount of time.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>DISP_TIMEOUT_SPLASH_SCREEN</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>1000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </displayTimeoutSplashScreen> + <maxUnderAndOverVoltageErrorCount> + <longName>Max OVP &amp; UVP errors</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Max count of hard cell voltage errors before actually shutting the BMS down. This value allowes you to ignore the occationally crossing of the hard cell voltage limits. This is to for example filter out the voltage spikes from extreme EMC situation (ie. static discharge).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>MAX_UNDER_OVERVOLTAGE_ERR_COUNT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>5</valInt> + <suffix></suffix> + <vTx>2</vTx> + </maxUnderAndOverVoltageErrorCount> + <notUsedCurrentThreshold> + <longName>Not used current threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If the absolute battery current is below this threshold start keeping track of time and wait for the not used timeout to trigger. The not used timer will be reset if the absolute battery current passes this threshold.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NOT_USED_CURRENT_THRESHOLD</cDefine> + <editorDecimalsDouble>2</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>10</maxDouble> + <minDouble>1</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>0.1</stepDouble> + <valDouble>0.5</valDouble> + <vTxDoubleScale>100000</vTxDoubleScale> + <suffix>A</suffix> + <vTx>9</vTx> + </notUsedCurrentThreshold> + <notUsedTimeout> + <longName>Not used timeout</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If the absolute battery current is below the not used battery current threshold start keeping track of time and wait for the not used timeout to trigger (happens when the amount of time defined here is crossed). The not used timer will be reset if the absolute battery current is higher than the &amp;quot;Not used current threshold&amp;quot;. To disable the not used powerdown system this value can be set to 0ms, else if used, it should be a minimal of 5000ms.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NOT_USED_TIMEOUT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>3600000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </notUsedTimeout> + <powerDownDelay> + <longName>Power down delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The amount of time between disabeling the output and actually powerdown of the BMS. When implementing push to BMS enable the connected ESC might re-enable the BMS once it is powered down due to some residual energy in the ESC, this oscillation will prevent the whole system to actually completely power down. By setting this time to a longer time you have a higher chance of actually powering everything down, a lower time will turn it down quicker with the risk of oscillation.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>POWER_DOWN_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>1000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </powerDownDelay> + <stateOfChargeStoreInterval> + <longName>State of charge store interval</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Interval in ms to store state of charge information. to reserve flash write cycles please dont make this value too low. Normally the state of charge value is also stored when the BMS is powered down. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>SOC_STORE_INTERVAL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>60000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </stateOfChargeStoreInterval> + <stateOfChargeMethod> + <longName>State of charge method</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The state of charge estimation method the BMS should use.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CELL_SOC_METHOD</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>Coulomb counting</enumNames> + <enumNames>Coulomb counting + CellVoltage lookup</enumNames> + </stateOfChargeMethod> + <CANID> + <longName>CAN ID</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The CAN ID this BMS listens to and leaves behind when talking on the CAN bus.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_ID</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>254</maxInt> + <minInt>1</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>10</valInt> + <suffix></suffix> + <vTx>2</vTx> + </CANID> + <CANIDStyle> + <longName>CAN ID Style</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The CAN ID style / ID byte order. This is configureable to stay compatible with the VESC style and the style used in an e-foil project.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_ID_STYLE</cDefine> + <valInt>0</valInt> + <enumNames>ENNOID / DiebieMS / VESC</enumNames> + <enumNames>EFoiler</enumNames> + </CANIDStyle> + <CANBaudRate> + <longName>CAN throughput</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;CAN bus communication speed.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_SPEED</cDefine> + <valInt>0</valInt> + <enumNames>125kbit/s</enumNames> + <enumNames>250kbit/s</enumNames> + <enumNames>500kbit/s</enumNames> + </CANBaudRate> + <emitStatusOverCAN> + <longName>Emit status over CAN</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Send status information like current, voltage, temperatures and out/input enabled states over CAN.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_STATUS_EMIT_ENABLE</cDefine> + <valInt>1</valInt> + </emitStatusOverCAN> + <emitStatusProtocolType> + <longName>Emit status protocol</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Send status protocol/format; how the status information is packaged in can messages.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CAN_STATUS_PROTOCOL</cDefine> + <valInt>1</valInt> + <enumNames>None</enumNames> + <enumNames>ENNOID / DiebieMS</enumNames> + <enumNames>MG Electronics</enumNames> + </emitStatusProtocolType> + <waterSensorEnableMask> + <longName>Water sensor enable mask</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tell what sensor input to use for the water detection system. The bitwise representation of this decimal value will show what sensor is enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>WATER_DETECT_SENSOR_ENABLE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>32768</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>0</valInt> + <suffix></suffix> + <vTx>4</vTx> + </waterSensorEnableMask> + <waterSensorThreshold> + <longName>Water detect threshold</longName> + <type>1</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;If an active water detection input rises above this value then water sensed is being stated and emitted.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>WATER_DETECT_THRESHOLD</cDefine> + <editorDecimalsDouble>1</editorDecimalsDouble> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxDouble>100</maxDouble> + <minDouble>-60</minDouble> + <showDisplay>0</showDisplay> + <stepDouble>5</stepDouble> + <valDouble>10</valDouble> + <vTxDoubleScale>1</vTxDoubleScale> + <suffix></suffix> + <vTx>9</vTx> + </waterSensorThreshold> + <tempEnableMaskBMS> + <longName>Temp sensor enable mask BMS</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Tell what temperature sensor to use for the BMS temperature stats. The bitwise representation of this decimal value will show what sensor is enabled. The sensor order is as follows:&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_ENABLE&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_LTC_NTC1&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_INT_LTC_CHIP&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_INT_STM_NTC&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_ADC_NTC0&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_ADC_NTC1&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_ADC_NTC2&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_ADC_NTC3&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_ADC_NTC4&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_EXT_ADC_NTC5&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_INT_ADC_NTC6&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_INT_ADC_NTC7&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;TEMP_INT_SHT&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;For example, making this value 4 ( 0b0000000000100 ) will enable only the internal LTC temperature sensor. Making this value 8 ( 0b0000000001000 ) will only enable the ntc that is connected to the STM. When it is 12 (4+8) or ( 0b0000000001100 ) both the internal LTC temperature sensor and the NTC connected to the STM will be enabled.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TEMPERATURE_ENABLE_MASK_BMS</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>100000000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>8</valInt> + <suffix></suffix> + <vTx>5</vTx> + </tempEnableMaskBMS> + <tempEnableMaskBattery> + <longName>Temp sensor enable mask Battery</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Slave Module temperature 0 = Disable, 1 = Enable.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TEMPERATURE_ENABLE_MASK_BATTERY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>1</valInt> + <suffix></suffix> + <vTx>5</vTx> + </tempEnableMaskBattery> + <noOfTempSensorPerModule> + <longName>Temp sensor per module</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Number of Temperature sensor per slave module.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NO_OF_TEMP_SENSOR_PER_MODULE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>9</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>5</valInt> + <suffix></suffix> + <vTx>1</vTx> + </noOfTempSensorPerModule> + <LCUseDischarge> + <longName>Discharge output</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use master BMS discharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LC_USE_DISCHARGE</cDefine> + <valInt>1</valInt> + <enumNames>Disabled</enumNames> + <enumNames>Enabled</enumNames> + </LCUseDischarge> + <LCUsePrecharge> + <longName>Precharge output</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use master BMS precharge for discharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>LC_USE_PRECHARGE</cDefine> + <valInt>1</valInt> + <enumNames>Disabled</enumNames> + <enumNames>Enabled</enumNames> + <enumNames>Forced</enumNames> + </LCUsePrecharge> + <allowChargingDuringDischarge> + <longName>Allow charging during discharge</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Allow the battery to be charged whilst the output is turned on. This would allow you to use the battery during charging.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>ALLOW_CHARGE_DURING_DISCHARGE</cDefine> + <valInt>1</valInt> + </allowChargingDuringDischarge> + <allowForceOn> + <longName>Allow forced on mode</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When the power button is configured as a pulse switch and allowForceOn you can force the BMS to stay on ignoring the cell voltage inputs. This function can be used to get home in a skateboard application when you know the battery is OK for example a wire came lose from a cell tab of the battery. This is risky! Because you can deeply discharge the battery this way. You can't charge the battery in this mode.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The forced-on method is activated when you long press (about 10 seconds) the power button when the bms is off. &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>ALLOW_FORCE_ON</cDefine> + <valInt>0</valInt> + </allowForceOn> + <extEnableState> + <longName>External enable opstate</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Defines the state to be entered when enabled by an external enable reason like CAN_5V_ENABLE present or USB 5V voltage present.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>EXT_ENA_OP_STATE</cDefine> + <valInt>1</valInt> + <enumNames>External operation</enumNames> + <enumNames>Normal operation</enumNames> + </extEnableState> + <chargeEnableState> + <longName>Charger enable opstate</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Defines the state to be entered when the BMS is enabled by charge voltage present.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>CHARGE_ENA_OP_STATE</cDefine> + <valInt>0</valInt> + <enumNames>Charge operation</enumNames> + <enumNames>Normal operation</enumNames> + </chargeEnableState> + <pulseToggleButton> + <longName>Pulse or toggle power button</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Configure the power button to be either a pulse or a toggle button. The method of reading the power button input will depend on this setting. When configured as a pulse input and with a pulse switch a short press will enable the BMS and a long pres when the BMS is on will power it down. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When using a toggle switch the BMS is turned on when the switch closes and turnes off when the switch is opened up. Please be aware the the BMS also turnes of when it is not used. When it turned off by itself the BMS needs at least 10 seconds of the switch to be opened before it can be enabled again.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>BUTTON_PULSE_TOGGLE</cDefine> + <valInt>1</valInt> + <enumNames>Latching / Toggle</enumNames> + <enumNames>Momentary / Pulse</enumNames> + </pulseToggleButton> + <useCANSafetyInput> + <longName>Use safety input status from CAN</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Extra safety input method to disable the output when the message states a non safe condition. Ex: Voltage isolation monitoring. &lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The messages generated by an external device are received and used by the BMS to prefent unsafe power usage. Set to false to disable this feature.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>USE_CAN_SAFETY</cDefine> + <valInt>0</valInt> + </useCANSafetyInput> + <useCANDelayedPowerDown> + <longName>Use delayed power down from CAN</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This feature puts a CAN device in control of the power state of the BMS. A device can postpone the power down moment of the battery. This can be used to do a gracefull power down of a device. When not used set this value to false.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>USE_CAN_DELAYED_POWERDOWN</cDefine> + <valInt>0</valInt> + </useCANDelayedPowerDown> + <HCUseRelay> + <longName>Use relay output</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use slave BMS relay output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_USE_RELAY</cDefine> + <valInt>1</valInt> + </HCUseRelay> + <HCUsePrecharge> + <longName>Use relay precharge output</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use slave BMS relay precharge output.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_USE_PRECHARGE</cDefine> + <valInt>1</valInt> + </HCUsePrecharge> + <HCUseLoadDetect> + <longName>Use relay load detect</longName> + <type>5</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Use the voltage drop acros the HC load output precharge resistor to detect a minimal load before enabling the path completely.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_USE_LOAD_DETECT</cDefine> + <valInt>0</valInt> + </HCUseLoadDetect> + <HCLoadDetectThreshold> + <longName>Load detect threshold</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The high current output load detect precharge time threshold. If precharging takes longer than this time then load present is assumed and emitted.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_LOAD_DETECT_THRESHOLD</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>200</minInt> + <showDisplay>0</showDisplay> + <stepInt>1</stepInt> + <valInt>300</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </HCLoadDetectThreshold> + <HCLoadVoltageDataSource> + <longName>Voltage data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The HC load voltage data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_LOAD_VOLTAGE_DATA_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ISL28022 (I2C2 - 0x40) LV BatteryInput</enumNames> + <enumNames>ISL28022 (I2C1 - 0x44) LV LoadOutput</enumNames> + <enumNames>ISL28022 (I2C1 - 0x45) DCDC</enumNames> + <enumNames>ADS1015 (AN01) HV BatteryInput</enumNames> + <enumNames>ADS1015 (AN23) HV LoadOutput</enumNames> + <enumNames>SumOfIndividualCellVoltages</enumNames> + <enumNames>CAN-&gt;DieBieShunt</enumNames> + <enumNames>CAN-&gt;Isabellenhutte</enumNames> + </HCLoadVoltageDataSource> + <HCLoadCurrentDataSource> + <longName>Current data source</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;The HC load voltage data source can be selected here. For ADC's the callibration/scaling/offset values will be taken into account, for CAN based sensors the measured voltage will be used directly from the CAN sensor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>HC_LOAD_VOLTAGE_DATA_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>NoSource</enumNames> + <enumNames>ISL28022 (I2C2 - 0x40) LV LC shunt</enumNames> + <enumNames>ISL28022 (I2C1 - 0x44) LV HC shunt</enumNames> + <enumNames>ISL28022 (I2C1 - 0x45) DCDC shunt</enumNames> + <enumNames>CAN-&gt;DieBieShunt</enumNames> + <enumNames>CAN-&gt;Isabellenhutte</enumNames> + </HCLoadCurrentDataSource> + <timeoutHCPreCharge> + <longName>Timeout precharge</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Slave precharge error timeout, allow xxxms pre-charge time before declaring load error.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_HC_PRECHARGE</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>30000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>1500</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutHCPreCharge> + <timeoutHCPreChargeRetryInterval> + <longName>Precharge retry interval</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When pre charge failes wait this long in ms before trying again. Set to 0 to disable retry.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_HC_PRECHARGE_RETRY_INTERVAL</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>1000</stepInt> + <valInt>20000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutHCPreChargeRetryInterval> + <timeoutHCRelayOverlap> + <longName>Precharge relay overlap</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;When precharge succeeds enable both relay and precharge combined for this time, then go to relay only. This will cover the time that the relay needs to close, because relays are slow :).&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>TIMEOUT_HC_RELAY_OVERLAP</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>3600000</maxInt> + <minInt>100</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>1000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </timeoutHCRelayOverlap> + <NTCLTCTopResistor> + <longName>NTC LTC top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_LTC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCLTCTopResistor> + <NTCLTC25Deg> + <longName>NTC LTC 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_LTC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCLTC25Deg> + <NTCLTCBeta> + <longName>NTC LTC Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_LTC</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4100</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCLTCBeta> + <NTCPCBTopResistor> + <longName>NTC PCB top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCPCBTopResistor> + <NTCPCB25Deg> + <longName>NTC PCB 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCPCB25Deg> + <NTCPCBBeta> + <longName>NTC PCB Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4100</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCPCBBeta> + <NTCHiAmpExtTopResistor> + <longName>NTC HiAmp Ext. top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_HIAMP_EXT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpExtTopResistor> + <NTCHiAmpExt25Deg> + <longName>NTC HiAmp Ext. 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_HIAMP_EXT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpExt25Deg> + <NTCHiAmpExtBeta> + <longName>NTC HiAmp Ext. Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_HIAMP_EXT</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4390</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCHiAmpExtBeta> + <NTCHiAmpPCBTopResistor> + <longName>NTC HiAmp PCB top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_HIAMP_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpPCBTopResistor> + <NTCHiAmpPCB25Deg> + <longName>NTC HiAmp PCB 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_HIAMP_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpPCB25Deg> + <NTCHiAmpPCBBeta> + <longName>NTC HiAmp PCB Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_HIAMP_PCB</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4100</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCHiAmpPCBBeta> + <NTCHiAmpAUXTopResistor> + <longName>NTC HiAmp AUX top resistor</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC Pullup resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_TOP_RESISTOR_HIAMP_AUX</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpAUXTopResistor> + <NTCHiAmpAUX25Deg> + <longName>NTC HiAmp AUX 25 deg</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC 25 degree resistor value&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_25_DEG_HIAMP_AUX</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>1000000</maxInt> + <minInt>10000</minInt> + <showDisplay>0</showDisplay> + <stepInt>10000</stepInt> + <valInt>100000</valInt> + <suffix>Ohm</suffix> + <vTx>5</vTx> + </NTCHiAmpAUX25Deg> + <NTCHiAmpAUXBeta> + <longName>NTC HiAmp AUX Beta</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;NTC beta factor.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>NTC_BETA_HIAMP_AUX</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>50000</maxInt> + <minInt>1000</minInt> + <showDisplay>0</showDisplay> + <stepInt>50</stepInt> + <valInt>4390</valInt> + <suffix>B</suffix> + <vTx>3</vTx> + </NTCHiAmpAUXBeta> + <AUX0SignalSource> + <longName>Mode</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Signal source for the output enable state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX0_SIGN_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + <enumNames>ChargeAllowed</enumNames> + <enumNames>LCDisChargeAllowed</enumNames> + <enumNames>LCDischargeEnabled</enumNames> + <enumNames>Signal01</enumNames> + <enumNames>Signal02</enumNames> + <enumNames>Signal03</enumNames> + <enumNames>Signal04</enumNames> + <enumNames>Condition01</enumNames> + <enumNames>Condition02</enumNames> + <enumNames>Condition03</enumNames> + <enumNames>Condition04</enumNames> + </AUX0SignalSource> + <AUX0TurnOnDelay> + <longName>Turn on delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning on the output, this could prevent accidental turn on.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX0_TURNON_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>250</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX0TurnOnDelay> + <AUX0TurnOffDelay> + <longName>Turn off delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning off the output, this could prevent accidental turn off.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX0_TURNOFF_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>5000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX0TurnOffDelay> + <AUX1SignalSource> + <longName>Mode</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Signal source for the output enable state.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX1_SIGN_SOURCE</cDefine> + <valInt>0</valInt> + <enumNames>Off</enumNames> + <enumNames>On</enumNames> + <enumNames>ChargeAllowed</enumNames> + <enumNames>LCDisChargeAllowed</enumNames> + <enumNames>LCDischargeEnabled</enumNames> + <enumNames>Signal01</enumNames> + <enumNames>Signal02</enumNames> + <enumNames>Signal03</enumNames> + <enumNames>Signal04</enumNames> + <enumNames>Condition01</enumNames> + <enumNames>Condition02</enumNames> + <enumNames>Condition03</enumNames> + <enumNames>Condition04</enumNames> + </AUX1SignalSource> + <AUX1TurnOnDelay> + <longName>Turn on delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning on the output, this could prevent accidental turn on.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX1_TURNON_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>250</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX1TurnOnDelay> + <AUX1TurnOffDelay> + <longName>Turn off delay</longName> + <type>2</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;Delay before turning off the output, this could prevent accidental turn off.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine>AUX1_TURNOFF_DELAY</cDefine> + <editorScale>1</editorScale> + <editAsPercentage>0</editAsPercentage> + <maxInt>86400000</maxInt> + <minInt>0</minInt> + <showDisplay>0</showDisplay> + <stepInt>100</stepInt> + <valInt>5000</valInt> + <suffix>ms</suffix> + <vTx>5</vTx> + </AUX1TurnOffDelay> + </Params> + <SerOrder> + <ser>noOfCellsSeries</ser> + <ser>noOfCellsParallel</ser> + <ser>noOfParallelModules</ser> + <ser>batteryCapacity</ser> + <ser>cellHardUnderVoltage</ser> + <ser>cellHardOverVoltage</ser> + <ser>cellLCSoftUnderVoltage</ser> + <ser>cellSoftOverVoltage</ser> + <ser>cellBalanceDifferenceThreshold</ser> + <ser>cellBalanceStart</ser> + <ser>cellThrottleUpperStart</ser> + <ser>cellThrottleLowerStart</ser> + <ser>cellThrottleUpperMargin</ser> + <ser>cellThrottleLowerMargin</ser> + <ser>packVoltageDataSource</ser> + <ser>packCurrentDataSource</ser> + <ser>buzzerSignalSource</ser> + <ser>buzzerSignalType</ser> + <ser>buzzerPersistent</ser> + <ser>shuntLCFactor</ser> + <ser>shuntLCOffset</ser> + <ser>voltageLCFactor</ser> + <ser>voltageLCOffset</ser> + <ser>loadVoltageFactor</ser> + <ser>loadVoltageOffset</ser> + <ser>chargerVoltageFactor</ser> + <ser>chargerVoltageOffset</ser> + <ser>throttleChargeIncreaseRate</ser> + <ser>throttleDisChargeIncreaseRate</ser> + <ser>cellBalanceUpdateInterval</ser> + <ser>maxSimultaneousDischargingCells</ser> + <ser>timeoutDischargeRetry</ser> + <ser>hysteresisDischarge</ser> + <ser>timeoutChargeRetry</ser> + <ser>hysteresisCharge</ser> + <ser>timeoutChargeCompleted</ser> + <ser>timeoutChargingCompletedMinimalMismatch</ser> + <ser>maxMismatchThreshold</ser> + <ser>chargerEnabledThreshold</ser> + <ser>timeoutChargerDisconnected</ser> + <ser>minimalPrechargePercentage</ser> + <ser>timeoutLCPreCharge</ser> + <ser>maxAllowedCurrent</ser> + <ser>allowedTempBattDischargingMax</ser> + <ser>allowedTempBattDischargingMin</ser> + <ser>allowedTempBattChargingMax</ser> + <ser>allowedTempBattChargingMin</ser> + <ser>allowedTempBattCoolingMax</ser> + <ser>allowedTempBattCoolingMin</ser> + <ser>allowedTempBMSMax</ser> + <ser>allowedTempBMSMin</ser> + <ser>displayTimeoutBatteryDead</ser> + <ser>displayTimeoutBatteryError</ser> + <ser>displayTimeoutBatteryErrorPreCharge</ser> + <ser>displayTimeoutSplashScreen</ser> + <ser>maxUnderAndOverVoltageErrorCount</ser> + <ser>notUsedCurrentThreshold</ser> + <ser>notUsedTimeout</ser> + <ser>stateOfChargeStoreInterval</ser> + <ser>stateOfChargeMethod</ser> + <ser>CANID</ser> + <ser>CANIDStyle</ser> + <ser>CANBaudRate</ser> + <ser>emitStatusOverCAN</ser> + <ser>emitStatusProtocolType</ser> + <ser>tempEnableMaskBMS</ser> + <ser>tempEnableMaskBattery</ser> + <ser>noOfTempSensorPerModule</ser> + <ser>LCUseDischarge</ser> + <ser>LCUsePrecharge</ser> + <ser>allowChargingDuringDischarge</ser> + <ser>allowForceOn</ser> + <ser>pulseToggleButton</ser> + <ser>useCANSafetyInput</ser> + <ser>useCANDelayedPowerDown</ser> + <ser>NTCLTCTopResistor</ser> + <ser>NTCLTC25Deg</ser> + <ser>NTCLTCBeta</ser> + <ser>NTCPCBTopResistor</ser> + <ser>NTCPCB25Deg</ser> + <ser>NTCPCBBeta</ser> + <ser>cellMonitorICType</ser> + <ser>cellMonitorICCount</ser> + <ser>extEnableState</ser> + <ser>chargeEnableState</ser> + <ser>powerDownDelay</ser> + </SerOrder> +</ConfigParams> diff --git a/res/cubo-verde-logo-green.png b/res/cubo-verde-logo-green.png new file mode 100644 index 0000000000000000000000000000000000000000..04e00a00c504dcaf8ce8183f04c3533c9765478f GIT binary patch literal 18032 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 literal 0 HcmV?d00001 diff --git a/res/cubo-verde-logo-white.png b/res/cubo-verde-logo-white.png new file mode 100644 index 0000000000000000000000000000000000000000..b004d3def5f55575c6390c88380976269f476121 GIT binary patch literal 6728 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 literal 0 HcmV?d00001 diff --git a/res/ennoidbmstool-version.html b/res/ennoidbmstool-version.html new file mode 100644 index 0000000..0f05e6b --- /dev/null +++ b/res/ennoidbmstool-version.html @@ -0,0 +1 @@ +ennoidbmstoolversion1.3ennoidbmstoolversion \ No newline at end of file diff --git a/res/firmwares/CHANGELOG b/res/firmwares/CHANGELOG new file mode 100644 index 0000000..4794661 --- /dev/null +++ b/res/firmwares/CHANGELOG @@ -0,0 +1,38 @@ +For uploading new firmware: +- Check the "Show non-default firmwares" checkbox +- Select the hardware version & associated firmware +- Click on the update firmware icon +- Wait until the upload progress bar is complete +- The BMS will restart once the upload is completed +- The firmware update process is now completed + +=== FW 1.3 === +* Support for ENNOID-BMS-SS & ENNOID-BMS-SS-LITE +* Humidity sensor support HTC1080 & SI7020/SHT21 on SS boards +* Charger voltage readings on SS boards +* SSD1306 display "Basic/Advanced" options +* Many bug fixes + +=== FW 1.2 === +* Support for Expansion board + +=== FW 1.1 === +* Major code cleanup (Unused modules removed) +* New charger voltage factor & offset measurement options +* High current path (HC) related code from DiebieMS removed +* "testbms" terminal command is now functionnal for testing slaves boards +* Timeout charge retry is now up to 1000 seconds +* Fixed toggle switch bug at charging +* Fixed charging issue with same charge/discharge port +* Default settings are now set for Master-LV +* LTC6812 & LTC6813 complete support +* Balancing mask are now all uint_32t for supporting LTC6813 +* Precharge : "persistent" option is now renamed to "forced" +* Min/Max Charge & discharge temperatures protections are now functionnal +* Support for new Master-HV onboard precharge relay on PC15 +* Slave board temperature measurement as been remove from battery temp statistics +* Battery MAX can be now set to 120 celcius for disabling without error + +=== FW 1.0 === +* ENNOID-BMS Master initial release + diff --git a/res/firmwares/ENNOID-HV/ENNOID-BMS_HV.bin b/res/firmwares/ENNOID-HV/ENNOID-BMS_HV.bin new file mode 100644 index 0000000000000000000000000000000000000000..31b5f7220b77441d042965fdea588408f2d7cfe0 GIT binary patch literal 84832 zcmeFa3wTpi)-b%!C6^{?n_ht4fLtiHO~KHDa#PZzoEB0j*Le|eJf)y1h{REu4C6=& zs9fZoLUe|UC{k1$5F4N~pmtL6GCCtO35A&=Fw_eKQi~_0*wdtKzO{Ew5odhA_kF(a zd!GM!{>Sp{oU`^`d+oK?Ui-H8+6S~3=?0}x%CsK{=wJQ@aBy@7O)0;DFc9~D`t17~ z`W}s^=X@XjKc)LW&3Ahh|EGB{-ax+F^9;oO(DQ$XcRRfw%KKy7j}rJ%0zXRNM+y8W zf&bSMi2eBYqXd4Gz>gC6Q35|o;71AkD1jd(@S_BNl)#S?_)!8sO5jHc{Qq47zhmvP z^6V_Ri9W~L8E;0JvkduOMo9M}1Z-=NO_P@=WNp$??SV(9X=y(rVd3-v9Bre#!sxP{ zh;_HdSbLh6Er06<a#Kd5Q`@vxqO%li=E_E;J=?3CrX=aga>kK%qUoyA@@Y_RN2VVC zj<W6`E^|NR!T1C8{T6jj!15xeo7iH>u+6bna~^m)%W4HwLboB`dI8zYjg_GiwlZXs zJs*-KD}8k#I(fKnUI=OChiJ{((9*?gL(3K;;R|<VXx_Xt?epg!_pP*QE*6%$Lo{6* zVwiOygw}^BY5=}#)JC7VDMdh)l_6?OWtTgrB9t<Q_FJq~?IlziiD!x{LTSacA9!lF zF}P$Tyzbr~rr5J#T~gwCI+E0Dh{!tK86{yvF_9#AvqfY#?kh=Zdo`?+B>@&y0P($f zz6ycX;I!t9+3jCGN(pGH;%udWk}iai=Bajs9%-j2?@jmc>=y4$G+fg%P5D5`j4DHu zH7t}@87iHVdefck7IwMc4Wmk>?}5-P&8#p&CGG6&l8}rtH$4!l&{#@JfKE!6dpPFu zT40-il35?cA)Pl;dqe5d71xK=%+aup)_kTZQeLFP>6(*a4NXNff<8irHEj?>xB5<o zbs7p_T}0D+!B-N}P<58CviA8XC@tS+Zdw&$+2NCOKGTd%y1<6h*$;rCF2V|s=Y}Q3 zAbo_rF*U>hS098mQYsCpEJ@Ah%uRqH;OFze;rcFjn%r00<xZi-QuoXZ;`Yq&;TFyJ zf7jkJKW=Z<m&s`%-?k8wJj{pmNQY}aZ?P<3LDNd|d?lbY=BD(UZg#Sdy6H|aH(^;% z75Ym`x||e99GROi{VYNUmyzRBb2K+AM2(gE=7gAWm~u%M(wm!*ua3wM>78YufnDyU zY`BO88Zrpftl$r)YoWYypT&xC?gbnxwBi?3WoQfp+Bw{pDy+46gte8m0zcbXwjD}H z_hC3*2LCwbR}Zz&L0;gBR{BT^l&Wg`4hGGgN}r8u>i}mDgtjf7(ski*rNGb+gf3_@ zd`!{6lWxC2L#r|<!u0AQxGk7|ODG9i3R=AMy(`E!9i^O3y@^s&PA8sS)#ZBZX#0{m zNoOiU?-^~-18t#MbB&PCSqAk&&NAS{Ob053n0X)udMJG)+-4i$J9-o4TnP6sPCN&7 zsi+J!(-omv&Lg0=miF}sv{0acLW<z7)CbbS<A3(95AZC`vJ%jM%FvuSC&L+-SB*BJ zxq*4j@L3=S=A<&zVq`!kEg=m8Zf?Mcz<dh&vSh9z02~z$^HmD{7E6}}=wq4|0%3lU z&)JwfGkM19?B8oMd}xHsPmP@~vXgd{y=LtRsAj4mC0WRf#8c(pOLaCmK^NYgPAPF{ zmY%eo;xZgaSaAaRU|7=)z}XVa6gZC=&RIefvs;nkXIvUry>)0nRZ5MKwP{6aN{UF? z>#ga5ZPxAp(mCICmL)pmj>A?B$8c1brBIkf$^bi&Dd=oP1^*0u9n8qaSb8pl`v>U8 z2CgK8m^6W5Rt78+OIl__Z7dM}zj|6GHk~#XrTn*iXeV}@))dKZ;jt5YPP0Wy|7k^z z4`eb4L7-aH8yPpx;dWCNq_u2OZ1roQrknlmhgs%y*7@6T-7RB8dXf&pFN5sFb1l@w z0V+MG)h@<qciEg<T<e{fn)BE*3eG=o7%C|7|M>{R(QWDB*w{%ej7XXGD8v9$IQrbF zBU3}N+~h*|otk-$32W(*oc7-2(N<Br*eYruC?T+mX-Mg8-4DM8A(>`{WL8_m6sDCX zo*Tv)INWZW$S#Vs8ipI7Ke9z>rL4fPh2Bq&<di~r*)Lk70o<PH(B3DZJ-2zG<tDQe zkm<PZlZ@f^EJwt<*=jzfI;V7KGWJ<V`ls`mycu$Au`;b$+*}9Ds)2OJpv<k-M8CWh zW4&n2^xOH_e0xx1WcaH=oWog`;Lwz&WbU-4^Opjuzi3M5^6C6%!F0zQ$8=s-s^nXO zIgUjRJ9(eYp8{Uq1$}llews4^I986;6pr_4Mxa7DH|hK<)(Ne5%*c1l_NpAI+3cCS z+Opu8bvBc;13zM*#)0zh_Ukz_hlI(ZEyv)0KgTFAvIAC`KR*k{ju9#I5Pu<W;@CEI zLE^bAKCLu|XToZv6BH<G=(;T0Kij%<7VdRhtV#Zbz~whkpJE<(YEl<4t<xQ9u7JNB zRC8@X6{qIJAf_u59XysJ=6!slq5>IZoRTy0w6L$omV^A`n~cC=)NkU)H+{Mc>9p6i zS$Y`Rw8xHyW0f$fu`EC2v!h-Zy^<lVAmOu19qKjw^*h$A5;E8!*Xs%lfPH?@Q<IFP z1|eo;c&qT_Yy?#97g;-KDnb?7#!(&g7M5$cZrMx;BYJh-MtBQf*GAYt!}W4i)7SJC zZ4-Xe0mtcL98Y^2UV8uuBYOvM4bX~O7<-hBz|q8F0a-Eq6#o(6IOX&a;54n}bRu2a zUoiRtD#*HM6k;$^pPUO^O~hp>oA9ssI#MZ{hT1Q63|q6qs=I!N%5Wajd;i9t=44L1 z6if{dP9FAIMdz&I9ahzampcY+7Oq=Vm<LMueN=Z{scH?r+>vry>_HNHDtM_wrP5v3 zsXh*777dhrsY9^_mygSN7uus?ax8{r!&~<y{<(A7qwrpwbWCV`u|a>RvWxoJJds`T zrkJjy>*RGvcrc=|Q_st|B2HbI;b2}ca+Tl4R-+O08;TdyzfFEV{rNY=!8{V!{+x!U ztAd4Tz+(g+e`}0LsR6os8VrZz98i8t$pP(O(%a<QfW8?C<0BI}8E53E=RsdaC@Yy4 zFztV({Exn&gfb13F->iwhV%9$X(^#Cg7TR2)hn6O>Sfxd`c1|z_uTqg+&-Y0WuvYM zC4&J|qZ`h($TU!r;w&=IMw}N3*61-vIR@{BF87>$wUeNRc^uTB1PStY2FgIf=xF^W zYfh36)3!n2m*EoPG?ec^J-_$2ubm-t8|_lNsDeD-F6+&}%4_UYn044w*XV~<2}lEL z$DgGhbwf<Lph#X0`lVoTPlM4&rWX{jD)~?*TxE^v0-GGZ%08rt$hww<So*;bD_8le zLoBm|dnm*z9^{xdjE8a7MJjHt3(492k>|P|erG*E>q83JtC8n!zHnmJHQG2E%Dx@v zc8pxxdH;(iM!nq_dAe%^@N!3l4POL&BdiV?A%-X+M)h4~r|xa1pl&1HJ{H+P@J32_ zh6vk9{~KPqz$8x&z#PHm1!jp#(`->WDb4{y_`3hZERik5Bkb+5Xw+5zcbotR;UA`6 z8TtTZ#vn{tFEA9Qu8FWjPFO;p1aZk({#V*r3gdmHfYMBIfAZ-qt_LFfy1vSi2Tb0- z!21z+M}h1UI_`c^3!?^}=`rr7ia1?%QhDo$(*|K}DdzL}P+BgQsw%MT1fJJ7glP6y zJF_YY>d2bfgO#B)<NUU9!rG}b0!kN_S~KhkU_};6T>`RX%G&5q&H$yUKR~Hc^BpCd zxouD=XKG$Ry%F+T^V{$*6UwoTXajk(5<km+fXbZ--%+VfY#SuRl4Sw41M(Y;u-awY z@R|{G=PXNoJNs>*)U__eVC}hywSa~eWuWx|pO3eE8t*IvjionmsnD*KffV>H3d|7M z87ZKpSQ2V~eV8iRWlI&@Q&?YxwC))kKt4#df0qXPpdxhur|*++ac+R^A-|E+z*-{> zxUCEo8^u6;98VFbWVs*K5GF`9p#r@AP7&y2pC8s4rc}Tl>??$~=R~AS?OI!TGyv(h zuzLU^;}Pknbs`d0UZbZ%f1_|;)PlZm6Lo?`nC8Ya&MN4KfosUPO|%FotVAH0PLN6` z^p_j^BG28hzY~Dogky2)?I~ZL2wY=-Fy)t!A~#ZD9rZ)`km(~oDqwxAIg3ku`$%M6 zXWvzNDr!FsT7x;kqrwNELwHocBLe0OMueM7LNYqXR~?eUXn;9?BbaVCH|99@tz6## zqqR4Wql^rUn`R3Vh8>@!qqfDmABiC2-eok$@HT!u|31%D*{ar8tzYu~5~kW#y}tVW zYG$cz>H4MbFJ*piTSD!;fb9c1;aJ8|1((PT5vdha+iTV#{z0%(Muk0rD_)3Oq~WMG zY)?psw%Y@1_xWCAREX5%A-o(`9RjS6=6c6-7lU_lH-lOS%4-eCxz6BVUI=0g#`!hO zNt7|x{TCnJ6QmE@1^kabp9M1p{TSND!d#&-r}(MKcy1WBn|{8Alfj&m1ar<$daOCA z=h1Ft$Z}>iIGb=P#`+FpDy%fv^Ehpb(ZpX1;@>#L@OZBjhO)Jd>l$Pg$TPx`#;G`p z({ZuxcVct{nMa`h&c;MeS&_oYxh$9=kkQCfLS-Lb!8oNAOfir5BX|vS`#Ogb1{17* zUFT5t49CD6`9rjs|AIEmXJ!BCcnS6+L%AVbUaOnixJlbpx2niLv&QI1sFAmG^7?iv zLEirN)hlvVYwe{+twr1h-!PcjY%;^y6wU%QyAWB&xsOig^fj^W*Lv`rSyycn+)RD# z;5MaW7+1he;3&b^yU$^C{3hE}`WkQKkq+j?XO)g|+&4iBq`G?7akIRywI?vD_5}1` z)d!+>ua2+hM{}2g`WjqHRYYU_SVZRfO*U8()YoEJV;WG0N{?fGLmh`qPX9Vi!wqq4 zbtoOyw)#zJP?ypEWi|R5S^HEO%r<IS``IVdVG6C(noAE@3!pAC;BS#^Jk(_tl(HJ; z|H=M^P#3B$);*<X-zI9ep{s6*RdCb$YF}+v(@eV>EvqtC>G*y8IPNI7kedelAB(n% zO7lL4&M`lGLFr4`ukt$nV^PW9d-N&CBu;rZ8XfT;wzi0<?jU#MG|u-$a2Dk2jWQg{ zI~~y1;L^Y8(HQ?s>WB=umbi}fwLnMrvB>Ih-xGd~@H>jX<GQDFn>X!g7$o1sF`jiC zb5>o0Oh{;Vn~ht=0<+Qe<V<AH=@YhZ74x;!9XM@+JJ*!UF@Yg%xd1)uhQ2oiuj?Dz zS@jcs1Gfljgt-y=Df3Ey!tMgsqS6EpDtO3`jKEP5HIDTtJaW%gajrSbBiqilvAYxz z=0=*0_2j!`1~b&_LZpyepG}QJc|w5QeNJBL(-{C?r*~y3N_{5sUXZ`S|4P_QClsh# z6}zFY4`<rfGc?%Y;;}c+DLkX|OZ+otFa{WVgd>shUUs)7+hU+2NMLN#Sk|L=aphaZ zJgwXSb|v8zXg#~%W@nBv2a#twS7K-1n8jgRrkgt+j!lt6ZER2%qYIhVc0Kvl2^a?! z$>;eJc3?@9HQ}$Z6gK;R8H6o;u~ASk%3{XzWw6RskPlWmG?H+Pj0puY56gL5e~4?D z=hYyyE5*SUp?qfh@bijoRW54m&S0FU9KsV4zKOWGV^B(#L$)0iFtF!kJjcPd5i4TD zG;`SZit81ZY<mv3HaN{{6KF=UjrDvMwCH2qBYHj&5&A^bq71La_zA3gm9TfhdV_1R z8^)i-V82)j!2tnJQuh=f<@iQ>PL|)ZY2FH>pkq!Q@zfskrgL)~^(%H+6FxIK77jD; zuxDLd?VyUQ`8;lXlOFajVn4K?ALx#|8BD23bL4w>TA9;nB9*h%n(S|>PUGe|(wEZV zQpD(IRd1_iMD77fp9cF=OkuVI_W5Hl^!FfM|4v&`<7LC8%uXxik9E65<HOZ367bb& z-Y-`eVHZ@t$xvh9ZNMKg)YmQ{<0&39v7WzqGxt}QMAu0OUr?UJuttfDJ7!!Gmu|l# zKD_UgxbdU{`u<?<l=$2ioTtolO4QXBLpzW17dWy?=eSY@C7tD8;z(*UItm<_F0j%R zL#!g{Y}w8w4j6&QP!r3xE#XnY^$Yd8_1t)FM;Xey>Zk5HAIvq$!<0G^a-#yvjV8Cj zk>c87MZ#e>w<8hw!u@jUcH8zxK}(SE2X|b5HLb8WXkSND?N-`6aq9ML&~QjW33)fp zF^1*k$U_O`J!rSZYumXOMm@@~&Z4rx=%lu7-wi7dc$2#dP-kxKrK_pJC1j-j-~9XH z|B}*I2><)<cnK1W&VRw{M>1+4zw%anG*mV<oIoDHmyx$1s&bU=ri!QuRI!2oDObgp zc?JjTcOegMo4PWXqw}V8O?)f2O>3}i_qya^T5S!|#%Z2vumM<Z>~Y(6FO=VTcG_+l zpp9-8exGx{9Y)Dhx^5h%4jMSy8{^5?KmncXx9GgJUBScLj`E{0ZwQv;4BQvZ$-$*C zU*o=%KN>0DfPnkcclvQ9kmoQsP@92Ib1|h<(IQv2;={Amj<TIt^O31+TQx6SxDv#) zu3b6GUA!U#4&MygcH6qpV_Ln<Q@ZVuf=_*{kukm!90T(yg1N-Dn<C@CoU?hRZT}5m z$L9kK{W_>JmU_Md@s@fR<Fk;~DxY$5^Wk#}YIoT#7)K~-TehRZm*vjlpSq$1EY|oq zE)ROu2SLW5GEUoG>UlUgAOR#qdVX~qG(WOB_+9;`bS-}C@gQC&Xt-^hs%DepqNsCk zwjTGXI2eU=&x<y#oEy%ic&Q=`8y!34_n$onZ?pub3G(DjZfM|h$L1_l&<ZyBAs5+j zrV8cC+P-vP%-vZB;T(rD&VhA;nQJbi%(5^g6Nu#*&+vK&lwwB38L+0?ELWZVJY!*w zSywCCkfHQ>ajJG5@IV){VH-V=|8u|5!3c7OHRb#39flf@^<!vFlwiKNJ8NfY)>xEF zwau8C@28B0@0HmV_#lY+RRXt|vjL7@yU-N;j)zZzkfv>OV9KzjNbp$mL)U&0xNrh= z%MW&5%rhCYY#J`%sizwr$(O_GO0#1J2Rv%#`;%L%VU)<OMV)_lqx{AG1^E`?s(S;} z#NfCj@?WI2JqGE0Zq&KSy$asGaytRzA28}z1s!eRUB*k|<Szi<%s2+gaf_pH%spRj z_hoO)c2GRU`(cia<3djmUVxkil2fZkh7F=k$2<1&D6hG5D@kF2CNez~KzSD78TT?y znZL?^s9nYwt5RUB%#x#UiyQX{#<8S^=og>uNGJM*jLSG<)hQ9VCvnX0uthM|eGOI( zdVc|DtQlyHENG23M;h#}nBAHFlb{8Iu?8fdT(+&v!R$Vn^*d`KwEy()wMCe;zYMQ= z*6#p)%i!YgPvkH1yYedo2FIFUmE#qDln&*;A4Uw+3+c}r1eU%e=6r78Rr+Pz(P+4n zil&;=xM9$mGLagEOkDwG{;vZ@$2rAwXJOp0*=5~$!EA)I$<#gTgIfK{;3e@wn@W#N z{|vkYbLs}sYG%V$*<-<_`INsVKNU(Iko%l7Sn5Z6kU1`QWNJKrNqiA<&j?aR$f-3} z;k*dmZRX`cEY0FGaan>S=|QB$XrAU*<)`~pdZixPzpXF`l6GVcrTC!^q=)^1Fs>gR zwPf?WuIe15W#Kd<#be4)hR#^^*B}LL!r**0IA69Si#KD;p)|bvNoqrocl;C922L2u zHb5A4O|&I)n;dQ~ojXvIe*)!ce3SvksiNQU1&+VVr=5kG)S;2uqg0;3Pv_l%Wd>5j zGbf%mho32M1mrL;%9%6Su1QX#gSz_-2M?<UYCJW;$n*Rge2o|7WnVl{gYqsw?kiCL z<u#eEIg3$2Ti}mg6X=ANkp)7IH)^P&5Knn0IZZXgN=H}WJ|wO`E4s(%VMN69@CAP` zh~u&xDMK^)A&v$zF5`89hI_W*sme<tyY8u(l&6*(#MRgQ_NoHC?qEzxUjwHI$L_@% z`p27x*Wy*fMo6=C*10X6_ouDuI=uSs(t6(LV8c0TTi2{=Bg`}~Qm9Oh1!4ipbkPPR ztnO>}z8$9EWcV=5A2d9@?s`}+?c=MV4hwS%_-t3Pa|Nt*5MC$9SMZh_wQg0IQoS8! zlFtRIz+Qfz|Glu5`iY&d$t*>}`(i!JQLFv=4!%a^axX@CPr(`sDF?S1y0l9Syc+0H zcf~2L;D=r`fmBU=J(N(-w|fV2HG9nk2FK-qR`%stWf)d^cV6~W#r1qVAJqHq75wKH z&VUs2xpE@Ki++P6AY;$|bn2wmpH8&`lqzWHWWTZIwRW|<q10At1lcR%`;0ptgPEq9 zm+R|;MNXJg_uL0m4wOMV@7yI<oH?(MomGQ|sX)Ur++gP)c;~+aZolNu1aB{SO4rZd z!ZrM3a4@VL&xlWsDIh#i_r4vZbRP!YoHtnQ*y1%hj9q)76=s62FkQ_{!2Z2<ZP!oV z0z2trutEfWN+3mPSi<A^^D5{woG2?VPC&{XpwqHRNcr#kUnFe#FZRFAV;a{_3-9zJ z!;GB4oNXA4qZF)x@7x0CHjjIs5h$9T|40sSJb9F9443G?-^BWhy*b=Cur|~TQ*!uh zCm&8A@UzBse}35iob{Uv^f)Gy8vBYBQ;J-m@A_wuGE}$*b6a!pxeK<+YvH892qz6R zSo_m#*plun!|@PjX#l(bA+R=6I%03GEU8%Ea7IMURGpGTZFyjG#<mhoJ1hUWYlxs! z+zgB=wEInktgq1ZbWXNcYntod33gm_;bOnaxRXP7YJ95%G##XmL(<#P9?{7qL^BR1 zwV5Z^TeC0zk?f2tQ*&Dl{)8y9R0>qmKpCrDgTX=+3Jew)Ih>e|PWS!C$h$}G&#t$A zc>(83^((v<YnJzqF!v1#r10^5>EfxMU4)V3-t)mi7j?(eIY)!kPJ>a+&*D%)hredn zEbdxx9Ty3j3*QLjxe%;v7v$}S@m`zou*=TT<MszlE=IV-EHHKXl~9KlL2h^*rai`1 zNEQ_bw&a2RiJS}IabQ}-Iu6STOG(GE9PG>%Y1(DqNomvqziAZf%XMwYSp-s=k9RfW zk4JBaOjH?N6;i8ra*8(dsD&Ukm;u~7VH}XDvBaDlNa~)0L{cbu<ax`~5v_VGsaaT3 z1Lgd%q~6RvNF;@llh0#G%^{LX21(&P!~Ijw6FFUgu}%23;np5*&e5u2ag1D$--evm zg62_K0i7hNK}1r^KvI=LvYH;dN^q9{E@+e_CJ>2L3JUcqfiHgvR-Vc5<}BaI?I5LK zIquxKGxOhNxtPe3g8doDvjp$f;5^a)+KQi}i7*Gf9+h#Hqo`f3EP^pPpX={#5I=x% zby@Z6)nv_6TiNBV>hC_=bHMw&$eH<SfS2s6c8jrMSf!cWVm~}f;n`P=I{VBzUdjb4 zW2k+tv#}!QE`JitMlw$8T@O}_B7d>{MeA7dd!N4u-j%+u9dO2CHo{tV*O6I@`day! zfIRzbs$%jPo4|rqsCvb>N7}th{&iRTa5dT0nmK1v9;b&@%5yQ4_YKy7ySjo%NQq<u z^*;w5cKj`90Lxc_cUOFuTlgF6F#ng;Mviyrz%!(jVhsDLtMD#&6=g8;OL$CCk8OCu zQ4!_+J%G8}%kQl+3QDFic*ya3a0%W67hzmq(4R^v8z9s{pzYW)nBj<ZuOo8bvMEb} z<(|m7x#Ba^VW;`f#jls6!l^JiwTcL=Nl2Fl=SsYP`N{`i?5%OESTQF{?KM4oItv-| zms_~KWu-Y2{0BD`)D-aNu@4KqoVT5+Sphlul%q1T?*{KDXt{TQmZKU=J*nofSK~<H zcPKPIdkr$~&)&kT+Kgb|duutSc^u~6{q2aAm$Da8VdsT-n;j%JxPt>WxLV*(H?-hJ z>kxa3<-9FTpqP%p8=DGiR`8#&g?!UlRPau~vFt=p^)M=U{=x-V8^!sx<<J}r9Dlw1 zg&@!{gB8j@)I|9Qo9F=M`cJ`uk}$7e(?u4Yx~BN3wvpx5H7G$#4ti7UJK;ne|7Q5L z@T>HF?tl|IbJ_{mgMh_V$I&pKX)UqtnLcV8th;-toh;y8hIu&@e8mBC2#mDIcYE9D zyfWhX5$pcg$Jp6v*au{)<n!?)%s1hCVIK&&sA));0PzE`vvK+`N3JYN-%R3U;m4`| z?wKOXS-eQEF+a%5!VX%`@8$ct-;C)%Z;(%CcQy`n9ITOZi;k9$Tj4kax*|KPZ=)tH z%wfY0Hph=o6j8yq0h9|?=$}!>FKX*+mpz!vzsfJ;bE}qBy;=qHkAV#@Mt$AuV#}&u zt$uas<)xT<o+HmI<IV)JZYGO=3$l8=IzJrCgOz`0Kx1UNVm<`pDz48x_IsygIq)c2 zhkcqDVy|DOg#Fg~2BmL(RqYZ5<UJ5`@#EpSKX#lv_r`wZ5P39$H6E-j<R9h_@ee=v zb!}nQ!&Qf>^icoBNNMQnzB~3u*wwt)0AVj)Q9^KkD2`~Lj0uJh#k{>AiiLF_ie~qy zC3@~g?UCBC{NwyF{_zLLRy|&ItV&L(P@cZ-v{;|xt|h6k0s07Xe*`%{f}9^gPCa*^ zHgt=Fc=-dRi~ZE@QA==nx0m%!ReYYpb^p~Aq?`(8z$+oV0pSw}w4EVsZa*HE4{qP} zHOz_SLGUjDUAa9B;3fkum<Dv4fZjlyOp5yj#NocJ4VNpj{Tn$n@>h;`9n?L^XX-am zCRsQ(PJRx~jm=cCj-&j|WpdjJ(*EBBrZ~`@R|95zid=gy?62be0I%IKt>Him&cR`4 z8>g3Yi=I-VhxcSOP@EP*32~Yogyxk%InWZ<pMX^uetvhJh0kWS1*Y?Gj+LzRgBQ~z zYT_2_DDcfuBwLSu8xW3_geX0P5(Auctrd_08HKC#Pn46N4pFjaLX`aJNZHN$$g?+} ziIjc&YUJ5(|MSH4fbcG+OA89R$Q!2#o|;UWSA_jC^rP`0(NS{WIF1>w7(WP3=M(|T zJgCdPmiFOi^AySq6fl-=qg7~3JhvqS{1{Ge$Up_N!D0>e$Qd+*op4qpG$j|5pTmAr zyA@mjg|#dd)-r>*xuW*rQV4TJ4LmjQRKipFu=bw0A`5Tq!^xw-6Nq6U$JN$-@MaW} z8CpnA(iZ;_*72F8OsW3du;Gc^;~YB~{K|d_zCUZ3Lb3I5m}RjS4Lep}YAmI}6KIK- znxra)6GJ<!0V_8Xt{Cn{kb!lh(DXCzI`liSF`eu2p7hG$91ICMaf6j=&ErIvP0U<h zcTvBBb9xOh&-Qiq_U1#}J@9s^4`cLopYO}%t_Ee?m0${PJxgDA)*s=_Q-kvMf=AiA zKJ|j;3@j_!zQB-0tf<a1e3taz!R&O|v^3b6D8XMcqg2ahfIrm-pws>z$SXF^{aR~! z|AuPb{?3>=Ef0J)uWOg5UO;(8=Z!ODB_``|uE1XjUY1nJgi<~Duc8rZ@S3tgF0rXN zPj<24rhApaABXpMrj^2MJT4bb+zr+)u*@`vixC5Mes^Xb_)6)(8}+-~sNi(qiy&oY zz=txyk4BshLfNWJkkEymlCQODv8hB@JG-RIl7dEj0J4t7k`eSj8}_W((lGyPtsM!! z6vx}KZ;o)C-|Xo@{9`$Zph+e;tILP>7~E$*fegqPhh%*gFZPuYt~*rf2JCMG{cwH0 zU0DYn7*kJyHwNYT{fUv_VZ_JtL(Wsz<PRaCxp&7=+K4<3pvgrJc$K@~Ke4AnzU3ca zWpLI(&sCBV;`p18aG=-WrHwCHk>_%tzdJ30y@S3A_ID>ml)D-JbC@~l(a58QG+9Is zX{vHKi;ZmUkgEfb7B43iPC+^Y9Z+uvwB2#o7sX=V{K*YZgoGF#<!6J8uqX1<4QlSb z&p>ts;3ZXRuz|fFEK<##?pkEH2r}yFxj0?Td9161af;~|-oKG1lieINQvU7I)$%U) z;Ae!jbJlfPQmxRoIfIa)#SVJdb1(<=VJzS>lS^q6+dg>SI&KRdqv)aw$cTiydr=+| z{^mx7NLWy-gEpHPIaJ>Q=hAX68KmUvIY=ND`h^)RLP+?14-Fn*SWbQ2UyHbXRc(Km z?!hya;@Cx;*4N!e;)#Xm*Oh|X*4O<H5vR=J?!z=Aa>$<yco~r*?$k9zO(L|h{|pkI zA@tqcCct#}Y`u+_U-UdjpgvgZ7IBjx-PyBAig{g%d8p@EDdr{7%Gm+ur#%};45k>b z!Tg?e63%l{u8N+uQp|cO#@2&<l&8Vky07~e;;T1L8b7@GkKFpsHMZH~hT705Ol|Q+ zWLRU5*U8i~2Ttmca7Pc3Tj3)C%%KG+^mX4Sg0~IGI+N54^U&8l<CZ-7y31~p7S?j4 zdk|JKg%K><xC|E(?&2kVOL8LJ;%R-|1>zi-agw3rc-mEx7O&+OVw@8Tc+d~XzOOrl zlr<)Z+xsnd5utk#S^x=uCi24VjA`|D_r~H}|4}R;SeRNIvr*Ky8E?z^CXpG=iR;_j z{kfF$6)}fkVOhm<?jZcdvHlvvTwz{&yFZFy>GgJ>Bym``db{6^eOG_nC)5ykBu3;T zyhO&8zg~H{W3c)!SMZ4<LT&xl(O0Idp8Sh(-%JSIQ#$9~OR3?LQ~t^P<u^;YKTWyM zV|aeVw9`{O^YP#1DKCHI@+a(if67~~{~Y?^qn}P;Bfo`h*tsbrdH&fcuy&CCX4#;> zu7$n|acvN0y^njzJ7V&!x<Olsi3A#u0TPVjuY&_p@9qAHB#{h}fpOr6_$8}eDDmYE zN{#1=c;Vt&XCsWmnu@NrhjT(H^M?9zLTU4#4{4HLfPjR5iiM?c*FvrjRm?VqD&~Sm z_P7k<Q(pp}-C(6j8}Hv6rT+?jQ}%h3zAOg|M_ZJ+46yw3DD#sS!52QmHxu^F`@=Ez z_h8*wdeibad-{RU%%qhiT)SLu4SfWwi}|y`J4I&+{d87k=&z%Xh5Ixceed3ETQ#f| zEDiCy5lI7gBb-f83dh0C4@-zfz#Vn0eKC8|ccxt<D+#f)olTfG;2?>bjBXrsr-$!K z{wKDu!0h3K+Y5-*O&$mL9I^-QImi&);)vgMkac33fN9kOwzj>+3AY-)wYJNtpN4En z;O8D{abg<e1_b0|A)gH2f*8n0^5DB8-^bVCGCF65=p-oT1_kf75Y6Bl6PPP_cIu#9 z1m)eH58tFn4gdycfm<Q*TOhDXpWN*)3CXD!h-{r@Fe`F%kgc6zV81vV((mc^+d^{2 zS%%wD1MQjN!>y_D&kB{uaqHRSfdG~pE*s>8oJ}}I?$dIa98S%II~tl~8vEbhl@`Ex zWdXQHaaRt(P~FN~a@!pYkUD`}6nOdmZ*}T*aeupvh4Pc|-3)wJ2MHV9l_91WM)LVn zLuqNYP-->YtT0Rsr3{)H(k`nEp^-_z>mJzc{l;1v?qgZdBKq_qWo4*{{(aW6c19L| zuk3PbVGUCF`*u3%iFPK*;QM{n6CA!<AmRQ?{Nn#2{>A?y{sNjGk|$;OD?>8iZ15A6 zA^G6S(EE%nH0QC(&`G$Xk(1LLz_)eO0a%lg+bJO7ir)uu9NgQnA>DV{J>}cC4mY+l za03ST)!csn$Jqq+ojDWkFQxyNx?Oi=D)6%P3T|QCUP{u+Q@SR-g&`Ggy|HV%#=eEy zZ*5oZTex)#gBX(I)*LsbtM4$5GX%fWi?v-J9tMbA+m-khXo75QSNq{qe405~4)?ae z{-we9x9}4@_fA!YO5mo}!;9h02HZ@+Z`ppT0rG1!Sj#l{-VIG|cHz-S3pPU>v%rUU z?RC~dU+a)np)Z~ICJ6R#jME}oH(3$DG%>}$V_qk>_`&{1#;px-S7-_M9PnKYmOro& zG{(CB0M?yyAEr+=%@CCxvF@%IoNnll?tW1jMZS1kC^q)r;@V=*|6AN&e<1FI@8$hI zuc}+T(u7xhhlY4;l6sjNUv5wvkwNAG-7J=S6x+4Alz|?R=#d?$>}pF(*sgj(y<PKs zl1C-nAtG;oFxj~EY6ha~0Kb~8({m2+^ic^1BRK5~V=|`mSZZB{C;5QRIQWGjkoIhp z<#4J>sEAf}t$C~=dP7JMRNzCDAPf}^U;%>`G%JPoV#6EEO$cclRnt`!a^r@p8l>Ya z-^L#M5`3=`gjKzmijGSVj*>U*ivd;|%U%nNp5+O`*>{l-zbhLRLQ5>xy)8!RWWvdw zSohy!lrXPvSjF%eI-cT&mCJ;*NFFZ}9)b8szfAaDMCXtR?V{c>1Xi#+`((nDnBI{N z@A)Dv{H2%H!)`@*I;wXhm$Sl*NP$D|NGu0G|2|r9_sWDTfVBYVjEx~-L|?4?cuXcZ zzykM;UnbBI?Em*7@U;WNF$iP8k1>NEW6y-Ju*TYjiWXKas=0Ie)&`~v6;mFt5!kc% zQPZ=kM@?T?y-h^=0xwkntwv}16ZEKUgnk$Q84q$cWL3d$>cT227a4Tr_wl=`E>>kN zS-51^lFybXg=xJk*e?5nsroBHMV+#au4C%hIvIGqtLx}D(#sQGP`#iO{vOqHDdkGR z*@vZ@V$X2mpb#ozT6+es5Xxi8<XIX^B2P;!5uS<AQsd_$-B<`nOIy%Vxcda}UnB4c zgD^;jbb}#mfVk%%m?7jr*wC=`YBG}BvmGAsv{}hfrgY!ON1AUabS&|!$Mk*(=RLq^ zKJp!oOrn7EgYUTxMl<Nc$cOV&P@6x2ZeV_3e^FL7^OAU=wyxoBZmequ*!AkIbU=$w zm7cB6DRwThk1)_tc5L#eiZ_!#O#U?aL!-mQC+ucTibKVL#BgEKAA#eQT=IwiguEvH zd4OWwyJI+|miwW!mt$pwyMXzD$fh3qRBb>up2<sWy>t}`bn37N)VubGW-~Q0F+7I4 zr#z#yw|h?CBv;JD`jByw^H8t}QWw3w`^Zt)k#?R|?@A08QS`)X!D2h)(`7mLh-1uS zX6zA*bYm*weh4P#opx5A$?p-1wIv~154)*Vdj3r7CGptaJ>pp1X0V7}5)aiG%H^;F z-y@DQZ-Tn0;qJpONZASRFy9+@Sl<blTt=_nkpY@t(0eSH4NqNfyeAa&9tx%r4$>>K zoV3vhbjE;<G})dGC$-o^mG!H40<Vaka4D#PoN({Yq28%En2?oGiqCqnPGms9ZIn(y zfOi!<yYk>H1)e+q1I`>FP7UuG2&i#W19+l%=sMVq9bmz?ueZCYmo29bQhKIZDXfYn zG{CqUmD;()GNWXs3H0h~-7^hYCp=<1aJSN53^99<(#r_p{$j_ajtMG{_>#pVzO3_f zs8#z>X~@cY#8-6bHjntat~5lad&D>3X@%!rc&>xz0iFD<($L9tWGE9gqneLQ;7UWy zEPFr=`yEVkgv!$)Q%&G-%rJ;)>0sCNUJtIB$erq-*6a~kElxQo7CR~hmGaz1Z&VCV z1nf_asD-@{JCWPD3CFPqzB+>Aej`qVQ4#0aCYl^Ny$1|avF@k)_lO!D`$nw$XE8a} z-`aTHP~LVw@Q9uR8DrVveu>b>V41=ehNm0YL&g~|cNjOD9LAZR4uuNc0T!oU31C6c zb2OB38p^<sr$Z^ld;&ZTlS-WqrLsC2O1(Q~a!|k3b8*}x70!F?R^CJ@FRtZqDR1Ge zyqPiB$$_OpfPP8%oArJf<`uUwI9b)n4=|p13x68@u7#h9#9KJtm*oYcu60)`xQ%cs zvy-#5PP1<nsk&@OVwgrCA@f$y<KFH=QKcT+g|GMR%Q=0d2Hwv1$L*_@P9|-SRTWmK zMg)}YjG7J0Rj*p_Ic-t_omuj6hpd>w;+FI9drG9u?})7VO;K)^kCYRNANC!QC?4ro zhvn+F;ARfxD#l$ua$|TrZ*j|KBrj!to8*<5cR~KGqQa~gDI+xM`+g?TsOvvuZEVeu z>abO0KqupM&~rwWh1&`osD&3qg`NTaWN19Zux2=)>605g!H>cU`N-05j}&pUxkT^; z?d>*4PX&JmCyY4mK8T|sZe;WoNhk2>4qXm58CR@(5%{6wzPF)ad?R~k1B_?NJyVbF z5l2`)S0tQO2$j8QFv6$781}&p3%y?4uUn!h@g)OXdZU?LFCMl~qqOJth`HwTa?M%Q zbfrDjk?q(nUem1?Ujtu>@fNm$5#}|;-{3B>q?5S4H#8_46T`}+|AbO4ovO!nSk(cA zFt}F<BTJ4B<{NvK6W`&-BfX__vuy|5Rox@%!B*HAtb_b+2pb^?jioE<9nUs^eN^_# z6UnC@;gUZxIf|vx`O{ctInoo)0gF;#-d^Icd}}oBvVI?r4#c{D6}uLUbsy_Zl1A+2 zBkQeg0ZpaGevfN};gK9VDjSFA1RTCSf@g-<XeEr(_d1onNzT6n@z{gwg~u&Cwn6Re zi&iXjXzZDe%~sZ*1vBXDQ5DD&Rz8m^%PHXs_zf!{RRLb|xTdl0?st?;n9lPMCQI~i zAHnOGO;J44HD@*4jI3hputFpwt+ENrq85Upk^UVr!tKy|9GpzA5`IB?Tn%UGq@1zt zS)loNguJ_vK7?|?s(il#Y@QV0E$cVH%1s4typ$skddhgfH#eEdxN+k;TJvlJzEdYZ z)O)>o4S4v8ntSkgCIcExWK3%SYo$tf8ffLiXr&S+_QMTERo->oW&_uI{o^(40l3AO zr4rUc8F=J^7Ki%E`k`g;EkV3~L+(-$Zn{Svod~j70Jg%F;ETI1cDFqnyk(d9@2ZG( zZ;csTvI6X*yE|rd$xMp_MKg<L6uXKliYpn@Y?xOWfzHVtjmQ3jW{>w$$7mJO0dJ~U z_fE($(NXL)-KL+Sg%M=$Qt&+q0qzqTZ{e<w(Z()_8LpzF+-qWtu{}5mM)+)1maC;h zw%p`6zfp0$ZlVG#G9rxdN3SQT9=h&cbNu?B*1X)23OR$<N2;E^?uN1#!FY)|LZ)~9 z$oQuqJ3Y-QLY)hxw!^xtgn16PbpkxecnF4%T{|<UAhf15t6bSwCr&UMz;6)gmBP#7 z5Td0m=EuAr>j#0nntPPqSa)qNmR~Bs#|g~zm2_?#lMHY}kIsuV8yRpf1|R1roVoSK zwXW2s5Ee#23*k0ye0(MS6L=X|uVKFMn$35k^4IX)4*Q=SbXVJwG}~Wz9D{s)kPmgB zHWrKr46J4upvBnnO2ApR7xL|Z@FE1b55nWMnOKNz{@@uVeHR4719tEvZhb?K7xoFc z;KA@q^g{BTsPnybNq4%17dOy%!a3>sA*~3Wk#!XOCauT4i8??DQ=o<{=!)7)2`geS z&P&#CTrLZkx$B#S<n@VnUI~0QqXw+5qa7+?PhSmZcE;a-3-3<peH*+B(t9Jk>$qn+ zC>73eSb}H*y)Hovf%ZxeOQ4++BqPvv36c|N3qa4n{2MQMVIMMs52@}MQHKUNTO;8o z5d6m^NJXHBB}h%6WrUVSqBRyn;#k-%VQxneXq*I%B+y+FG@L+pOOO>HT+1Xva}rML zNS0_O1N52*+m%~1F=h(E#56IKN+3)VLumxcAXL&ND#2dN**u9#8-eCaP$xhQ%i{D~ zNXlX<<uX9#2jeLMPU*;$=(XZJQp%SkC0k1Q3(oUUJkN*l?v&pB@Q%3~M!5Tg<QXpI z@dES_95Tdny+hLUQd&Jp+bE^I2@s}YBvf9Lpb-RmS%Pv2v_pbM5@?$Q-9ezu5|l@v z^%9g%peH4$fIv?G^h}3I;^lsTJ`x)wUVcKLV-i$JpyLu$PM~)sC=Z}##AXT76X-n& z$|BH73AzVE9b=^Oasm2C{8&mGMxak6s6UEn`X#8FKyYkIv_t@iYQug18S%6fcZFae zDvoi9KrK>QD}l~PPza!p#8wIVl0e|%K`37!P@4q3OY(gsL5&2uEJ23}bVY(*ClEMQ z5Gs2KbX9_O66l%)Z6^?HBMIgf0<}xf1_E_R(60z|U4niM&_|+1s^3Ne=_Kgq0KF!f zC1?#v(@M}|1R5bhO9*C>1T7<J=@Rr)0_92241zgUg6;<B8Sxv57c+qb3CbrBZ16~p z3<RR2d}9InNbHr;(xcCacTs;Xr}PRZf_s#OeR&Qf1bXe4e*<Ia)(wfRL*co0g8_b@ z+K_(d+O8>YPMrsSZGt^A;qnfMeY&<;D6ZWJDMfF>`c8R#<{v63W4Wljr`U0a(<5Hi zdc-T{W0fgUCT!(CIillKf-&+6R|NC&W$kwH3Ti)+5=G%HR_txx-1%HB+Pz&2=<drw z+f1MDuXt_R9Zt$v?PQE?8THQI?)*r-o%zcLVv6<yF%e}rJ`e|?Og-AB<I>yq*oQmi z!q@#&UHezK*Q$i32qknzx7*Qg8zOGOk}%x4z&QcFY67;o-g6QTSg>~f*;Z7lFQo)? z@3VG{$rxz8B_RuBvcMS((r<2<SzB?b<5?BvWh$v#K8JTyxQsg^cqiy4yQq9p>PU#m zsEKyp-HT6h`n%s0@kwX2dwp*K_a2eJKC*j!4DuwZ;(0WL$|DeyEX6P+W;w(pNih+U zYZ=67rI;|pU{2Jk&g(4U=DZZ6x)pO;iqYJP`9zA*-HK_JVhp!p{vgHZZ^ayzVvM(9 zUX@~UZ^gVQ#f-QW<AE5=o2O%>#Peo|Dc~}n!m`7A<^s+mzNW>{5CYvtQc`+GPDi^_ z9rxv6Z9v<;n3ou&59=y)l`nVXZl;VJw8C#;B{vD~P@Q*S?JAPAt4n-?%b2m38}Fc8 zC*dCarW+|y8uUv6_i3?K)d4-AR^EH1z(KdaPj43+&DGxR9fhhfWQXg8FH%^5o4a}v z!c@X}xDA8%y*T{_tb4>fq#Ib{2;e_=s5>?suQ~9#4eS5VnZv%P{{ra$SLUqm>3_ZW z3TJlIiGsEc(n6sBOn5WV|2IFI<oI(D(|(dJ;jq-UcOX?c@FIv;f)gFg%~u`+j+uCx zM@subTmaux!aQN#@Y*Z+&T}&@!rpbQ75Lj93!-Cr`pv%sS8>g~!<p$SAbR=$?AQyq z`&?M|_mTH=<b5u@W38fyMtv+nG=bieAcjD1OHf?*j!KY>q#cqVIe}i4pm?8o2_W3= zI@0dhQd$DRtdk)4-UsltNrKb_S|>qx{i6cki8z(9KqWx{2TwwC9D%|TbQgg_5_C6# zz61!@FNsiDAkoC@AC)kh&^+2>A(&?*%oLJllQ2^WG+Bbu2sBQD@cKt3j3!h(;ygm- zpj7&N0_`Wz&Xt(wzey>JNy={tl=%owISKEWN4)+~335VjCrN3PQt<jGLFkF+S%u#Z zkoWt@`#uS47{R(CL3sU>AY3ANEux#0x>ZWU>z@Q6Af;_2X=|l4BT0K-f<_SNT?xu1 z&;VB>33OOWyMsWlOHdwx_DWDbfp$tz0fDwl5MKWz2wMOu;9A56!pj5+I!2%(2|7+7 zlLWm>pb-S}h|L808mxa<*WM%0WeGY-pnn2{rHt1<3Bp{7%Eu&)lAuos6p`}z33Rew z4re_3p|2f~`dz$?07*S6;hrYYAqhe$xQtgNsD-4xBtd5g^jiY8h^+*APl7HG=xqsV zBhWwzUlHh+5|zsYdR&685NM?Y1qt+^1YIT20}^zNKno-&M4;Ic)J~x364XH;n*?1a z&}0I&h#FGAcnK|{jzIAej*4aijh8UB1d5l?B90(Xyo94-5rK>nW;%feO2{M7IFfc$ z97~`i0(r!52ru9E#oIw3&^Hn!66mS~Q6%5z1Zoj`Nt#-sau-Q!=|el=?C2d8>{*L> z{&K8)jktN3iL1@Axca+~!#U5p$B|GZGO%t!+Z14L`Num0<8SgYMWd#iJvc}Y{(L6* z!dP~{p7KPyC&Z{>@{4`>XMEI{n4T?%JN_cE(X_|UHhRe(nJItKkmbgE=8<NkYlH0* z_^rXo)9Sasd;bl2uM-!WVFuBqn(}<9MmIpnm|D;*cA5R+$7YB#Xd6>FH(*Tif>of% z1LvB}kODz>(&deI-k_stsql>vYI1;eoj-CcdZUwxrh?aWj2Rj@ePo@}ErxX-Yts4k zF4m-Kg|B?U+6U;F*E<nB!$7IatZnj(UD|1=M4%{uwN&xt;M|<^N7g$B=$$`;aaG(d z>t~<+3vN*t{&v{EQ2i5pnPc^|pHDAY^7Cm{zIMs#=|7*gj<2o8&y)On<VjbREXA<3 z3R@9YPp@4HR)J+tOnai@WEEIC;r7^*3p69a;-2*0Qu+?0e|nj<Q~RVW_mX&K+lHzS zmNbL6F11V!HKf|!hhLq}Eslj70plRt1>tVpUeN+^^Wc5H6J$H9S>&6W#iey0Jh<T@ zu(>R47TuOb70u!Xi>33zyk>EurCEGl`yUYVqPAH)q{ViaX7M?QZP3nz*kjsC;i=hW zo#y+R#X5-nKs&Rda$2+KsB0E?ST2c{ZO!6-i2qnS9k88sGr#5a&Ek{pX7K>TeyX*6 zdweW-UO!sW>HNhdF{8Fwd>nG_h4kai&EmTjx7ZB4zBkJ)o`m3s_duIlJPma~kGjPc zU9)%r_-fORg)%iM&7u}UIs_er5fJiHN;-E@Zt;w{S!{*eUqQGGxvxM7!uwSS*C2!d zZii<FJg<Y4%qe@J$L@u`=oY_$cmV<kSEPXZUduC1tV5s|fPI%9`zj*euTS2bj8H?# zsZT5JEiO*8<S+hp(}NE_V?pR%>#0u*@zZwd(+%*{mJ}DSx19R4)T;W2aq@!?K1gh1 z2>r&2P`TAznTinFYu)<{g;f8jpKSSgHij*z@ox<dSl?glXYEMu;4+=8@DH()SVKoZ zpOV?NjXAD#u%3ltEa1)W*Kznf8K)^56NFcya=U!`LS8;y(61AXT4dP8E8y%*2{_s| zaD>XF;6JTHZD2tMzc0DaC>p^^d%()J$c48=IAzw2Zvx9+Q#?JPyc)iga4n{^YrR<x zswj)kg0GLXz)j<kU;#4l7!z!1qmiz66r6=M%7v|BYK29w<K1vZ{(7%UuLB-G0Y8Es z|71O_V}*do3itG|LUB)modS!S(vC*tz^>;}5nJ@+!b(w&pY|N5wrRvqz%~sb4?+$E z9fW)c+D7OPkE&q|dNDT3tAcOtnoh*2?-Q|gloePgA*)C0ja&7wd|2QS(`vfjtXgWs zeremIH*VlNWB4m<$02rIgBfhb*kUZ5eIfi^GlVSGK8Ratz!u?c@o^^&TT-zVRb}jh z-<La7Yw%a^FvWqCbqzni{wz65`yMsl06o?B=>5<5fE6|Q%AQIeFI6p-8oohA(~SR3 z$xx3=9ZA4z(rq->HN^S;K7}9T9M0u1@Beo+)|6rz;~N`6-uPR8-+cp+K069DW@%po z>{VbNA2a94ILe<OERtgGffy=a9);s(OL2>034*=vEAME?StiA;gt(GEsxakToYK<( zPw1ly6Z~=b<yhR(I^L2Xj3VFs8{f2{0guB^H^8@)-lTL-Urj<XDC4~Sd_{)yJe<MT zt;ct|-(H7xs~BbzeBNE`{JTBN^|o~<Hxz8-8{zaU`PAu(<PVZh#ls6%8MFa{`pzL> z=N}^Eg1at<@~P!u{B5C9=v;afT}S_h9&gC!J}8fL|Eh1+34F$nO#cYL8Ml-8kJ|9u z3gdNE6X^O#_=d<Q@NH8@*c0o3-(4~Ap{V*pIfiMFz#n@l`1SUVhJ|o~P~ZC#_<gr` z4E&zx#S;2`Z!!EH?fo0%eKNL3<jr56z!VMug(qV#cf7vlVn^cgk3efFqe727O0LNG za!37|hi>UHv!)5|(Ig1>Mc)kK5})oJ>stH{E_HRULa&6?p`&*$Kw#I0-=}(Q@cYZ& ziSX;{-2;{aJQh%~T!5XuI=up(vwEk&Zw<kDu$R{Dfjtd;zo)-M_ePK^%nQV+-b3p0 z6M{7tDB+zBd@rdV*U&CeGWC`NRNDIl{Fd~tgx`A!{-j<Vx2IzWQ2n4kSNBwqE*vdU zO(p!92<<$QJD21zKna6X44gU~Bqd}?B}AgQK4}DB+gkzei3DE-_~``S1Nbw7OySzD zVQ+y10i!KC4}N>1n4fQ>Rq%Tw>VjV(ilx#K-2--M3QAhtuOs*$6a3E!{y(ENfO9_j z2>iAZ{Ih_cM(}^y|Me9{*x8TUZxXcMi~YD2nxZCsGCW@eyhJ!1igiziIz#(MF)xRs zxXoUPPS9ijB~KJf{t%)22H+<Vx<w#)jH83!m!ep{yQ9_cyCdp=-xmn>_9zAIl%;wG z^k_jprdbOy3Bu#iEPWC@AB@g|-?dS!15ZZ(1Ac!IoeICJqjTW*F+$r(QddSfh*=K5 zN3LYT*qkkm?|8gd!g!6x`~~@xa={qvbC1WLGu8#8C}kGJGeQ=r{nJqUp``Zr5-!F> zk-ikD8cCUxNtqMK?_H$KV)AY#T#SnD5v$C2>;?aRu$s()8hz7;W$FZ~oqf1gX@sg= zqAEskO;QMrB=V~!RF&ji7ELB)Uyfi2^ha=gqa=qI!MbxZf_1brf@S;-N&Pxf2JhDZ zXAHEbmz4Nf1ebd%0w-tCqkJTPYXob}*~sI%p@6riZ(2F#k`eayUA@c*FA$!m0?#}8 za7&+v;8r;V6pZkEDPo1+Kaf(7MX=s_$@}5ROn5&?I6Dx*+VCog*++PKnQ-xZB(70U zMg}xW--k7-E`rN>nv~;;#5HO;p|n1NwZ<L6`u!`&HJJ1ac^{5_B7*hmXOUs>yNX~u z9AQA0GF3d(s)*Dgz1#z>P)OcW%eTUPTx6QkRr)5ZF~M^$@@P5q{8ysnn>BCBgrD>l zyWo2%h$=3IRlO0`;&>!3yo`JcCV<|Ig8=%n;2sDiloGEWl=d|6McQn|-`ZCDc4si6 zS-a4&I|KY0izvfFa^Cka!g%IJz_dJPRaDS{T*vR=tGpPOX>Vo>{6Zd|0b{&!&{Jij zOfQEKdKs*}GQ3%?EH6Gw%y222C_@BnZnFT#LhzOnypsO{Zyw;3Kp5Yc4r>}2x5%3| z1D|f^M|JS!KBH46{4<)z>s;fT5}~wVAO+E{E^kLCGcrnNJJRzv_|o;Wd7C2}?oHWv zJX^_x52G}!r@jhWf$jnbnCE|`-xC?2fA}`~*Wpb2cKR})FZ(z8FG%!lKzs2m`kD&O z45Mq2mx4RJu>QM6|0#)ni4Dg$K?&V{%80-9R|<J~2x8;lijl4dA?F~d<Dp2NH+?#; zdzy<XPIKy9VpEDec?PyH-szg_c-g9Mq1tPy5?cabzX0?)fS%Dg+IcNlV#B-CEfDu5 ziE9f^1^P=NR6vN!A!h~}F$nffDwCR=#><nm=|gf1cO=P82<h97$b_m0HI^y-IxxP8 z(tisc7YQ*6ZlA@vGh>lp5n0{l#cl?%X5u+%PVAeYO8+s8yuXTt;I1g_>zrZ`doJL( zZLzi>(XB?AFeno1_Qm2S+QzpLTHA<5pfFlS853us=VdoP9>;j7=ZiC2V9&e9O2gq2 ztOc6jl<ENOkqZU=?jtDgW`G_0G4LjU{CdHbi`%u%iv)@>I#ccN?ReQxKE<wudw@fH z8IDXI`x|EPNp?z~>4bakCw}HtSHNxf+y!2xT@E)_6C5Uv(#eHweYsBek?~Dh`1Y6s z%L;-M!s8HtM;_h$*z9cl&kPMWHS3s_f<rV#TV5tIzzKLZ*cM>5e*?b22)m?4q#s^E z8I&A)E7si*GuGGy^q8?q2Hve}BgPuzEyx8Be2Jnsp7tnCy9F(eC<H?!2|Q1d?3Dsq zvXDmx4`RZ+jk#H6ql(~bfb{#K8z~EJ1QcNLSbsygu?g<;HCU8jhrm9b@XbFZ-t)k$ zp_EOR+f!VbP8rYx4;5FMQ@tA7D-OWeuo%K*2(uu-9X`9(DVv_{&^p=a8LPG68-U|+ z`T%Y^?8P$p^on%5o=3VYKGyve_|Ix0;D-u6y2=RlL)F?D7z^O09Q?v}7JA^T8{lJh z8L@&2Za93~gFS3yLMQBo02js-Ouqtx1;Tg;V<F6iFbBds2;~s)y=_|97)_tv;7zxu zfDcokWB3~If?IP8b|ZLQEjtT-g4z@>_y?MeC$KNEn$S;kB$Q*jX{<XYj`w1X-2(qp z34C=2{45UYaQV1w%mXf0*+>g};HV92DJ`sqZ!g#3-4^(U90pI0xL;7L`!mtvHNa`u zVKX&p9sB}+O%$Pp>6jsC;Tz+Ma@aS5eIV9-Qp|(zlfXNQ`w?iHaGAJn|K2us(l+-) z+H44zULgdbald_kMYd~egW7~T)1JO`HBHc<_t8S?57eLO>vSGd#yrQgG6&d`EG=|J zcFo*91K*b0?Z$qG6nsz2BJ6NeI$ECxZSpPnK^OISKt7NP(s>tnbc#;k5&SL9wiC3_ z63IKEFq&XA9oDl2@bKDmbEP7zkthEZ``0G_HTlEe!1r*ThVWb1J>V7H*&bT>Tcq4u zYllAPM8dh=HFg?wfPwp3v~W0LK5CSt{us#LBVL!J5$mpqHG7}1|EzKdV6U{x47i*u z=f9W4>Tp@H?!DkAz9fdZoi#a4h$d?S4^B^U!Ce6Vl4%L9{1a*5DGU|>sA+9K!OEfY z)q(q`Yh84n!k^+yG%Q>_SHf`ik8se!`N#(G5K6?JnwD61`EgqKG-8JPloYH;Oh5-t z_2J7R_}h;UzJ(<U2gRmu{Bq-U_@)f_qMFmZQ|t*)q73Bl2CU8Cj#?kIIOyl^!8fZ5 zJdUuADnA>GYYv(_5Od#ojQauLzT9#5@)p>aw{)nN-+lcG>_MKnrQ11YN6s)gvRs}H zX1N0P@z{e2?~H@j<v=O89Me{v#gy*v!+uOx%`|)m0mBo3vPY~($cv%9U<VcZhT1bK zv!Mq~;^Q1*X$#Pc{sjJFEghOQ$$!PrO72e`iEF;!(hQM*0vyrrhw&GW2?Ko>j}y56 z;QqT8!cqvh|6<+6efiX<pWcJ}_nR>O(53`GD|E&Vf?mPsDlo8u1KTWcdSC|DzqAvt z+cR7u;rLuH{^lZ<%k~aE*_Xk|=`FeFF9N=Hw>{xRrt6$H+x3oDZP*E3iQs?R_rF+s z7r3aZwSRnHhM8eN7(opIb(jG}P|paas9nYx9Jwi^Rz`Ljz-)t7oa}VS&N+^vMP3TQ zQc+X0tDOqQI7McddAiq`@lswYDT^rx&PLJM+-CmYXU~Az<$cfl|NQ3jdG?yU*4oc{ z*6mrhXFboGEsXe9pF(`cw+ZP`sZ61jCNzp^;tKxGp`IS?bwaCMi~FclsjbZPVhzS5 zee3j>ACuDQd?ZJW8Z`*R&{|Hosr+8;TRBH*rGE9JeW0BEw?m*CwT~0iaifw#&&r`c z1==_27rFRlTTq<_hAUbEC%1$qtOyzGKPB{DS#L*xThqM|I-_c&pKLcY+H#E6(dc1I z`iwX&d=l7E4z@=c>1~nhw;q1OK{tId#TZks!A_LV6Gm9kCR0Goq!o2&MO4!R9Q4rn zNA1MnvQQQ!-l%$osDpGo_5H2=#(E3-C6$JsZ&Hdc=nfONExU2<6OGBht6gyvHUtK+ zsZQK<pAi~EGQ3I9xD0(oxS=L_jllLs-{hRhSGB;)txqLW^g%m^mZ%H-SKz-s@IMIu z;{yMc_@5Z~ufhMYz<=sPLy$*m*Emr!J}QkjUT)LsU$kjXZqvJd2$6XeBfi~BrPzk& zRJTIh<yGeV4Q+i9+U`OC@oj3?)ZS@aA|7r7P}`<9zw&o@q*_kJ>#_LCbILPgFc#El zy`F#e)2#l*SO0uf*+Nf6%b(Csf>L<&lRtXzqkaPW1UOef9Y*!sok!~=AMSWh#~3tK zJG7DNHWaffP2XARuiu9KCYM&|o(AvqdN|(<;db!+KBWJkoPPW(KFB%feprAsl__c` z^~O<HKQrPK`FU4wwwx=B5q-br$tpij{(cs|R>>3xc{4!q4Rg$yXlK|*_j=4|Ki6HA zM}IG*_4*Oa52!~{-rni<x7QSmL<7C_^=|az?s0jLC`Id~I=%hxk4h6zqrV)7f@DhG z`d$x8)G{T9`r|-J%p9Fe$(x|0zt31d@+wMr>_YfF_jL1e>6ZKk1<SiNa{i&u4dc$j z-e0GzlvDoO_s}(kHb8BJcp$YAYB$dUb^xB9qZc6CivD*D{eGaIm^xpwS4(@KtA!Dt zwU4~-DfGU5eM$8iP(|g>iNzAlHTKw;i8O{21}!jL?rEmZjrQB_dko(_9{4UAt(OyL zOEel4$()3~{=1WS*x!5pTVC`KV(w~x;CDx*m=piqm=xJVwR(9>`VVUS@|biB+U=`7 zx92Rnf+J{GTpp7`k=O7m#-!k1^xxn>&w8p~Dc4}71dZtj6yo7N3+lcQefVIX8UM;< zJ22rr)Vuq->G^^Dd=b=)0H=K2JtL3G>*F3uTP5Qv0xnz6uj^amZ}XnD2dG5%cB2=| zy=FD#4D}n2QU13$Z0Z@}uX@x}V=wVn><NN0pXW!+n#SZrfxnKvs%>8LJKQ8BkmuNb zKb>LH+V8ai{<Wz4ZRFX~7o6jAtB{{zDBrXL)Fv|k#H$9zVrr`cJdDO^YOj$0#jKxc zI*tFK@+@r!q+xdIG`MlIORKSjLZ?&(-YcXXfL(yyfM;;ZG2#Gy*M;w5b4Fnev8#R5 zirV7X><aMWp@OFTqjFe8=w;8p>)2!le=dbAM``F8?BL6?*$;NSU;07E*n;=kwWaU1 zhZo>3a@)JCt9?A?H!bqqsjK7t6(2Ue2W&LknF`B0nRp9Z!5UA1KU2C`=FepC6Y+m+ z4)(Y6q6O~arup2(>YEg4p_3S$1vfuQLth+LLhAB=V;!jNRrSq0A0JQp*zW9E+x_h< z_6+8LPc-(5mo7LqN!;#Dl4yUk*VD`Nj@ZidMn1*0eH46WPo=cAw?_);<tv}+?YW@o zjV#_KHQ31ijDu^dREI&U`IP#FlERi|$;4d{_S%2D=`9h~1}_EZB|0@ZAt<W|xz!wP zHw<zG)z=)#Ie$Er_R}cgJ-9JPd8BW&4GHp!WQXpp{r>q9alG~WS&Z=*vwK+Vb}GbJ z^j@mDf<T;+h?9aiJi@{PaWrzAUAph&RnsT+ELy!n^vV768C@-W_ZlnUOY0%633Ika zMoy!nn~D3>%>WmyGQ@okAe|vZAGI3|P6<{+$9Gg&a859CM}6N=A1R>CFqpeHMF^{< z9mZ~GL}HrOV|`6|qHoh1hUW~Q6J0($cQtHQMd2Pm4NfxI6!gy~xz#b$@_e3^K0hC& zao#^CtiEDSXlX)vj9+$8KG|#f>lJAP$+Rhfoz{S8!Jz0?Xk{u#9HQZu;kyw&8{rTA zPWUqjpNjAmf$;Q(rrf4E*bDKmJH|&~b;5`pcA6iBVSc0-tl?nj_@=s5i1+lo4laNZ z4_t_5yET~k9Bq%k9P`XT%!NHK$uYHqG2;+3;d0DDoR*$la?GKFF^3>#(B+si&OJzd zV$YLu%;3S8lzQTC#2nc}D?x)0F&L9lAA32boI2rD^w{N?k%*ZBE!U8VLR~3V&?#Fr z%3)yai#=0~ydJwEuaPHdo`39$JZa91ymuKmrmmaT&@}seTE`6HjX~TX;Qau2hg`-B zEQI%RE(Y*krdD%i+r75}Z<o9_C%k)Pyq9YrX%HWCe!aa0bRBIUH|Tfh{3<)u%U+!o zs}*aG`hZ>-CmaP8o7(xo_1%cCj)Kp*FrV!TtkZ@Z4=xASi>9+wI%lfJ+Ge0UZu>gA z{HEBEa?5|$SYr-4YLM@P<c|-L%iP}%h|+O5liq}KqgirNHr9ezGbRqEs`<)=5+sWM z0`570ef$Y+c}DE8vQ5%q-D>lVO$tz-KRy(gFXJ7NjTyaGTTXnX(mX7agQUq0bA*$b zg!>P1{u``3ZhfVjhGLcV7Iu68=8h_R0~}yzS+hI+-~f;6Lti=q_!Pk0%IFTkeGGkM z9bh?bQ-M3rc0yY+baI3XE~nItwb^3V+4g&}D!F@wQ#zT?Oen;AX=z=@lF}0NRaVbm z{P=FZGnc&%y84wpTwg3~uEsWz=FWEkY^pX{(W!>cE(QA^e0h5|qvty_6+>ZfZE-f6 zIPgWJ^LRT`(A8lrpmC(DV@bh>O?4f2m9mrQ{eh0>vNM}Rynp2IV^k=<g$_N)?by$@ zTMLqL|D6r~*|B?8`pGKk2Rj3q6*jobkumGmqg7JNA^u|AT}*s#^V#<6aqfKmify=~ zG^2DEV23-nN6{1A8WtYud<qo2-Z3jMuFb+oR);q>l_>ag$68P%;{B+Dovfa6XV03R z<FlGive&-nhV1E~8(^KR%Z(B%13vHQRu%9)`QPKa*6nzE*4dNnlxN))XglwrjX3HD zM&Y#`FRZA*TC1YnfKfQUw2(sNmbyj`Nmzlg@lnLcZpYUN+4ROV5&x!fm+IbsX7%CW z*KwnZazi<@X<qM`DZf!k&(s*<liE?3JgLJLt?S@4hdS65Q#<x(%4Vw?ps@hAFnK%` zMlMbTH%Lo&GTB-aX2OZMHAHvh7)EMXk~6w|3C**lle*xEo12(KHZggBQFd{b7JGvX z<`>B;oETB3ppVgR%dz&96;<dl)FX&8>J^{Lcl7*pnnjiyVHpOE6l9&%Zr0e2K?3KP z)T|3`WRf3t=4RF4YqgM@<wUtr3YRe_0JFcZU4c1)N$_Kyg<WZ8!mZF5YBH&9O!6(x zY1xpi#;j<1whOq9UWIEc_{Xns#WV4KTp1#(V8%}+T$V^%O5XJH=MSvK?sqM;ozmQL zY-Yb_y*IO7hmx5~Awd<=OZm_%6Lfu9+??d{DF@cbu@mLkqY?W7uWtWv#QvrcA-FNR z592(m7?0a;C<W8=?%`-}A46}4-SR#x2Yl>i5>DW>DpJ-gfSH%!q??I92Oo`(_H`xf zr~Zg`FfgW9Vp3KG*Z_DE@HWCW!+jkt$?DZWE~&IWI6DF>oM)NL`fA+YrrY3=s0mg_ zdIDI0zl~A*QaAA82`}AJQy)}-uNWKR=4`5C(N1)@yBi140}Oz8Kms5UFcy#m7zao( zrU<p=8>R8OS|P0Zv=CkmNkpBhI#jQ$j?lxRN_-7uq7*fun>R|6P1=_ue+p+v4}$vT z@J~3bC7_=YC$aa)`)vQg9l7YTp}2=h`E3S}R7HGFtPr2GSrVH^Lkqj<(t_D)>t~Kv zXR#;IUn<y1=gQxK<lcZ>&H0fp*FRSt3BJOF-q{1YVQp$|)~utB5vP=Ght-fs-2S0d zS5+y!t_$sCLov^q;C617I`i-Bsi3%_vu5F|KK^7<#vw=M)Q{cDwoldbE`N21P5TLR zvw`}cS@EbGvL-YtXB(v1qXnaZ@5RjVQv3tlrKG>Im*W2fO4J+73C?ZO_xUZ>vCugg z(X2?}F|U1(2M;dY-1Mcy)Iq~S9W2Mxu~RCf1xm%#uuetT1qbeGGds<P94#kb%%It@ zadK#<G4xAWfAAGFSVj;H%_DN2#*LCu!p!rE$RDHlwwaMXMM1K}9PNBsYAM5BTD+z? zsO@lQ=*2kU7CBE$6+3x@G%Oihv5#*H<?cpFwV#}kamJxDen+W5UTq*9zut-e=;+R2 zt!y{u$9D$W64h0D!!^0rV6N8Y(+SL_1=#O5V|_o`Hx9O#>LueOmlPW3g1p`Sj$jRQ zDZUKn0ewEt9}#<;z+9}%ua_nx&M?GDlH-75iN|nbGu?!Hu(-E9FczwzSEkX&LVAVK z54H00*#awm&~y(@`Dh%BEL)bnESH}5%#AF&C;Of`k!6ftZ(Ei-$z~{9mYakp8*i7M zHt}|gy~6&UonK{HRk4aIG#By@S{^)H$Q7B3Ru>&E;)>11tBVg8+ohe5=-UC<W3o$o z0s8<inS8+Vs)@%lKlj$$HH(idR@{|w7jv<C5p!|V0=u*eU+e}v19%qjJm3YubAT5i zXK06H;2J<BU<05Euo<uw(t@ub&dY#*7!{LInsY-tLqoBCsuHctSgsjspcHoMojs5C zxMoQwal3iO;#pyxnPKfNl;o`_-Q|j@n=raPjXLL=q5C$4os2q`jv%%%?SNTyZIXU4 zF>M)IDtU#m0xN_~QcLp~IsWW{_<dcoAUc`$ADmWZK&#A`*f)LC%ZtzAE^TW+FTU9q z4bH)fulJ3V-MYRg+5Jb~H95%worc7w(rq5xCBW!IBhDRt5jhdrky(+MXj`xv-FN`! zYk~QUgf>L$9cpjH^QgXQzN1Ar<Q)(HjQ_-=h}RL{JFx}*Y8b125zr5yGcBC=dRcL! z*I;Gzv^Jx47At=94z-zG2&whbDvM5|Sh4#ZNLb3>R6|lSM$kb*{y$p!f)i)H<!|@Y zzbCXS)^Dm)zP8F5X8n8)FJ9l5B1nZX<)3EewN|Jt8QU3+Y@h0tHhu_XT<6ay;tUTL z^?M%fZiKc{<v&c~o2yi?+5T=;nIL)6`&FIsTvJvZ{-^e*m%cMs@;obR2Yef&M`8Cv zr3c{N(M`_++y**XB6&8;;cvj_ChVtSUl6i`X#&l7QM&T1*I|Veo<{Pllw-b%nAdeD z3u!_GZf=K{(tiKIImZ_mziEHiAOCJS{$9k7AB<1y!0^&tIlHoUXI}Z$7VN~(mjh=l zU%-M4%@X=O%5KapI%A>vI7pT#@Oip%GLqsQ@a@3~y5uCi6v+Z<iHIoAYuy^GXbT=n zr|>mqlbEvV5zz3R#0T(v8~EY`&N6(S2;YGJiGcq{vcGcB|D%Ba!NC;j(x62IHlH?` z`A#(ti;t@YaO@AneW9QBNWb?E_`eYF-!A)~9Q5BF@P9(~|I|B>hus+i)PHH;)qZO& z_`GHuc4qGES$Cnvd`LWMpN~A1OY`vjGjxSSm%~mL&hZg;e$*<T=kESFnd(*sE8e%g zK?ws?EDof$P|o3#UiSJ<*Fe}Ufw1iU@tMXs9Ckk=$`x%Nu|&seXa_Zk9=p#oqdz@> zx5^96`RakMrv|=GkueM2H#=FiIEXtb5E|Q0H565zB82Me(zxDWGZXijW360@hs4k9 zj4rP=D+K$X-d*iuYC~Wr@L?N$5rceJUVPb%yX*GoOwu74o)eY@Z932yG158_cSWdQ zhYyF00bmAz`u9C>9|1fKcpvaRfExk(5pXpC9sbV%Kvw$tN8r8+*td^kZoZji?u)3H z{srFq2s}r8<EP@x{$~YggngnE6dds7wcuQUnTcI0b=oH_&@&uL|1XlS792E2oi@g; zXsckH?Toz248~}yXtUG%x`9?cwd2Qi5vMoFD^CBZW5_8cWtx+nUSpmDiO>(R9{fn2 z0sr9)lek~*hdfHwgE5M<Kt`coegGYy9#6gRgP#;^6!hbIJTLpsO4@e;-)?DFJbVDF zwqZ>dtmmK+m194Xv~?TXnTNl`S2L~Ckds?{WW&VSg0)cyEX?%qVrDC&X46hxkv|{h zk8Gvi&Q3~n2em!MBWL_E<SYahgy=tR%dL1=NXZEJubbNO!MeY6{D>9ehtR$2UXk80 zcHNil!7GTbTmvfa?s#kkdoAYm>u9e07FGmlusb@#=E3>0KPOeli5363K(0(U3pp#L z9|AOQY3Cj${lzT<d206ONnwD#4CLu&FIh_Y7WejUKs^_u4ynGW-icR#)T@M)g%+o( z7)kSqFDs0GuKoDnJfN&$O74`*IHBM3mZZlyVUcrk*5urf@(RqzL&~;8m(yeS47E*~ zQ_-jwl3*w9XnCxa?m?b*tV3&N`B`T$8k?pye;C*1roFLUx_Q{!+i9F}AWj&M{mf6w z8NIfb7l&Kf#ADEn5`X$Q_F7!+%2EYpZZ+6T{Y%I5gS!DSXI$X21A7C*&QxIka*gzY zjZJNaU4vujUB_IsgQ&yG{BvjxzNP=*k7XvGr?Lq#^V{4E^<k;O^qL!TFHLJOrw_$g z_b}G?1M{y4d44}x%TD90{J0oM8?hp%iHf><g#E{x{_#PL*jJ7ahf({Otr;S119LX& ze|~Lb*J4+YZ=x}<1~$fbwewgzUY_?c_?0z8%#FxR!`@TG9GnblutL@(rTWM8B;3r? zVSj$8rUqIO#$(nd^#o@_+A2kLl1;<@ZAxSr*JKd3m!`<JR0s0226?LlL^j0avM>5P zPe1~Jtvy``UH`soU_U*o6sPL)SZ5f_Nn{S~@$AIO`qYlQG4eexpSli|Iu9G*(9Z>1 z1GMiGoQ#_fr!??k^-Ac_@p=9tk(?9dn`of>7c|eHIYy<KJz8bvk8Lt1H4P;@GP4=d zQ=Rvhx#fA2g&D$e=s!7*UD3_hb=%yY9DTe!xL|X;2CHHN%Bw8-Y<pQW-L07bjnY%l zV~*q8|9E?1?eX^beQP1dKNfw6(fkQ3_4JOrYSTL&*~ir2EJ2dB%WNn4erT1+r@PRj z?2s~#7CW+lcM<RwMEg999IviJT^opLWNVo1_(F%h&2<GBedZx%eso<&N%TV<AIa9_ zy`CR@gnd_gcJgQ7UI$?nm6N|x>uRz47N$AdZpIhcNK4RoJ)g_58PEb5Z7Fp3UP--s zSNn9}osL+g(JKb=Hp(&Upx;Z5S;uUzk@hirB~6{Ko~vcIkzC%bK4$w%kg9|}G26uY z0%&R?-&~*4nlz^oqeXIMtvNA!%E`#`iUXUa1*XMu@!$zxcy0CLDiN;BkG8iqFW=h+ zFu&ilIBL8-*&dq{UHOz*cMSF^w40=xwRO>z=8<1(GNSEtZo5az;#(Ka{+`yZs*kCx zSrr70C`x%WVB_gF(r0cKyJ{)+)9%ssAKaT(k?!|_wn+DB=>9V8xBMM#lIEPp(Jt)x z{~#c}VR778P`DN{4Ovc3oZ(BDlaP~`OQ%h{yyMU>Ldsq3d@1cd((KH?8+n;KJkt~_ z%gp&aR_|Cyu&i!ZYgU8T`aFxf{p+JttbMdt`^3v@pG@?kjaWS$^g_N0bE&oXzq7~d z3HEwDf9~^o*7tfn3BGt}D%dTpf&Mevng0;<QhwB+o!U6HYc);`qHI;z0r2lNMwV4c zKO2Lx2i~Zk8xcPNFcKg&u)06YG3IjO`M!zey0SWRuyaBlGjXPKf-HXq{tvmol(P78 zX8iRihc~=Q;2MXb$L7>s9I+DeXQvF=5#^<g@wseV-Nh9v<H}UW^qCB9dbcs!`nb$! z8(TIK>(fV5H<=?&MIr8r`e=E#qD^}fb}L$S5%p2oR8RgV`m>D_*La6xT_GLhpiL<> z=Z3N<+uO3dq!u;uc0bt&AuTv6-1wpWlJUq#JYWQ1I3N}<84v}aybc3g1DF6v0$}%} zoXUa1Ijm9s{5BKN(ujQ%;HFRoo_3M6q58{<a8P_jmbyF%T6m($wUF4=l#%`)!u=HZ zH){nx(e!qDLl91n_1=-WI^<=vH!5c&>I9q^d5p@61b5PuU6U08fSVm@3qTns{@6PV z@}Yg6Y{(UK<FuI*$71~y1<A~)GGk*<?qWG~h8&s%c|}?&A8FDdeahEBK8a4sE7dWT z1C<Ar4V4p>&p`gK{7>=K4QiCS8rqH2B)Mbf#6$gbvx*bn?nkNEf-=<y(-Ch0U_4~@ z^5NzJt^?rYE0Ym-9Hjqc4U^_h%B6ccoVW{jPB*u6>;4tZLD%R6aQO+~@)NLsr(O{u z7;We~1rj*>xJ=^nkAlA+2k$!C&X$6QV&&oAYdiwK51a4=Pv%x!1ec>3N=6eCx5ozT zrO;W0J=dVpN3e%~6n6*5;@g2S;!W%Y&&EEjV#N`Rh<%<NedYC9w4dTe!qwH0DdP%q z`tSJA2)(U|{zDUUAa9gs=B?YaDc_V|;u#yjBm8;Jl=D2MAq*#D_ty`}W~$lhA!y<A z1g;u8=+$f-qZh2ut04~QXK_1^5&wYx{jCpYW&XX`reu^Q;UxTYex_|mZe(%8&F5JF zYc-Itgk&V8r)%WV_X-3qr&b=*DL$1q#x2XftbKDotCKwEBqkyBAC>i{2`X3Uj_0#< zRuA}9W#hA%n&u2CftiFhDtVj|d+pEI32S%lLXR5LGl%5%Dt5}TE5Y$h;`{dPxtpb( zwnSKzdfLWJ!RbZfW@%S`0^axJGtfNFCe&nZ&g=6qJ<TN^&x{_L`)&d@sk<s?Gghes zW4WI*J}R$2J)W_0yvGpl`)*yS2WiuHkKp~Q?q<ASBfnSR{do6oyoby0cD#SuJwu2R zJRY1w;ETV)=RNprg-^e{rhN!LZ*`ZWW?=y&rPwc<T{N%gkG6t^w=7u1EYDh=c~;6_ zy&N<@-)&p!@q8<PSBCGN?%s{}Q}X*gcz>$98SgInomLi)ck7mUJRiyLcjNt$ZU*+) zFju!O#@otnW`h5%2yf-xo23`EwoC?gB`HRq=RWv6tG(k2pC#P|h*{iyeddks+p-*h zI>4)de*pFYUIaW3coy&sfa>u;|Dncfb8p3$)^6QB9?vS7o&|Wnq1%S{hvfI0@IIwG zAI~&AKXK>F-|p-u$vTtxvVBfwQeOO=vr^`&K99b8vUR!;iJ5YXBeIvf@U$70wiR(_ z1mu36jLi%@;oUFdJzIXi5$~$*AMtLM-><{FPf9}ROqbtj_2QAHWj=uw$@@I5#yp-0 za)`+~31#t<^u9ag8dhxv%mz#V%mI+D;018E!liZL4!E>7ydQp5fL8&Z0@?sCVw}@N zvFb=b0^Ya4Z2%ktbOORhvg%~OEPxI0FkmA5X8<gKIe<R`76a}DJOp?GunqB^1{?yk z0ft7i>NG(7XjXkQ+%15&0AB-`7*=fn=#c($ygx3Naw{xs<heHFZbT_OfLpQ~GDnu9 z{_$@i+UZNOMTAO(ErAcU+}*Oz8u;7+pOf&}BKxd@&jR>Fp=UiV`}_?)IfMs3Yh|Am z@G;X@@cFCk^B{bt!DlOcmdifN;bVl){h83WsqKReiL%VYEoCyToBJ{w??bpw>hpX9 zU3&LqHniN6xxeKeIdm;Tmm+j1LZ?dV`jX7&TS_vYZ7GpMA4I5tP!6FJ5xOLEOUshX zCtH@tp?CM4Y+Rh#>$%|LCJb{ihN7$?TSIC>_IW&x-jHpdj1I;+;g1ME=QHPo)WTwF z*@~9iGam#z&~m$s!HRM;x^6=pm+!VLaz6{WANg*}ye+37yC91xk13BR4=z_%EzD%f zRq|6=bu0b{$xlVqE%?vNPp;}_{AcASQ?&s2p7SlpyuM|DoLYEadE-3zZTFF`znijd z`VH-WbL5yky$c(25%Uq;qh#{Y?|kaUtjs%p$jZF^hb%e9Prcekj4{5Oe}H+6JnFU0 zy?&Y24R-AM!^jttICs{e^X+!nR|Td*pXrC0Xh+oEGvO`)JObDU_zWNdB4b(g6u@nO zzXEmu-U56CXaUR}#j5WD+z)sH@G{_Cz-NF~0FU-N5|9kohWNALE&=QT{0s0YpcU{R z0O|MXgZl<_{JaWy1wi_K{t0LRybjn8Z~*E7b%56Z!DCo;4xj{31{lzl_&EOW0{jbb z4DcP`JfI5W*=B$ghkluPUG8<@NcpP(n|eK8dZ(jgj(ex!>5`wHd(-j%6Z!d}cPjq> zOMV{qPQm{s`T4f@TKsR6pa1ku#{d2Dv(B4_|F6i;ecn|3e?fje>z#!Ed*tWSUL*c* zm!Dg`f587I<!7~bhVZnx=~Buo&j<zBUr4g{dMdqzLRNhy{#AI{DcZ^HZk^Bzd6f%p z6Z{_XcDZ4RAWCOlD5<m<V{i{(c1Gw+z4&(P?CkH^DZUmD@=tkx2YDZ^^Or|DT;hq@ zaQ^~W4IsYw0$k!tpTQ+Q^dnqqFCqAr+CU;)s{2g1ROf$&OLe*(?ni(l0N5<c8$M@5 z-b7d&e#}~J-Htu~*Ub@UCR=svw5Zq3vn9s<uB51X7c0PbrO>(v7dts>{E)9;Kk!HC z2?HxFG|l?SITLMpMGuqoy_21M7Uz~Ja_B%kviczLPTW-Y>i|&TcJc}@Y5Af#YL932 zJ40S$aMws-ofY*DGlQE^xc3vniIXLdn_+MlE;A^LFr=bieH+;Kx#6uz_+~gj)xe5b zNVyjp%2f>J#F7p&RXZgW6C~@wq!aBCIa3>=Do5mu$c?ESF()d+?$Fsy%q8eUPQrPG zx>r}p;vVhR#uOp0ay2CA7-(J_ax$uNNT(9EHxBi(No*7D(?H@Xs*Lo)dfj%10ZLSo zVCjqWlF)oN39u0JEz+Anb2c^Ts_FGhN<miwW2|SBl(1U3znfu5%fH=GHk-Z$wYW7w zK3uaultQ?iZmdTKaAOWPQ-OU5+!Mi?ncVNOV`#K1+Dxh=ZB`|d@U~guYUo)Djc%B$ zk=;k5A!D+{#caKu6&LpfS=t>WLq_yn#`Vttu6O<mTya*yG^3X=acI?kTq>*yNF#F% z^2Eg9KF2=01F{8LRuuaJvII?wZm0F~5LkZ2Nlf2FtjZ?lys8_8`D?T9gbsQse0Drf z`(DKJOW%!n9`_x?(}g*(5Bm@%JU{Vm#PdTRJ3h2Ys~d*@hkZIco8&le`}W{}qmORH z{nK|E&;7m#JnMX`@O(x7YM1Wc`2T|M6rRt@K6+gz{y*(IgXeZRm90L~4Ev<-c|5Cq z6Y+e)_Zm)zXdSh#>5e-gZ;ZU;!Fs9>>zPZQr`}nF@}zgtNps2b_&awXob*f6TRYaC z^sdh_WEnC|`m%=TGKzc2Q`gTVO?8gRO{m=17>86A`Di!fHs4D8zs0A=bH418?;{D* zIlhF-h@9csDH$WJu!G0Ip4?LG>n>dd>vco2lQVFJ9fS9n3cQErsIvWaG1Oppu;PS1 zL!~zDy$iv-!A|>#MzlAgiRhk)|C0ceCu$Qx)=)_P1c}T0?Rb{<GZR$Sf-~qt{cFv) zoMy%^!2dh@*O>E92Z?w0b4g=x{@mmUck)TYoNSW9^}S_x#&~NucKz9jTIc9v+{E!t zYK!fb?=7=3uFII<h<9|l+bw^{NU&b#_}Q&CY=(A=ptkph56@A+Vqw7@&znYAE;;^q zGkvAaz8sEFcK#h~{05T&*5($-;g>^$0$*dj1sin>Oy4^e$uTIOQ?b@&#bsXZA2<^o zLL8^p^D;`m+ey8c_AxbcL#<jvQS?zq74AeXWYG7B`=pHGR<|CDJmYx9F$MAtOHJ+W zbUn@#4S8afnH67pI}(<2v|)J5*eIVVe%?p>jL^z%`2hOKL#>xQuk>*wUt>(cQ)yJh zX$*GgEms*it4fr3CSgb$%b>61`#h(7?^?%ZybWuq#iPF+m2Hgx_k(@H@b#$Cy$`iK z6lYcHlx=(>wcmd_9x+EjipF=XdU9~5I`|yMl}nzLeMweXvwH=&4%$ow&cd~Epw7gL z^Lxl=g^%7?`0`>ld}#OF=ee&*)u1x4FUj&ix}h??KF<R_(zC9FG>3{Iiy?|QqSc4P zB!8d2@|%djHw9OH^Y-93O9sEOrE+cTP`2&R(2ro{!o+iF&^50m2_#Nef|6m79%*&I z_9{$U1~JVHV2W(u+A1QG()cT}DY(hMz-9tA<S^_iY-NMkqJ30fss`Jn%M>YohoYao zSC+@zK^#&*r#PE5wILMt?PFXDxilC&A(Q+P-5dG*s&9?>_8h~b{*$f#G9``t#)BL* zkthw#ZXT}M@ReHuR|DCfAh^MX<8Ecrm#z?l(~W+bhtrfjpD~ZtVeb@n*fv>fF+N}N zJlOjg#%G0<nRv6yGV;zIdk<Ulai@}}Ga}fH*v{)?%J)Op%<Z$3r*&vCOL|3ztQG!= z5Lh|YV<o!K8q_u`2)B`Z!EkZIc&p2?r%l6Gna?;9o%~id<0Hqb*5;@xi9OW3h{H}k z(-x{*Z=NV|As1ZVE>ct*GL*X8%TX_e?T(?=Ana)8d4skqYAgILb_!=ur$+XwZ+5vu zI@yprd)D_lU>R*1EWhCfppU&liII#>O@rI4!Q9wetT#jUX5EDsoVBBzjx6hUQPmRL z{GFUK*A}MVYL1h*lnX9>lwlD<>J)7nR;deV<5O^V$2$htD`v?(Wy&?Z>TQ}%wdM== zOz=CJ@5IkZn43~QsXP|zTK2;2j9NaiXI`T-`&HIb?1K0_S-!m14E3(|*cGkTyw-*4 zXEDODI+6uVE&s$(Yu2Aq^zu(*52sgsVOTSyWkT50=~7G`_N?9-*wq-=p|UoGwQUIf z6gy0i(~_9FJ9}35otyRjNp{jnH{C3jphKK!vjDDn!<BxyMTN?}GsuX0YjUgdd7kUP zvNfu_zid&C{(%-17HCmJ<Q8?x6;9G*%<s3M1wH?_Hk5(e9>3j&cKttWLlgS{+cvcL z|7jcQ?ECFDWR}|y^}_}4o^7AMVr|`5I0M`vDViUF6esf<(`HgEX3mW=h$^1i(^rz# zxWe`?MsaPs<42N1(|pygDt#L=laJ!WguZzLv+6#)e}MOQ9_zL3ka**E*3$ZU<PIsM z+0q)u?~pjSbMem7J6s0t=kO11-XRS;WNCez&ufjDc*ZfeRXIAZH8l1BZc9AwegA@L z1j(;0wXU8u>P!;)eNi_fYnZc?U2mu;yBD@S-z&?2g;zyz#;kZ)fjBGMw8eY}_Z%;I z=64UHQ*@l5uMn#1Z<3O$DzFlmz9PCTw{_&W3iP@PQ1(q(g%ngpXVS{FkKJENp;b7) z)CIROygurTgEdA-%JJtHD4|_Ic^%n!&*%#VXTnLK=KO-R3>w82mXUp+gKo6_={C%> zsE_)~@vNkH*I$<Y-nj!K=nhG3N2xY%XDqEBq6~uUJ0vB_K+XRPKDoT&T9mT7-Ept= zjN@nPVXJ*soSgUXCCYm|#$ihtY=EGT`+9jzC9I27VnCiWl1ic8JPxI>2&G^GrK&y} zU7eD@j~+z{BvoyYxZQcJBU4hu@DNLDNXSPQ*eu8u)@_hjgz>vKND4sEZaU8n?No*~ zxjU`6!y%W4X0SZe60cJxb-6Z-p%OXJJ5VCzZ@HpO;;aprYg3t|H)wJ+bD|1EA<Hz> znpDnRhwr@XcqQ%yB$boBVVb8FHIe=_ich?xtRZ+#DC~k_Mv6G}#WV63lkh#O_n$at zHI*HtxTLd6vM{efHc3I2P~ZlIe`d(tBAIOAN1lWa`Ra1ENExuaGzM-a+@;pN*vX5{ z-D&mDHxjXv{WE044)ku3a`U<C??sCbLS0O<>R@l>zTQ>H?JK>M1A4#R%T7>$e*c>S z-|gyELs2bsE~+_aW2f)N@0@bk%X+K)`650^eUNB|T@c7q&?)Pi9e3|LixXD7<Hpn7 zr5|;yTk%E*1Br$YR|G>J5A`#IMbl}52<yVQ4OKb<-(K{zdr2p?1d2%~^+n9X&$bUQ z9iBs&-|Wb$E$?`K-J_6w_^=}hr_5vFs$`vKB<VaL6%um%^^TwR(W!&-^n2j)bka!L zh}8#!vZHNS#oAh}X*HFW4A4xnYqXzFe3(u_9;-{8lL}qhY3rERwp+VxDdlnH>4l@O z8kuBSvR13Q8Y5FFB<@Y?e4dzoj7ofO;eO^P>%)bzq`dlXwzq8uAX#()<I|*5D@vx7 zaJ_uQTZKI(^DRum4BM#Y8G<3hfxGR~q)3Kx=pU(G9L!1NiQ9ocQ!~%nEnxii9Vp@3 z)+p8>FYL7s<NW<+$6oVSkZ=D4GRus*3$xF7S<Xhby!^yKz0eqDY*<^j(!j)Tl!h4D zahS34n2T3$ltM8x3o{10VBfc&H}L!7Fppuxll?(74;t4Cf9VSUTrVth%T`#(=KVHv zIObWDe-ZXpXwDendc+YzBX%6!Ic(_X^jK%UME~FI*I5oZNDoblEuxtl7v<cE+4xSJ zlHU$4VK&4#kbn7PmeFnLcyZlYNcqs29<-e>e(M?H!ABeenAKibsS03@@VfltsBE{o zqApM5g4uDEplq~E8|bQva6KBJD;>0y^k>Uo)BitTLDvY-HENKqv+cuHY*$-aS4XC0 zkPfLN$O(`hLF^H9s5PKZb2WY7%N37;LTLDeMJ3o{?l%vna;X0k@D0dB&7gK>&6%A$ zvTSXg4!!dS->e*FbEtl!q|t#v+crueI>_yf%@Y@^Nsb_<{G#J!^L?kTvqm>-;@GV{ zkhiO=pO&-ejv<{Ij?y9>+DyL=JY`5{2+N3}{X3-)6Ehh-HytNG@nfxTLV_vR$&CNT zb-|IGePR)V8-VH%E>PS4HZY`)5x?#W!K^0Km?!d@%b`PdGorIkg|!wNOriWf&OogM zEvbqT-^04f-)az62R{=7eRMwH8FEF;P~dp=%9v<%L#pOx;67>J2KQL2!wq==jB89& zCi-L+z)n0ik@myHyqGy_>r%?unpNOloCemf<8x=h@{A$6S%)=3h;dlXXp}~XTpHBY z9_r)tyxi&@>Dvi9$i`1hFf7SMj+LT}w_B4T4ObzVXF<*=<m;1=)G)G>qkH+k91BoE zG*H@C@w0Wi+Q;of8<qLl#~tbw9+{v02!2*|6+c6NsJ+b3*2+5eC5+vEe%9GXvNKUK zKa)C2YNvH1);`+t68P9-0e<!<_}NhT=EeX&(}JIUEX#R?oQ7sa`JeLCZ*sOKSVNda zye$`b_@8-OdSObruDshuyp0*0br0~i66`(tIol1GdH?_8Z1w*&XUqOSa<<Fugyamh zu+wBO1V7Lz#D^g*jPv_Ovd2l%!ngx|a1Gj0WCL^|2^FPVXPX*zu*{}nE0%7ZP5Y9# z8{O{@q5gcxK`T+nc;TCs4d`E+*cugVf0w|TC|3<ja5b#hDcc)W$tS{SpEDD3i%TA< zBmG89LUAFV$i76Yd$d(G_ta;S!p=Xbcq-^gk{KzMwICH2Qvb&K|0V7zb_>77ANqF+ z747qj3yVu4a(Vn?(Ep#aA#bqoyW8xyI;u7#6#h_nS5ZRo54N#IcNG^GK3Di$F?64J z$x7x-?5X%XdjnSZNH<a?@*y>FaWu9mt=D9Z$Q$6-w4bI)VB#Yn3ozNo#%bX;`=T1t zu}AY)Ns+-`KV0+${Rb=G*LyE?JxlyKdlw`DXp9m%9$lAYeF1#>5%6g`fhXAxN-HgG z{&cB9X(hSr37He}&^w~pI5qUR(6}$kW958b5YkOVdXkroi--GcAYIcH=>}buZfq&d z6{L<#$PJ7Q%q24MUQ$bQi4Qu)$!FFVJ)g<e**(}p^!K-Ez0hb1Ju+9%9+IqA&L2oF zmF5rcW3DiekAZ%q$|k+W*kw9JcXRm4?T+=(h@~)I#2k|3O?<d4laAddwLxKxsod(o z&11w_-Z=MCNAY{n;J*fNnc<MM<M>XdxSiwA`<6#H|489QwbAp<^JjLrlc9Mx+@-NH zkiKMfEbPsy>q$Qs<R%R-#gfmPzDsV!wL8r}9kWB0=w;H%t7X(<8W;mp!`2{m9czFU zRjlz}@NI>x3j=Pgj-xNPLyK@_qb8H9BAa8jM$#|_+p_RgHv9i~;Xj=ez-kJ${HyUA zxSA3xc9LNQk%eA<zZ3-JR+}AD8G)Q?8>$`a>sQp1cB$CPXB}&>^PMJf*M-<g5<)Sf z#(d!<X^UbFr#TKKz;&wi{3Y*lE)`ngkk*8se6#PKBV;GpDHlwfqB63Q+4QUf<+Fs{ z^g3>*vFvsS^0q0-Nj0$ndip{enUwpnE?DV{X|^=_JQIARhvs>tsGw2g(fznV;q&Ny z#z1Z><nk2VbF-*qs8qE0;-ag?&7@3sot2VsmX)+A7Nd)AYI5aX%+|s%3%*>2-Cic? z8y8!314<F~S@SRV^Nv%HgL@M*o>XZBvmNrM>ZY-dchEA}$zQwAN?+~13H@-Xk4?Jd zL`+y+WVC6B30=#;^|N!IoAR>Wyu+ona@9W1r{1Iht(2D+T?47V=w5Fg?u3R~`&nsC z)i3Fb&Z4~R1I8yn9hKj!ZmwEu{qz4y-*qy5F~33IHkrNxx4&()cuO&FnMY#@>Po3* z)O2Q%k9Vb9cVeEbRTp{vo7bLnE6$G@YK?~Rxg#s}m5({99VPWl@?2M<HP%Wkp25t4 zXwHYm9lPVk=F!#*?r~PKig^dpor=1!R{@aQ2X+TpN!IXX)JDWf)LMc}Q4RML|D=3V z1T{jXL^BaqO!9tM|Al)@&)Qx(Ye|!0m`ABDuKn7r$wHs-vbf<uA^v)ZK|LfOy$+{; z*733qS{#ud$`|Ez;9MplH!+hqyCTujWjBCpCz#N$BGmlYA#FH`s=@vY@%Al2PqEOQ zQ(O|A>5oUDcEi=-Pk7IjL?WDtJXd&*_&fd)f7j;xU|aKJFvA#h*1a}EVR7N!!gGa& zA`YVrWYoaZb&yY6DqFEuQtMvj*LlY%m`r8?WBLj__t-|eR@E@G)x-wrn5xGd3Rr;F zb^Eoi4V?Q>JXM2<F^Mb_gj$NUYOJf|n9p7nlj6~sHdY?fDCbNX<s4_|%P;3$9=)#0 z{}|-oAD42EF{}93afYA_BB+dbDubaY13OP;5dOPmaNiYW@KZOH##LpokTE6MusgV@ zjPd7xv7CP%`QMGUGmv+RGm!VigL$V|iQNOSD2~_=of|!;NVa@kR9IB<SRDr&*i1E3 zOMZ4e`EhXBYF74P0zQnMtLAEhI<HgmV~a~lg-A<rVVj_+d0F6VQc7-?hJ^&x@GmL1 zu;PaP26MYBxK0G0<xClvV`^U?W>DlVv>2i^R^7spkKueYhZRllP?$1X-7w6s&=MJ? zMF=bY!RxP6()CW^Wevl!gRH}#D|YpAJ8Y7}E_%^n8>i>U`nG;`VLEZU_``)NJ**ho zG79-3OHl=G&hf>TVouy5&lvQO^dafQG7~EXy@R%8WK9pCEGGPPVWu5to8eeR4YywO z43QYD<tQ%ZKmAmSdg~19Olt^A@nf$hTV<`5?tmt?UMH*f$NC0qk}glT?~R^EaSqA_ z+O8kBC-1YU3gFrb{ME48Ik~C}XQ>MKba_ttlCekP!@B08=O3^)d>iI8{`9k~p<7we zA*Y^dec2Ib4M*zhy+cq61F6e#^yrUReRYn^2R;#Ud0n0cpAk=o&wnZ_pUyl%wETAY z+Yj1NzG6doZulIs<ywxKU0PCvnq69WPT*?x3T%y`WC3ax<KjyS)a<Ul*HN=<9BI`# z;Zso!HxUl1=kx|8^pK{EwB0uHF-AXZGWcJA`S?pXS@*{g8-~msf^?X8c5L#<<s~-> zw%bB1%L{9e3iim50&fVN%xzI%3|`t74~?LH{DfOV8rs)Gf1?eJK1gB9X>MEusTRz$ z;^$oS@KQY4b{AQWY`gQgjX`$ZbvY?E#<0}(vMr@>X`#+w*S}ntWW|^BTWxKHtoVXF z<Gm&~DrYyiRVLGH(-npqb{94m>WXYdI_q6amK7C4UvX7;kj%3vO*Ld}I58Nt2^+%9 zII9+XKNhF-tT;!4=6&Qns}M4pchT6wnU*n}=_Kld$zV*d9s807q73X1R?k7}ai`?( z$rK)(qsbz<$`Il3MSD@Lc}$Zk`{*LBj7=NWL?^4PE(Ed4W)t28;N_GCo5_mX-h}Q; z_-S!QuCPW4xIezUuJ?k-iV<kpaWwWD8Szse&04lH;1}q7k%C3k@{u-P$B3^WgwDvJ z6B|4OJy6G)xa>#)T5D}I53B@k$m$9M|05e%%(yP0P5U5Q#cpR}wwk+-(b^)tffp3k ztpaobGLU3&Vy$^FS~#leIZ-Qc;t-Baj&aorW|8A+ZO|=h^LdW>f~>fqA)HbDcmi_; zpDBh*x^${|8BtffcrRR*-@BNk%zx=eb{=?v@bbW`uqs@X5_^Ku+$Mx&4>gC&X|YHP zyM1yxF-WK5IGsHGemYFkjWCc~*6>svjrcTwgib)adD&5A(Q(T%CS?M0Wk9+vhC8uc zsAV)KikBJ02>zE87cV=bEIiI6-RUw2JB8t*BB;Psv`pW%>VC@q{?6TbMT?ha^UfOc zEiPIEvDHG>t<4pS`Mcg*Y?n+%Ui>#C=C%vpFz+9ymCsGSqGczP?*e0!3n_M0&Nql0 zQsq!iM2}uH&8xLh>DuAml5=ZzjDT~v^BMzo<S-I3DbF~W?d%N69c8U^*O;O2a1&cK zs=07koTz7KiaNG%@t$R5O=izxOEdWGpKiv}_@{ZzSLTn^J=8oi%bdO5{I!d%o|!dJ z{v1mG3sv}Wwsv~`Q-V_DmFz^$6@eNFI=)U=BIvtJsi~HAwr7?;FMM0VCVwZGTa_G6 z&ARM2n_Fk5CR?Dn1G2)*xPQ9#l(N&{XU4dc`fVvYZkRJ+&dX-r8FbP9=a<bISN%of z%2%EB7wz)1d8L}L{3&5+vPEOrCJYrr!$VxBgy%})y6iLKM2<aWD_jaYIjw6aX)Iq0 z!?VVjG?vpgJ*Wt38o5+o8oiY3^rb4B;>2)PW6_J@Ty!yG*t?kW&7*`_l<)}Z)hv_G z@Jv4SA(J_r!8|3O2?D5?eAOY*NA1yH(+aCe+-a{uEwU*L>1#Dmjru&#V`gR&H`=NG z%8CuZj2Xjnsy}KEoYRtBW4^{^&aM_*${?rT&ji0{x#id+iWZ+1o@C=rP&+csL;1`r zS{&V+j`&BF?apfvv(;I&4E~6jnyqdg_zyXE^Ch{J9Tg5=FcmS$Ujt(VzK?BsW|>}8 za?dPg^lK!Oj?&B%V>#S@aE`%OYS)<TO~OaYD7h~w(3jE=#>(kkaz?}D#4%h@vgo`f z@IN@Y)ftKJ+|Klae)_|*)|-EF4a7VX$dwv#zIUkyzxucA-|Pkr`RNBa^kIzGf%2Bi z8D&g!H){zms3$5gwvLs*81968WA^M!TBT^Ln^5~>*dead!U@#~^h;pVT0|Y{kK_=< zRWqRPq*{pRGUch9#7`)MF(8()!yTIFr*|?ao9r@zGUs3&7~z-Z`WpMx4?||fAVdoz z%&BroGxt-S0ONg;t``+Uk4FnbRbk+E5uzfzXxU_!zRQjnMazyV_~WPzj7>$0hj-ac zp-rQ0q>W2lMJ4A_I#Gf(=Fgmw)=%7#D6wHpq)B48<%oMl><7-gMxs_RNG;tY7jct! za{ul&HP!<SM?2hRQ3u@5$Z0&Y_*1NHsI5}ll*<uql^3Fxfrn%BdW+24{OuE?npnIl zMfe;%gw@Sct(8m+(|Pl%Od(WIB;}!POgd?{j9EHHS7jQDTf>ST?mTCSE~Y$&h8MYl z$K&*xdqS|D(r0Wf89hBuRE350a9&+&7^9No))t;dt9v&ryCko5ZWz}S=GBz2)AL%_ zEaQ`xLq47pr{1*a?%<>lq;u!e(bKO^si62HcbFWuYw2~r2&*kV;5J*%E-m<l|LNk_ z+zU(eIBonTEd_;dx})!{$h*cgyET+Ei;UUa8pcI08Q^0k=zNV9zEqhy&)6|y8&Dd? zYcS&}xc9+dd{eOGdw1=<Wtm!&=?YA>OHR2@-n%rLGnudOJ-y^}q>B5A=Av0#Q}n%h zq#M1YK=#=Tp90yZU`g$uPp#}zyX17h=T+Bf+2@oSvg|rGZjVXd%5v}FKegJ?&b+Mr z?EFA4(2kFCp(k`P;X7Rvnw=HvVmHM%+hT7k!C5Dx(yunfwQ{VohdHmY6cm2#Hf4YB z9y*?<uSEOGbMA=ob{T^`{A;YzIpQ2MzjjZ{nx47doPzcEHh~p+mL12rMhYLQ(vP#- zrqx#lMt#l|EPSMzcw9R^T26gs*X^&>2v|SyHMW$TlwXZXH+JQ`M&pvlP0|}o+)JQD z9r*GF`ckwnud$_rrj=b&WK4Ew-dig7-lgc*;|Kqbg=Lo{H#>1<*FCRMDUp;{@OYGw z?Qy|=O3{|VZ7YeHu0lJGYh{po4!N%_{3CA3`YL|eSBS3<@Od7(i5RY|f!3F~CGX)s zt3M{i&U?n>v;>*n!@ti;)*gTrzImSu^d35IV<q2qL@}#XIqQgIn)kRcq|*OCW8Q|6 zWr(RTD-cg%4lP-Lw_#=--iC3(80)wuV2;pOfE8&#dk8oNQq*JKcaWWM)<vm=3BwWo z>r^&A_6b^t!aU64gaw)}5qB7;wYc16kauO0?st-1dtUT$F^zU9UB`*gQ4HQU%}D%A zk2wih$RZ9!^D-5r#SOw8n76P&w>k?1mn!eXGZ-<Wh0rF<FgQIR+V<U`j|n~|_~=Uq z;^^R`gHO?*j}|^!_&hV{qlS-~@C^DW;G=-gx56`m#u8Veu@n*r>@<wog+!;HzBhVk z-dKS7Mda~?0_+4ZF;0b?8|-Bs#J)(6Jw}tX^AxW`4w*GldOrE?=rO_fJNOdUm;H?> zS3`3#l><h2$gD_~Dk&Y~wgOr=Ryb+oPKUL>X+~Dir-U}88pz_`G~;?<A$#xf^+Ghu zbgs6q7b3Bzz0#$?7&;9p;(KstsX~jEV_!A9)s$~)RWs1^&uUAKNo)ReR%*sRP&3Y$ z!kMvRxJq029(*Yz9W}d#{ZmGM$-7b|TaD+2IN*q*dcpV5C_TMLWgVMMGs95_QlW(s z`jrffp}27~s7eKedIR1m*GAC65EaW~-Od{tugo*~`aHvX4#hlTK6$j$%}(H4(}3%w zI~~sx=tmTTNyuvr8qKza;r@(0jtfwrUs@%6DKJS@&UDMIa{f%MA25%**#uZ?PWS=i z4v#^CVR$Y2lv*yi6m0`9x4wv!$u58C8m}nX2)SJKa=9{kUN~I5s3fDy{=lL_a+!c@ zUmSQJa5EMaQac{kNNYY0Yd$sZsNGgFQ`EAz6>9OH!+Hnu%|bfl_}F2VrN^bZn}RS8 z-)SSAbo6%5kWn_jFBkMR{=I$^VCInvs`#%8>6;)iJZMzmap}#QM*W$d6Et`D-O!zW zH|%S;Z{IZPL3$$8?}qLqcV>LpR}V7dCb^D*hw1oZw)wCc!SVA8sZ8`K!(6;jP(t&A zf<khcfNL)bybrkM0{IK7+X&PxwLXt$T0gCGi1v2%9kw0rNSv?e_{c&^L(6|kIyo7_ ze^f=9W>QaV6AH4|Syaw#!fkMQxC`MXx{xyJwV)8KM;DPCN$>v^MOU^qYHPGY$-+JQ zf|4qg^28Zon~HZb*yr$hZj^nGDwQW<O18q6m3=3}x3<Kk3O)fEgOqq`73QYzmQp+a zuDG^jlN?fgRR|}C+$4w0yDCH>heU{F(4kjQGBijFd=ZKvCu&PLv5Ye&Cpm|m)F#I| zb;)C#wa9T9S6leq((L*I@H+)pU}I&@LDUxev<LH(hdFJ@Bb=t>A6-O|iQ}5dRU?(N zZu+O?x@A|#U6frr*GVo)j^x$l_K&tteL$6cOfYmc7sn`KLM>ubF~iYLBGc7u<1NQ% zbq(7d*T7!SSHh7CT>Ozv6`wFl0lT6KgK`4S2ZDm2f0l=w%7!NXIwpRkX^$xgvd8Ro zdJ~gm#ta~@m5X?-iRrZAG%y^uhmSg*Yho@InvOc6p$CdF7-=4jG=>4p!Qc$y7>4g* zL^j7F=^3Q|Ez``V*LB)gYK|%))4k9Zu)U~L>9^XVK_Q(D`Ry;tcWH8>F)O4oV1QGX z&DJ(E&1JJmdq$s6eNfxL?5~0bw-AgnI^!C_BCvwNazxPJsVFg6G5~7;N6^w%&eMxV z&R~hOgxFZ@=v5Tkr8r#_`YxTT7#pf2orxWf(?*5Ci4c=QU=x5fKS4-9*(BJCVKGRX z64LaHZIA6++jlktdK$+YWLFVz)d81<i+k7ybyk!K<gt0-J*+CRQagXnemHxmpoX1R zM*PA)Om>e4+@rD!ZGv5}ZQ8|{HD;qTT8L1MI}t6sZ1#^{rt>paIWT)?MB^&|*AoNo zc-al5uPp$>i`nySdzZ?48pSkP#TjWF(isg)LtxQl>udvXn$Evze|nG}a{!Ym;NBp+ zM2{WxK)WGQZCn*C+@eYVMO8{3D-iz(N|<J@+91<4CGhp+fSY<5ivd_Ht3lULnVxf{ zS5mUY{_r3rvjX2*0`AN~984<mHcx{!3+hnMBs1duplB23(D%Zv4$wsN3!*7~)!i~p z69RZr0`9oW_|kxH{vDuc@6x@+)HespX>Tcm^|WOboqv~^qGqf0Q`~m_WZcPTiYB?| z1!!I5q*}OLeir=3^JP$qFZ6jLQ=~Dk?7HT)jKN%P3e@`(0e54--4Jls2i$dbKNi%2 zXqT~E|C&Ka9mMl$Al^R$?!JKgQowyN;Jy&RgEADE`xm*@`Ud1^znr5wdYWIMryi$j zT@3dE?lOGUVmF*_!CUc{EwpAFA?I+o{2cbH=V<54*y#c8VtirHWWUp*HuSpfhHk=F ze2Jcx3-mOIZac%77zJli0~q{Q0}#TWb1U>8x0v)FB2|0QzgiUfN8Bd;8hm9hT18Lu z-|4A;n4Vm@TVeR3#bh{6v5Q?TQ~y^Qhk-`9MdJj@UOYbg%@ze{G|4pDWg6`=jdsuo zoP4{R(|^#S)BlS~;r_$)oYzFp)VJvw(b&Qn&bH_bU(?(2(=E`2`@fXZ00j)B5t!v6 z+3x~FuUqFYrR8!d&6i6ljVNFu+hHx{Pc4`)Hc=T-S%rYlM`Gj+a%!?Z!C1`kpA>2h zM}>J94TG{imUpE;E~GU)n=SKw9cQY-zN#`Ox+Fq5vneRMz{Yh}refE)3FDE>b7>#e zz}`Je!rc<D=Z1c5uF9HdJtv&PKHE8=R+-VHGn}(s5YC{7iI@W`7|sb@zCKnb9TZ|) zokK9^lMZ@4as7v4)|$UN3hBTm!bvi(V{*4y4S#1-g0PcPWlh6uEcblA(eNPMeKH+j zC-6>gLTD40ph#d6A%9%wu%@ymY_(kQM0X#NVt1c`tg+oeoa__)8;kQ_`W`lOd=x@E zTjU?r$WFQ7*lBLYDW~B<%qgFcXO@tKqP!C=N@({uT}Y)sBT953xmZUO(wOsGall0i z7hVx-AP(&f8Rn!QM=EQj^?D~Su<?7%;~yldB5`7VhYz>kbdb;k6|{5mp3hJ3O+IM7 zz??~exf5v{%)%LUE7rTdv=4Ens<ZxG2+w^>cvyg@GsDy7Z;sLpf;R%+rok#0&FBn; z+Iqyc{oAd)$SlDuSl*qvOh4}G<hgKn0w=$l3ZN@8y@&7OT>f(!HeS)g_e8a7f}pj+ zo-4$Q+K>aCT=+0oUhA<irtR@CUQ~sCBk62;ts6qa$EtclJ&CO<Ral9#C-l+{me1u7 zODI29DNvZtq7eD88%$w6p<dj#m;otm<$+E%TxlD6@)1GVstWmBz?a^+ts%-sY*rz$ zRiim_ff@0%$=a$>T5azOQ%#Rkj7w83EzAeDn@*gPqHI=?Rel7Q{$o#6rRucLR>Dtp z(LR-ZiWm7%_UU&7qA*Vk$L>$4x304)FR?W&EX_G)ZXNc@lo#zw>M(Zt-H8ErSW{4< z0veq|FIii|l<(L^2>-DR>$2Y%+H`|yqGg2b7GYQy6L`DD_7vXiWBg%H*}f2-<rc{C zzOb=r3*1cNX*ZjA(#<7);pP*MQ(ITC;Ac2X#u*G>GLpt8w7Ig`n)+2}U#p7BW|z&T zyP%j!p}m|D3RE|^EPtgHa%3a-fDfl@dZAF@48;%3I)C&0NZWjYB<({i^KCW49?a@i zVh1-I?=`k_f=QNnz>aqbBrKd>&)vO2R=sdcxLp<EiY)o|irA5bEHKjS-RoJ<Yl<Ol zH9wu=b+!j!rw_i^MgA+TJ~8WIMmoO}Y!9#o!vny-yw+?G6iwNe_UWT-xtBgQN87xf zG^9f}_O+sl;a!AT2RvTS*Z^h`m>GlZ0Rw!m#H>Y+H#}f_!0U+^#K191mmm9OJbVC8 z`xSV2%-lDrp!GywTU3h`#vhw%W&T!+QZ+UN3H%O0(1|O{bX~U@-@SlIr$yJbvTUS9 zhf|@Mt=vr3QUV*4)MJ&qAi;yXfTK`WH6^t6#Hj>Uv-`~)PFbj@E{#3!ytz?_IlxSL zu4Kll7H1=JnAh_<R<LW$&Dj0q1={7<TA~%T%n)FVaKYkWtkyZ_H@+=H`E0@dz*@6- z%phzlS*QHzgjTOhI9;f-ehn>PPoUnZu6@f5UF*{fU2wtA=Gzno|8DWje4=5EWX3AL z>>#B}DPl!lvRyuZDm$2Jr5k`g&+ERr#?shM=RNZNt&T5V{Og<$HTg0%UmtCA{}SWv zzreU27-{8HtsHhj7k8?#0JA;c{rax;sroLsw3f5k7K1+QdCb&;Musrn@f+z=DN@=I za@rprZI}0n26LjMleEh@$@A@Q{NHlX-c4nCHjoQicQQ${vF@Kaxa(xX38|wuUan1p z@U6V>MEf~K$VFLEbYU&di5PRO?HM6?KRZt6GRtoTLLu50b3eTm;M_)I*;9hGkN&hR zuJk*+UEa5X{IY>^Khvlyro3wpn!6Oh$Bk3ajIXG`b`mA*zdgCtN|fp3eV$D?uh}qo zUh}A(9gFjtGOuS%_ecZw$E&7W@%2oq(PwdjljDk$bD+i3Y_u(YR!X)PZ#*K!S8aFr zQf$RzPx)xAFkioxB!=wEC&_K$esA$c&9?21WW4bQV4Kdz954vKSBL)Eqgq5Rnu|6P zzG{abBeVRd<2c5u!(LN;@iJ(1cCk8nG^yYr?NeN;7jBC!EQ%?wDJtHm-^k8jr*DU} zQt?`Ro&2_|c;j{llk%pMc~Z08F0aL>BTwJT{=O6*v?E^CGwz~|Ocka0KE|_u<36Cr z^52wLoAk>P3z17q|6i1t_7^2~s{iT|d(HcQD>3b_N^IWmlvqJ*QITGlR~lWW-&nkn zozBjvc5Fx9i+`uY_TXmk|5jpXUAm(VU9z@e6!yI6Bygk?H-e})2+%7I-R!Y8xLx)I z<i=S>+Mu5dr>`Sz48?*bW|NUt!nBLUFhj8JHjAs!S8fwRvNfgx?A7YUHR$>FRBHcl z_0cv)Utl|3gtHkNpQFHi5X_=5_JtnuNwk;EM6AG`5Tsvbf1?Vr4n3YC>`*bC6|h7V z1y_W78{BJGwU#i+Ch@~n=uOQBbBhID4CNImI5Cs|sZ*j{#llH`_zAShw3?p1=fS&s z_FmZEQ*nV8$MAaWSe#NhPb?Lfl+VyIW$BnlO9jV8`;7({R_KuVHQ3ITz61_SqvyFI z^ZtI%zkR?qMP+@e=lKhIfu2|5JFR;0c)#bM?@-L*BpQj1WB#4mXpk`(Ft*waC)|#U zyZ>;}1?&cc?Gtyu=lTB;;~CY;iz{F2_teNZe?E2GU4fj!7H9b7eCp(Ujyld6elM5Y ziIfsHWrHhDkSGq(e12(3jVVr)xJZk^c9T1~gf(#c>3c`d>hskM*SW^bU0lO)iIKK` z=+*lD93MxHGe8}O9Itf`l<;;~k6i=nv1@oPF&Y@seisAfFakN$%Q${MRqWnZlAW8K z#Tqn&^l*tYCB3oVqYYr8awjM%{dEo8c=124_IrB0MA46@t{bF?a2Ry`o(``+FTan2 zDEbUIP6cp8yAyNIm7HWIA3rBchm+(Sk9~BK+F{4W%}o<d1tpzm6WEmNU4~LxYZ##2 z`YkV)xY}B8g=WR{fwY(u!Kp9Z*7MR;t>%pCmJ`e$ZtU9f>bVjF@SZE&)WVEC>Q19J zxI7J|x7lmArU|EmK1EqS?xnNT#gIPv9J*nt-`EvqGgHQxQVtkOX$D{@A{YBgpyDr} zVwJUysF*%L#r*yH(ycu&UPZ%6)xi_}9vg56Gx@WAI<>ncD8*39yJ#h7D5`N^iT4S# z+8o5xFs50XPOWbtyhWuoZolht-x%nNYFHJY|0<VEV@tm4*DZqqC+PPiLI*SR;P17s zQ>qEai-e`6<4W~i4@87u2d>yg_<oIzm9hEyf$h&q>ytgtp?}iz>i&7-#UEek_x#*% zN9*|c)P$CPPYYI^TvF4iu`R#G>8J3-|A>=X%R9h%IDnIHp*qnvMCRf&2pmbBGTN2b zRTfFu*{-q(qK9}-Xts0Fxzccbb<Z<$pX0%0j+sc3>JvV@345G5bUS^aMSGCX1ZM@# z*s-j7Jb?Hk6MQ{$Gi0Bz>f+ba&AFLM%<hcGQiaW`>BpTa)A6~1P*_KRTu`czlS^m) zCh;+QB-Z-HLMrS(+vZzZ5A(%1M|;6nEQnXoB7&A1vyUx0X}Xc_a-iSDV<(?xx{-m^ zMWoH2`Zn_sr(bFz6*}8<5GwM#B?lTP?-wTKvdKxvz07|*<F4YraWen?7L<_mO0=a2 zZ9&(+9KA>-_n8QAH9tq+=Ir-GqLxgvE`p~L4P3IkSG1fn9CdRk;enXylr@Oy?eoX{ z39VF;|9^kd&oM8#9&r1qPx=4K`xdw;%k2L%Gh7Bx7=dg=l2<@QNFBip4PlrWMi{RN znwljr3=S887*sTKM(tv?yP0%R*-Eqf)~2YNRtBYAcH1_{+%(t1+>O$$Ff~vRe&6%H z?+gRdUfTZq`Tu|a2hP0Dd!F;0bDsP2K3Ah#`^OC1nkrhX_Os&XcMx({Id&B&^&H=N z#5K1^?lom>S5M;=o;TY)sfIE0!+IaYl#fMYKdR^P0QNgu_RI9SbG+$uv;Psj)b4$* z@-fF8SvBKK(PvoWu-SD+tar}jo$;!7s!;D7_0^xf-<41tc3$t$<L>2z;(UZd?+7y{ z<VWo~Bi1Ho@&x<4Nbx0>?e?$|j%$=6>)pWQTTU|OygrFB8Nl3X8D1n}Vi>a)b0G^X zCmDkgBgU*#`5l>S*<OOL4vcT{7p4(3vn|7mnMM$4{K03sB~RiL#=hPG%~Z>F2_w?n zg;^1!<zzAQA(4*)G^v)n;={!;=i41Y#>4q<fo8I0yNIdIX3Rk!za!UKhL^C0F3^No zH8@o)vQcNr6LA<30}lI)nrT$ISM7PBgKN)YzG)YV(awC^A=RIpm!vj7->y8budFeo zonQR&=wgiAB@I8XUykznePkxLhM3<7*0)DDyXyyv)}tl)ga6ok=LIu3zTI(U9b2<2 z{)#&GxPRJ(v7mnm8gMQ9)v*I&ompIr8&i;HxDF@O<(LmcpQ%~7FxP<I$U0|W(>go} z>#oo@DOX_yn>2^Lt{B+G0sM}U#ZaHn0pb@1>^MaheY0D1+(TQ$-%nF{EwMjlim$>h zfXi*Ah>=P5`|OGO7qCX3gplUnU1%uxYZ|jZ==S3{ugD+!_55|#$Zs02#a<*nLr7XX ze7S9w7<+dbK0o?BpS^)IazgM;$vh3<iJNZhll662i6PY$`H?>~#_s2}&8_L(Z8i0m z+s4WMzdm}dC3!DJ2cg!Qb-v+7UZeRE&V$FDYh^q`7*mMd;LQnUsptO(jCOsGwYvNb zOK~^iTkRIlx7s3sT4OIOV}{%B1UAV21?m&Ms_sH_c@SC(QeA&cYp%OcQLe4uksni% zu%BIiQIGvJF)`L>>{hJ5OEQiG6av0vdvTKS8G!G3TAqaYo|qEcZCxLPwwSCzxz^$c zqqStrfCwYc(8e2;##6<XToQsXS|Sv(1{DX8gJ!=gej)SMh>tl6V+RkK10TQKw)4_M zNDm&(q}G(RJY%p(_YnLja9eufTHYf{t=hHw#b@|h8b_^z*7|~qQ!=J-NAaO{{l?u$ z^QYR)6;HLBDh{<LyISsf_MT{aKoe><e0%Zy9oKEp79&9?F+Q*h;Z+<}jJxU>N=<e) z+~)h;S`P}uQdlm#PCNR=0~DXzw5Q#Sv)A>lYh78*=y_y+h2HBH`@Q}VN4A$JCXa7d z-u`*+rn>FcFYdW-|C3_g8;HDzk>igS+OPIE)T8H*ac(IOx{wF$yD$QP6&V3XKDEb` z#^7v{m;#oexB>d>DkDQsTaUs@hr11dM^z&@HaMIdC+@R*zIXuiMDedSQQXm{9mO2> z@+L)el6jE$t@;MO*%mc&j=|_=;a^&Y+wZs6`d@QI5x=7(^%(X*1-+N6oV)`XpL(EX zzvMp{eftReO`_JCezax{ckha}V>O|F=n+LiOzH4rO?GHMRMK8~Lv5WRfkU7=nvHno zICVs(oxcSoyWt{-ChdotUVfxyVdRrmoVx5d^?>4rQ}?{lvLJGJLFnxf6+JO<s^ye@ zH*#i-J*w%ry|(TpoG^3%fPM?svuJ$%Jt3R*!*^I)q!=N6p<BDuy9DHim@+~S%lfin zL~hH_+ugo7zhcd+CyuT~9Pvt{82ixMKfuZd3t(nT7)BL}1tFeGR9w^O-7%O8wF`>) zXzU#z%w5`r=;*f#({0<@=i`o@VnJUvz%tUlE<ecf7C>nYH2a;6RdnG@ReV*6d8sBh z&U|OP9qU(kBu5G8zD(+bE>d3);PnlmScxYn)q9P_0a%Z<qkW-ppIDRKmn%fChYT(1 zfHRnx<vCh?ad%sXXxA63vBz#(`$FBe_BlEMHChpCq&tXI*QgE_cDH>4y5zm<?7sGc zMWeB<n~IdiT&$`coUSwuZylhBz<S&G++vL52<S!X=L8yybDy_A2?|}F5^gW#mRTM) zgf=NJ%r}%~g_iJ2ZRE6B_bn=H#KEZI%D=ZZJ+6ITtJS_pHqgd`_RB<2Vzn@TFXEJO zm;X_oQGCJ0K9{3MlzafSGhDW~>MrQh&NVT9WmB%*s8(I5!o60S?A;x$=W?3ofL}29 z{Z--@4SwUQ8;>4??{TY8<Lk#Yw^(GFFC>~!&_oqBzQZ(8cBYB?Q;PvK4dBx((I`O^ zlGC_{X+q{PO~~sl>iE$|6+5!qqg!`%llln27jPUff)wJD?F{4bj=L8+^6VD1@{C@! zyW{LRjK>K07FG_oA3SGJg&E(^O~zWKUv>N)bsfc=#YoSF4y&EcWD~FIA2Q8V$GZiR z59Hgk5$5v<^G1aEd+<4v%eM_Iy>xZ6<VMEtTR48sV+JJu(jn1)R*oxIQnC2{3g(RT zUi@8kUtuPLk`?+C?h|9r0!GmFG#xOT^v2>(v7*H9h{Aqnv4z{m#Au@>_t)r~DC~zs zj7!8U5HUU_Oyi1Xng|hN5;0_8%wNzq0iP1&R;)yh#_I4bBIb~YArZ6CF9b9`r6Qlu zXyYEFkR{i*$znHQ4RnK&`3!|GrG0Iw*z1Ym-V=}T@i~UUnA^Grr~Pij_bs;q;~Oz1 zUo;Wp%;TF%A}=;(?CQk%dpw5x{YT2?qR8mR6Bu3Pet=6Uj;e?&*tj3yLjAiHc-~FG zW4J{a|1B14RXh3t+;{G5TPkw;?66zLpXJuNV(&223Ps{r<3Mvd*0@h;r1%@q+S<`V z;YJsfJv(?EEF3PD!foxd1(Zo)4`AW`B(q)|rF*2iS{%z}$#z0*F!?FCC*h11sV%=7 zJ3)CwcL(kS*nPpZ*uN>JC}IC~?aCVto>QyB?)s!9p*rj?#dU|p7L@A|!dffM-nR;e z+K2f2n6LU6H5ukB)EL)U<-qLtd6$AmJQsGmAeUE^Ns>9-8nnf$9Qghi)ZJ!5AL3-A z3Zqm!;+u>5uE^7eu%i!gD{3+x@h#G!C2dupZDg*8FDv2(H(HCsu<ilpFm_?(5Mp_w zVWAky@rY$<EuvtK$mPB6-EGfd_J-GUsrPoa?ZoYDYCU?0Z(K9Yf3JJ?p%%S(-t(gp z6t(C#b@6F0<*h+<xoxIw4}?8awg<rOrtyJ2MaHXOpD5cEu<JxS@1eQe7B8Q}CVh)I zv4(`#*IwPEI$MD;8J{G@^9wOj?V2O)KazI2qeoPu!d~N9*cHz^p1RuFE=v3BHG7rz z@M&8OckhgDQeF6S62*Qhj&pyScf3gTkP0)=yl(@&IE;uW!9f*+T~f~nV3vHN-WPlh zUkn$b&BM`0{OoeLaJem{%TL_jPX#Ee&}|szz3<%_(bNE`q3kyXd-Y=cuwTz7Mw{sm z4s{o=o(7qiGZ$rIW}C-e0>s__q40eX-<S>7D}A#D?0?fmf6>27DfxG)lsEzIGoE|H z{!RDX8(}XaueXT<#|=9Zn?_ATilM}B%|nWzooAWbaDIzwgsR4OB+lFr&ltdY1P}Q= z?Egqt+v1CQgh2Its2K7deD*~R@Ct-Xq<l#7*VQ)lqIze=fe=W$gmWr`GdYAVgRG&E zHN?1q5oaF2C&_W*8{-cNxG_hEIYa(tNS5?>B8@_jMnjN7Um|_Q*h-XRD~Zzw=cb9N zqhKAuQH&dK?P^oW>CAQLRas5#8+69=6)LRj)P;$oxeC-V^X-GMR(xT<qq$rny70B~ zX)*6f`7~c!;t$#gE9Tv}2X4Ke$9J)=i}fAQ;B5b6Cv}HguFA@mzwb4B6^-hIz{Ww- zf-rYE$a3(UD(s_0LH5J?Ak>iA_SyCZRaSjtaZqN!bY4An@Z5T1X1zkEI;&J=*6-<P zZ8aKCa$17Fd;FNc-Fb{83^m81$ne}Zb2JCs_5q=Xa>DFaU<3Qb4t8S)gnMlL`w#ZG z5AfLf<@qM02L$$&&sfF{@c0=Z@(BobQ|5jv1g_h8`P=4Ifw)@+H{x9M(I|KFcNMz? zn%M=n*5N*!ZS@YmQ{y>`#c2*Rg3V{!KJ5G*ZdGZ;O%U!AO@fc}E!KR_iK2D|&Tm+g z#5YPPYC6T+tu|T|n;S6K->pA%Zm<tdJPFjF##P5S&ndG$y_M1vu}_r02`f<Jt-;-s zL^LhP-mplK6ok~q&cH=llQKzP9h9p-trQ67_iFYA*$;VPeNap4_71SChWOs{Y4!YS z!)f1q!)Y>XuJ)NQAQv{Qfg_xC+}-x~?uK*kW;dK0tW@pa$~OeZKk-eVcm@W-6!`47 z_XMuFf#UYn@A_6BsKvLYT7R}}?dwl`qYOOPLgY$<Zn(!#JzZhqyFL|7JX@i`iKgpL zhec0l4;9v(R^fccvn}(HXF{fFELxXl8iOWt2!4mS_$HDNizX|~rLly$_%;$gIY8kW zm<hn0Bm*sB44ljB_hG%rtAIBEuLIrz90D`|4gz)p-UGY^cnz=z!0Rp+M+`PUbB5G3 zZeP9Az<q#y_3xb}_0$ZWwT;03T-{Ee6G_sEw0PfR@I8@$ulWdbjClg~2S0hnH!#~w z3D2DI3D{SEvmpwn$0=$;F5P=p8S`Mrxl0cl_F%@E*Nafi9)t3Pw5nrj#zOPE^}K(d z=YcP^-Px(Aec_BswY4tf(z;8pLJPl7srDLEz!{}#3~=i&DJI0$eb#~#rY8rQu!Fr$ ziB|Cm`5aR2%N%Iex`Oe=>tntPCs!+ubB{wX8_kokZ&@*+yX}ka*t+kLDxjV9z|OU1 zWzB*1T%B*t%4v_a7wENEuYG&d3O*59H!Wk)iRGg0e#1>C{9?j7Pzxr^IiWanNJR-V zPgLOMilO^oj=!^Bk@ykrie0A)sQG1`AL>V6+-Hcs>d3$v-?5SP0kwq|pN9w6*A78l z6d2a7+_s|*HQ-jn&^f;jWn$Q+yU&Hz4XyLr^qhGdPV2q1LtPWmstAd1R9ri(Nx4<M zc~ae_wzdwRTGiGtQ*9mEr|Sc2>+3d}o-oWhy)ckZ{r$4ZzZUbC6LCtLYI&W1&09?& zyw~~xW$l5B8V%JfG~aCY+uYq&)_uH1S?jyC#_$QaH#Pd!N^UqK_$<~2tokUzX#c2= zZ!5&^v6`A{Rn6h*fSOGgeRYs}?WT)<x()T<m|KU_^`dZ3_nq|-b^e<McLe@`(0o7G z<h!Y^E@;zzbu{X*Hr4F6X<$u2?c;`hANkk%Z4G)X$rRQRcrMH|v@Wn_U~Lkfh>?H+ zHN%=Qdta~K8rmM@!a1a>s7vcRw5_g?K<F6R<g?YccEFa++DwyjD<LK-J7%5ERL>P} z+YLCY2zaSZwFPGte*c>GLBsL7V@E?wIJ3R(hq^agK))%bF2WqRC9V#uRJy)E9nJZj z%LbPT&j0f>aGxPcn-b-W%MX_mE+Z07E8@5eahXw0qc}BsS6bX5#APWHx4X3MRU+3< zZVHSGXv)A2J56=q2IZLsWuVK1vYOC5Fm80CAxl3)U9F!!C98VZo{Lm5w%Sk7bof<F zne__Z_8GR<$GC#96XqRNkZaPkvDHI2?7B!AP?F-2i8Ci|phx)piiGND&=^%pK#YrL zvRe-X#sxOTTWVL~HhR~ntPvJ<^`H&Zp$dDmWnkPljghOi8BQNwuxhQL<*?7t1@>Vx zqh|cI4*A#TA)FD(H_?x3JXt+@cSP3JvjVEO?|SH>uSQpWn`!Sww3Qu-lUUEz{08i| zW%wPZ;iFw!R^6~c(LuUo)Jo7?b3HT#Eh!!yI4f-fJ&OBpy5ctsUzt>`=upKZxL%aw zo8yz?i{qB-9gcsFPmWiGc=~$9R89}Ko!v3!E#CRWbs750(`TJmT2&oN!|dD#(I(@p za~%oT*;<ZrJk=jH)TE=sW`d?DphJ0)X?fQx=&b=4*4a1JD`Qo$0f9SBTX2`3#<aeD zP`LZaxBG?W#N#|h^%);(Z9CpAokcS0^0lU!rlcXtKv2f2Fg`E{cZG+>I_xJShwjqz zh~iZ3RQ%o}>C(P87~_b_yc=dHI{eO^S>%^cF5YP4BP3iuGkZQM<AR!QGZt%0#M5$1 za%NXh%v<f+<iof%i~Zr8;SRsELz_y_f*r2|U5+v)yW;OH><7ygb0xflZ9l-+!*;E) zF&Asn5ewfP#?Jj5#+PUhw`=2aA`iA}Gb2pL?V74z8x-|!-z*7oZdArh!%bYwWnKF< z>PAt@y7ox*`#A4-5cE`>)%cfc$C*yrdGvLA=brY+<n=h!XNNs(7vnZhWlpyl54LbR zBx6JcYl^1YF~T*Xh}UQ5+g+^+ntRE04&U3Y$_|Y#8Mmu<<5yLbZeJK#hp%}>M_7z1 zPisb5vU}qW<}xmM?|SeY2wv6utwo9(usZi}Ggg`Hu=|?!cARZhbZBM|x2rlxgB`H= z#@82BOf?kg?O_q~4fE40rs|8NbN;b*ZSVRb{=(fn)pwZYxPbjq<ITzrbS>Kc*0rOU zwbkrDC29>hNmiVBP=V1LxAe{U&gDH;IP;=IIldKlTCg_OJe<^mbHp_JV?+*dW@s^@ z1MLdV+3HZV`QSVo9_wyxb94#0&ATS!?1k30solZTcH{+5I|Ycz51wWP>;S}Af#Y|~ z9SofIOs*}r8D}fx=IyZZo%G$hcI5X3Aqw?ffGvQNfNub8fD?e100|mC3&hu)A_PNf za+i;}VpmEuOC8YdUS)+bmpB#9nr`K9wO9e+>}t{M4YmYlg=F3vK{5AZ9B3fkDCXV> zt@(aK5Jp3;ztr0H^=1CDJlD3pK625=If|syEsgla?R=Pz`ZeH?MWNn?XCumL`(CPV ze_j3h<48kqJ2pBAFM@6-U=ILmCS()G#{JUs+@R@gd^|?Rr;A3>kC6xrqEYr^*j<3~ z|JzN*%$c*YOk*<VNdd*lP59FQv;YAR2hahM0eV0tU^ZYrAQxZ<Q~;_0F2DxBM!;sk zHo$X$oq&CS2EcoOM!-=(GvF&gE1(^K@jOxkkWUGBH=%}ye1Hy+4A28I0kZ+~0l5G> zpaM`0Z~-;|HUc&SwgH|4>;&usGyvWMGy;wSngL${S^@0<QbImJ1JD965KM6Z9UvK? z2V??f1LgyA0d_zIpc>!;YyfNoYzAxtJO|hb*av6;ya#9m90fE3z5=uY+5x13e1Ha^ zRjF^bRaTZ)3UTvB-y+<cpI0grRF+o=aZB+|IW`AYr`m0T)mB<6Sj)@GY}Trx@-iXc zR<*)rE0gd`%gc(Yz#^}#K&Z&Gmh@PbJ7fx5o?}_1ZK<uSYAjWOY5r0N&CYW;$edSH zN@LtcEOesKqOyu*RgTFb!tFYSMikPB0-9MaEYB+~DiD~HkXN~688dbWONy4;%Ek(F z9YtkJgaTV(-m+4#pbRm5RrX4o!(Lumz&uBc9bY()40)w_WmX#k=y4iRuyh`)BM8}5 zd6iYnXnA>QRo)Vtuv7|zBvb$m0)Vi(olQlRh#T;p4DN~G-pkcEFMYYK5^UVAGh}X3 z<cq=d@;k@ofbMRr`w71eIj+3)>q!+c;#f0Q?&cAR1-C$zq{4Z^82LFx7$HcARBu*- zkb#uz%Lh_rR?>sD5F<rECXwQeqo2(cbj<IcQwg&;PD)ETTp}M2r<}@VHe`)b2kLQ7 zZfp6{rJTDE#Wo~zK_FEiX{e&SY)K$Fs`9Fq$q{47tE#e9t`x+`hqiDKm6KA#x~#Gi zIYpL*hm;!WG~FmnFV8FRB&I~+POItVD+J+3{jwCBP+lll?Z}EYnK}C%UpQg}&9N=b zD=OoRWX(h2D5_e?6tZAD8QBwuWmW~^g3A_4Acsg|1Ud(as@cl&@=I+6k_SAc%*#G! zSE77Mvc=paWq2}|S6XcaLU|d@E?;4*6bi~$lu<@CqK8Gq&CNClD6_`&nWJfLSxFhY z8o89aGqk;EiCqi~>xx{|+qIPAgiXJ$c~WNo5!a<fj-`23R=dZqsmS3DfD}qMXNMeI zK@Po$mxQAJ5QCM!tf~qXQU!{z1HomU@RdGOaO4%*5ZOI(DLElKaPI6sqmaW^Cg&ts zR5lRhmG0~*XHb%`Hz(dA$`g{1)PfPkEDJDddX7=ZDwE=Ql$$iEU()QH8N$pQ<0z?A ziy~P$)}lwKl!3)xA!CXs1+%8Og-GSk!^1ljS#im~Hx^Zc96agKZyI{iU!>`m#FGhr zoWzq8ew@UU9eR<-;YDnCYwnOkgUYI~XbA@yo(wax1*3>qCKVyz;DU-{Rv~-tNj*^l z{~$QaC|{~9j9%r^O~AoTEKIkP75+2xDhuY871%20$xVSo<&F|J3D;)5DLfgRNv0dK z%L}Wn;N#7O3H}Keso2|4=~Q~vW4#2)B&MRm!W?(YCIwk4#wZ(ECU-!4J;hkzI2B9C z6|u^3Dn<NaxphSXps7OJ&-I&(<Awxj1KR9mR;$fXxU95vC2DRaLjjdsuNBH{D`dN{ zqNo%d3Sk+SUoOgAuB|Jrr8XfBH5AY?;o?dg>gcL+A+MqWEQ_iH)LNs*$_;!U31dlC zbwy=Sl}*km!cBM)>tazy4m=0STTv#j;+~C2;bzX*9)BL*tdN`a9N2qE`eQAs-<vO^ zdOUgfI&4*oInRi7QMRp0lr6>>kWg(|S(TW<mo3dl&CYEP6AMKSR2}HBm2*OlrK~ck zn^e|^EDrskWu<7LZRn}3tg^ELg_Y$?g(QyL@rj7i96NaRw7Rz~L+{3c#DNdFyET^V zD~ier%Q^ULIKW&Gvw)MLm9aE${MaNi7ga7@kypu`9|z6MTPn6~;>+B*SteL?iSvKr zk4L;a%S!TDHVjqT^2^JsWFkSBBffHYSye$MVv<rc|F+7-XoJz`knn=QZ%oWFk31(h z(11gC*&7-XrbfeBW*ZAX(wo=>k0mdj#mkmfklj{VA@dz0ccYMOjFs6Ts>D969O(|B z5P4tzZenFQ`UpKRI~rajnM3r8t00BhD122YG|<y-LstMv=&;#@qC&CbUTNc^vZB1Q z#4(l}rKpY<JFIzS%n1*XBrDN~vb($pWtEE`clSlY9_DgI>Fxqcy=})b^vNn$_E4cG zC%0VOJzr*nK(}_BJv|)@xg#xd=^^1TN@YW?#Mw#g`MB$qekroKR`GPst{~yq$jF#I zXVwg6$3;|3`Cfvgyx&75MW~}3*%ZC10?xPs=k!W+TF^fmOX#g4ALA>6e{#e~M|zZ% zOUaqH9G^7YR})iEOe#4|drG8?;35zxRIRLlB+dy?wzP;pX%JgIY}`2_Q2Kb@@;1?L z{zQ}*MD*cNqIuU46$~c2e3;1pJkjIhiC&ycbX_-Y61kS>#;=L2Ul3gyMfB)PM8S5V z6f4ow&k)UDM)c-RqI0hi6|W)MxB$zkF_3b@qeM^6AzHka=p7T$`B_9u?;{#}Gtn!L z6W#SNQRHl*lk179u`JCpgXr)EqR}rC?JOo*mq#@8DWWe|5IO6JX6z^Wcs0@fA29fW zS*XxtqWdosEgwtt-5H`2%|xaVL~kgGM!idP)gOs|5kPd?r$k>x5q%m?WNadO`yA1t zi9}^nh}znT0uzX8z9riJH=<;L=q-Puo8KZT`aR+53GBi7oamtlqGtvXrF~2^=T@Tk zYl$vyB+8vj^w`}*K1QO6nM5!Dl4$M=M1L$N>M9^wvYlvaCBBwlAsYWW(Q_+_&OAp{ zxs*s>NOWumQEUa#fxSczyg@YhcA~#8B3ibEXzC`S&u$_t;UjuAooIuFXwU;ht9^<7 z)<E>h`$RK?iFThLiq{fp!-&@YndtVjL|;rGYD^=-y`{8gH0Fo?P88KbbaymS*po!} zEg{-hN;r0l=r5~?GU|y|>>>L0Hlpx(M8B*ds^3gB@)n}wzalbBBdX97eSH_vogqZm z{DElPn?%3!!9?XJL?49`H4h<L`4^(~9YhhSL~+*<?P?{O9z%5GOQM!<h}OgrO}R+) zR0`1}*As<&PxSq8qLRN7E%=V8A)aXRK%yP*5j}X2a6mWFg(F0z8lqc=621Ew(F-|5 zNe^NKW-HO=#YDDW5Orn|{mDRd(>+8lZ6lgsBl0UFdg3=k`PD=n2Z(<EJEGYRqCek= z`%xbvy5k9=zb+)g3AW^#PE<FQC}AB@)6+zmxkRf<h)(^MXxJS@_v|CuyPN3R<wWV7 zL`NqPolYcjv=RL(mgwq}L?ccUy*`e}tS0*W1EO!<A*xal-P?%y(yNG~hY`JY9Am11 zM0p<)WgjB?gM#S#kBEMIHPNpliF}U{b$1aJ-av%2Ug?7iM7ohg&z~Zy{R*Q#V~EP1 zCHf(s=ui>SEiV#na}rH@l_+Qz(WWXQdo~uiKSFfyF`|X@iJrZmD0L>$fDEFCT}ZoO zQDerAyKW+)9~qZ2`A2{isz^r0A<9J~;?+!tfa$$(G99wO6@J-IUw-1KndIFg7ovOU z+%jDK-~{CTUVfFN<abdA3`I$9l8!FKlgh`}&tDx77&KsDaEL~u=z~!Bs73GWjop~m zZAYol7zC^CPW{uf-^p#MP_G^RAQtKG`o)_sHT~)2cW1|kYLt$|InjIPJY;CA{B!=K z8twYqcQ4#=;P9^xcAxv~RDP^+g5aYF|FYoSs;5kM<rF_XZExIN0S|xsw+}D8`1UW4 zWKXOdIcTuX?~~;}6h1s}kNM_TRy{l9(d2tRZ|iD#?335uJ(T&k`FGo&t=6maw92@c z<UjuYn`6KF`sIt6_ZDpld_H0Sg@qqmURm`>@of>a1Cu6)#$P`Em-p*C9zV0PcK-c0 zycY4BXG-r`{nzPlFN(fam6AIkJ@U8TJaGB%AAE2k{-vM;_FrZ__UM}5l^wbD{LHY_ z#IZLHs|bFg`;G5TeBSxt(E7<QFL<K*fejBnzxEHi&TJphH0I5jXUk8zG~4Md-6_Fm z_6WVXVoC1)^_y!tc6_>f%E8FP&QrIZ+ojwXdM^5-#On;<b5`Wft318;{imOM_};t9 zF3kGdwMPcN{l$cXvD?De`V>}8Er`wWH64HU(kol;+4tz;mNjkHyqogL;gR1@e9&*_ z;F}7UFTct>Vczs(OMf4HaopGMZTb4%`}Y6ldDDDbreF0adxQ3*dR_94xI5lobUf|M zu#SuOAFX}uH(Os@X31H2eevK`X9F7}cE@j;Joa+PH>D?LeDK17`(OI%vETo4<ZA!Y zf<+nApG;YQZFA(C1ERi5?Y`y1)t}eC{A&HN2il*wx@_W_xihP7tr=UF+7#T1Qu@Ey zG_bicfSoYCu#8CQW!PEt-RGx&biY_2-(+*8V>b-2J%$mjZsS2SR^?^*9gcm_{bIe4 zKkmgNNMyOzZCq^FO=jXD^J413d8pV?^eO&$k-FvgIJ#ul9wz=*7<OZ14~^%&4_bcZ zM{gr@U>3a{#5Zro|3BLsTH8B2ySloa{~goS)z#VF-rV4ha?T1cp61hy|3}Z(=H`Y5 zDU1Fivi{v9d7k3e=e2)7eXz2hZUhBkY5n)qkv+qkXnM(4C{!vxzu@3uktwTJgEbqG zsu@PAh`1EF<@b61YwGmzBo^{MwUIlxtd75bNK{l>n$y|GU(c&pL5W2wgiREiG&XBi zudc4H=o>pd9!1+flJC|-e#+{wKHlo|q3ZV)6U}bCEML?WKeBw6+xcIAy4CsDeTbB@ ze2*_x2x1H2LBaTM7?kp~s3?E*)MfMkVEK2e{*#`4;=j-9Ph$CRd6EV8TmJtoMn92Q zmfz>`6Pf)4Z+!&IuRnp&PxK-SbeDhm)%6p({rlef2KfJ$@-OR!2dapl+4S({YOcTb zAI*$cJL7K2`nDbaVr;uy4Gm~8TU*<uu8kO`G*o*bA^!fdE^bzRUK#DK*!xjP>Ug-^ zp5><`?@Do^JQdE6_okNx{yXL0t&rHRIz<Lj42c~#en+J)2d}R<Z_%P%^nS(96=XdK z@6d5a(Mw!U&w!KlU+W89AzDOSDX!ndLtmqJY)bynyo)`Rep2j;EF{ZE+K5Jey)yCO z>hIsbxE^JH%qHp6Z=RL~dVIRezl{Gs)DLiTM^5R}{(BT5;$kC31kzbdXxW>Xx>E9@ z<L%|+XR^AQ@e$IM7KIo`cQeiD(YBWbiX&0rj2fi1`Dat3xzim=W-A3xq4L%Pg8fxu zA$B2xpsD1cv-xKTetWMViZ5dDJbHKu_D&MXTl;^kLDZG<QJo+qWVuo__lgcLA5s6Y ze0-ayc^GmEy9GBi%Msl>I=r$+8iwY79-|Ob`!Xj#7XeQSdlX}fs7Euqu3<HMRq8*J z8vL~-)?sNVre4Ci(5AU7_@7yD0|NBl`~Ls2_W$P#6uytS_2+sFrn7U+>Xc-!<Wb1c z>PGc>b))~SCu#*TU$~oNsWC?D;q}?+VJHjyXYD_K=gY?9wa0=Way~`)JavLtJF?6k zs(x)=*~-h>m(=s!@227Q9fo7HM<yI0HtJuH+QZ+?u=lgay{}DdN>M0!6$nZ2Pb!46 z+&=BUtFPGp-lbLnB{A)vM{|Gv8Rs6n@wmI&f3&gx1=Gz{iTC$EGLpx*JW6p_Kr|AD zixiB@i-3CL^df=u)5E35=7JLn2@EXWd=y^Qe|Kl=M)u;8nq+5)3RbTyj-*2++}s}y zlg?3c%6f+OMCq>PRw=)_^N-ZK;L5x~B*0HE6`DQ$0l4(jI=iLxc{YPuM!_bV2FZU~ zh*&BmXE-4rMTsvxJqQ^gbMR2AoV_qV{*s1b-z+=3rMnSgjezD<a(0JXdh?nF>4`vg zijqf&&@@UhCeiov>r6vAM4EVNB9DBPM2!~4<Aw?Y$gWP@R4<xd9S8{}{d$;)7OCWU zyNflCyR+bldXYk`sQ9N@5#p5ne0Yz7Br7S_KOiHW?m)`IWVHC`Enj|9s6x_2S2;y{ zh`hae+1p#+<nry#d+Z`c1y|Nr_8`2s!}PH3Yg3_ETw%Pu_OVN}KuR-7uw3Cg_2yYO zr>2(7DoKq@U7Z@KO<9wojlAiOn<67`b>13D+7vByw;XKgCT%R+j<<B{GAH{5j~u;n z^hmwa*Vi9EBhnV8w4^L_rbb4p)sc~@&hThwbok=Mw0N;!fK%b5!h0Vs&Smq^lig1~ zr1n|kqt*y(1dUo9&pzVS>S4UOXTUK0>5@~Eb$-FA!G5x?i}CcwU$_&0vGLCM(3miF zLH@+7dBSW`^KfQlbUIcmL`PD5q?4JYs<H2*LPu&gSi6#oy@<H<A@#<rj8rl>^;DUa zm1Q2Do;4#$8y@P^jLOK!n3Q74${L?Od{BV@M7T~gXJw7X3~4xo>nGqx9Uh$?&IW?Q z)k?*J0Ke4qTNcb*9Xcp<wUd3Mrl+SzJMojsuj$T!fB*$>H#(fq!b$1QbX=>Mo~Cdz zE2kdDsf<)Qornu3`%PsZV0z>5Tb%(zMw>^1OQK5QRH)KGn-(SLg{U-rvOdikt`4`V ze5!p^c?+^;7>Q*nIYtQ<r;k#h^kMFLQu$-QOioU<-Wg{yB`2Fqra1h>Ig@j8a<rsg z6QI;S_0+GcooXMSYBJrShkp7g<kZBO5S@so)sRuWnqAp%a;G*nR?E=IICUnt#QON8 znPOA)dSP`W^ovZ<>+~t6IB=N0apT6-rh=U5CQ?sC^3V!E`b69(0riwABV$IU4BNgv zFLW~eu7W~y7Yv^}cV&7s)HMvB3!R0WxhwSphRvxAoiumu+y#>$ZNa3uIXPJ9k+C|R zlo@y6?C*@#`a6&SceKWhh-+P)GdF|7yE<oeV1P3#k>hVN6rY@E$;{MEPEQ}cYO+Bu zRMTVIw%suW+svj+K`c#4iS3S!&0LdZEKC^JIWD0)VDt|{!-h2hDzI7!%}sZt>oPMf ziOG6>^eS2v7+877z#-%B7&&_MxH$Zb9;wTmp%;?H%!Z%jahmsDe07{AZo(xjQR0jf zA08czAN5?q-wXWLJr{q7k8VP)?<V9bwsljt2IsrC;<XdFHaO$IJ3RcnPiJ`e)tV>` z{-fX;#ok)spMYW{zw#;;_?Jz$_=?;M226%!H=RD`nakD8?>sxSffbuJ(ROvXoBes% zpay%3Vi{ZpI`IP>l+-|>@NSTZjzEfao_j(Iq+s1Gj;|ooB%3-d7R!V+N~NElat;2h zbF<Q|a7gjduMvg`j8txUy5;FDk?~pak<%*`mD6>W88dXc%<4?t>-h`KQ&N$Pv<6kz zns_!Q(_)iJf1|~u*PARi>LE;_YIY%vYIRA8dSd9r*ol520U@Y7v|6ZwUGzGAH|o78 zg<=>Dx#sFn;<<j-l8k_uF}ef+PkZTfvK21LFk@|$ZhT_W1S}g$o|JAdnlj9A_QK`m zTd~HHap_~sd1DHbC%Nfw0WJaSmUKF-^FuZ*Enh-QQO+^|K12fhX$-|)O29?{zk8ec hyub24Fuxe2P%GeHT;S8svq0kAfQJZTbAU5p{|D>`6n_8! literal 0 HcmV?d00001 diff --git a/res/firmwares/ENNOID-LV/ENNOID-BMS_LV.bin b/res/firmwares/ENNOID-LV/ENNOID-BMS_LV.bin new file mode 100644 index 0000000000000000000000000000000000000000..c391d4bf7755817aaeee072bc187a70decfd2d63 GIT binary patch literal 84812 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 O^>~ONHU~Hp_J07xyh-f< literal 0 HcmV?d00001 diff --git a/res/firmwares/ENNOID-SS-LITE/ENNOID-BMS_SS_LITE.bin b/res/firmwares/ENNOID-SS-LITE/ENNOID-BMS_SS_LITE.bin new file mode 100644 index 0000000000000000000000000000000000000000..f06e0c537116b1af653eaa9fd8b2d0bdf133cc56 GIT binary patch literal 85316 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%0Ac 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 VT;Mavvq<9If`<rPS@5~A{|!`m-gy83 literal 0 HcmV?d00001 diff --git a/res/firmwares/ENNOID-SS/ENNOID-BMS_SS.bin b/res/firmwares/ENNOID-SS/ENNOID-BMS_SS.bin new file mode 100644 index 0000000000000000000000000000000000000000..b6b96d7ff11b5a53ccbcfb7276afb667b394a6cb GIT binary patch literal 85308 zcmeFa3v^V~^)P<!V;-5AB$Ee_7cdWkd4WR$h=4Mg2{(ZW1Q7aDKzl<#Z$#@@ADz-x zCIpd(Xkf7AAr*;QEC?AOEvRuKpw(8|83Jt(DDeRU6N7g`FgKYb^X+ry2C=o@@3+41 zTkF5pe;L-fbM`s=?6c24`<}->`&`g2WC$ly>aV{ipnv%r#KFlQvy}QT5C+r!Pk+w_ z(06D&JMX*j|0&)7X}MdQ_&+U!@dnG?T4pfq`+om-c(>B~zOp~0{UCuKB=Ca-evrTq z68L{Df#?r^KS<yQ3H%^|A0+UD1b&df4-)u60zXLL2MPQjfgdFBg9Lt%!2jPR@O##w zD9g-H=F?|c2jfjEb(SLED+n20hJbAiiW$nXxQumrsy*=d3_a~<WGtLNh@)>*mYZGn zqtWixDC<b^vSkOZBR6F>JM~SwWIEOqO08~GJ2JiM8ETTRE@On0qfJ-T)=z>;2g>j9 zZ!PT(;yPc0G8li5zTc|N3Rqv}43k@|Y4&-xD$WDH&e9qY71M3VS1TgBrLiJZ%vOZ# ziY*~UqS{v%q7z5@=7*4OL5S9^3@u%}GPG<l5<hoWgyzpb-M(PK5#OUW-Gzb@cZjBI zLJYGigivjWq6XoKW7hgCO-UlEs0dNxD!SZR<)Nf;wBKs0Y%iu#NIFwg9!e>q{lHVZ zoxwFD@ptam!W4TZY)FVdNB1W5nR*qS?zG}CqL|(Uh}nA;*Y7J%XnQ?uP$U2rl?Um4 zIlgj{*5SP7w7KnHJWh#dy6Q}Yh!W0+k?xsxgnrUaQQjNwk(n*t8)&4iWrq64Aq%Pq zP1UhbUqz^7Uh)lhqFdbVem9IN)V?2w=IG{x5h`wH=N5+)l%?s%p>mzIxESapb-71k zF0TeQi71ivQ5-UOduy(%eTJg?u$DO#Hqg3Hb%p8+bU0OaEUcrcUY%&{rNg>5NTFMO z$HE331+bx4*LU7m9MVyB)-N-5`zWX_*KTQgEX1-Sr)GVs8=r8V4X3gvfTE$76`{;^ zYluO{UiSL*5CdGD2<zlr8gf~Zo6A|607JyTTY$sbE_aI3SJUNAqQ+Bq%?{%JO!MI$ z&GmoV-wHqOZ`PO2>7m@F5R*8<hm6R8TRwlWB49-`igSF$pf#4J)EjPgs*k$iPO>y% zSx*-Sii^9P6i6IdnlSwgLI>B8<<oLBHz!1mSNi6Km<gD2aThXLnvk!K$PXEvrJ#Xb z?xk$FkOdkF2-KY5_vh=OzA~THhH>r&92@lF=Tt>#90b}q(w8i*w0p#r6*VG1*IBw5 zYDo2AI93P$B<9x$tuR1Y;EGoJNDkDhY5Nui&7Dr4iD~N~XFm>YT0E`m{Qe4&p?@4Y zuS@eWg@eCz`*|9Al|j8spP?7`1v6j`B|uL>kC(iE8Tn?Sq*KW^P;%0#_%n}nxt=)G zzGPm)>59<%W;?ur_RySr%uvo*3hhG9QsBfw2P(v<WiSQaQ2JoF%|6O^=myF<A0Aj7 ze-_$OUJ+`h%R_UV2SIPG?X?KBP^5rDlIX5522#S4e)_Ht@T|_#V$gt!(7bua!fBXS zoxWFh9rK#zvqA~XNkyo|%z#c>LplW9T!#^X`2_T3$vvt7a8xwHS0N5qtzA~2k7-&7 zg!x52XJg{*#92>g{z0GSL!%UaYWxC;owBv`4O>q@Gg}KeiJ~eJ%T<0S*V*I*UD#Sq zsd0E&{-qrhmnI-_`BCJ9Va+fIXUZ^>=R9mWYYkD%4pow$ap_$3w&4Ly2{lg9rkAK` zNfPC#x1|O)*}4PB;C$Cv8ZRh?{WcxPa8#J3P?$yP06Uq<>ug1N{|tN;Ov}VrMlOx} z2k6FXt~i946p>*b4Ok}^x6FmsSRwp>^=qBnbjnhg^xyKKpWJauSE#s&$4>4!#TKgl zr&L)!kjWGTfojpNW!yZ6`%Rsf(y~Fd(XWS=uJ<1gv&^ZCbGP8STgFNB6a$1`1lh@F zTd2u{RC-QnU5wM=vO71pYMq#x^Y9uK=bt|U<rVw?e30Sjw$yNR{FD|(qVjjDqySSe z_Uy@n(?g2v!~%FuPe03q_4H^?e|O?oo1|ZClXMW&5ZJ{u<aD;a22YciNV8%ht1n~< zQcB{_j^Ioj?l(?i7xlK9Mw;M#WD8SDSdn21ydNLTDuMbkU$#X8xIa^&zmGwGZt_CU zO=a&y`A2*or;T)E2)*9*Hp^knS+$@`+ie@|pUJ257AUd7#<XT|_Xsen22zC~=^JhF zeq}4hdfArlckpxh_Mpzp@K=JkgtIhG(3K>mZ?mQH7XzBV=t}P4Q~6JWslq&ACT}QF z^DV(FVUge<@wxm-;N@M=XJ_LlS)+hs^>|&uB%f{+Do}D$&b?~8v-P%Fxx!qpMo7+N zPfu*ifZvQW>6`=jkpk5M%DuyH<SZN#r%LuLlmB>@S!5J@YzlvF22LF(QI=u;0zRK( z+q8M{XEXSek}RGHYmq@zp^V|HGHCx?+qOCQt=nKr@Gk@|zlQb{@xW7)HjinYDQLMo z{!&oOwFNbtmXm^*u0j%cEJw`yq()UaGAlSWXXa^fcaJ>_`6o4*fy0PDpP$t9)iPwz zU(;t8VPw-EJ`|2tz^KNu{IE|Cd13TQguJ}CPcL?8SMb+vTk)8f#tyqymuCX(b3>k) zVlFX>Q5(bC#9z)uK;?dkb%3TKRIYCv(?M@wxrS@j^^`cO&){u@SooU0mkl&rE7LT6 zMQ_kI;g|t9PL*PK`djeY14ta*H;8M3Uev?bqizI_CKrjwhUq8y4+6(Yrw#(ADJ`es z>5_rGvFA}<#s#w&g^~K$J;2puT$j2DKP}ggM%^^raj|2>imf)owc9kNbC}-o>wlV; zKKWuWIXpCR#HZz*bBeawH0NLG7_wfxX4POGDDe*w!!@<0HTX(L(k-cbN$Sbq#SV?e zaLu6kD41S2Sog&a)e2lcuIF9okA|tyD3%Rx+a3Ss&KZwGyeQ$Y*!XgTabHCj_0#zh zyZkLF)j-!N>yY?hug*bjQE-KvwjxbnUNUnP-$b8Aqv$tPFKK_1xFvPVThdS-iR?gD zL(>(}$~53H0*}AdW~9~u-JK1leM$}}KcVJ;_Als7%1uDug2YL^lQ{)v=BO>8FQe2I z%uAT|zf%53|8PQ?2FjSGzEQ_{dlK}N*w%}3m~&N+G9^{Z^iB2a%w6t#>T7WSfM%AC zxhfV91x%e`B-f(QK~1VN$V8iQStQybhau-M#7$l9dAn<-Knrs?XhAU&mG2DJfyA+q z`gOLf1RththrlnxHN<GB-+^|1=WlmAL*_QxrFBtxIlk?-8-Yi!veRMKVNYJAA9_qg zI#@gYH2IJlQc^`#;=`a{Di*(KFd8Y0q6$_eA1K5ttT|O=6T?^7hjhJ)t|cLselWx; zHU6p)%Pip@3bCpOIi?NcVVqUH<u_J^l<aH0&v!lYPAx#SA(i6w-sf+;bac*D+B_HP zz7^+IjBNWk|I0_myxrLQY}Y8@<+ffnd;##yusUSKD5AtD)qjPZzN?*rwvBrGaPMk@ zH(JIs^|GDxzu~2dOybl4%n@u(V2-5DpDU@S#5iCGU-uuKBe4Z|guOKtjk)6gmJ{G0 z{QcA`LMK3G48oL+B12*7x?YyZ2}|hXAg(#X|7tr+VZ1L@P+PvzpLlA6>&LyjyS~g& z2J*dsf%rj)qd?|S19!iqhfxF1^ceRORg5k>rL1+-DU-Oe1oOEil#-35stGJRis$v! zA(}nh&ODX?ZDjM?gB76^^MbYs;>zi>0%{kQS~KhkU_};6UIMaYO55mA)*z+n-$SWF z_bny6rEN$kYkE#VyB5mZa@+8e31!(wwSl}@nV)6fL*@3kZ>dzpw+#`aiHd+$fbu3Y ztajNpyk^AQIZKn@&U_mvb*&09SbJ_@Euf)C8R&h$=VLve!aGYrW9ijgGW2UjAPJs@ zfmsqeD+#m|OG4|f4^xHP?a88h8tW^U*F8f6$OpNOZ}VUuRHzN${M|AxE)B3F<TrCV zSZkyJw-uoxvlNJp<4GcwsPw}cA|G<|Q664@Cy8{T&kyU2{A9o$>MMZQ^Aa*7cde{A z6oCAj*gXJ|@rb;qbrKREy-H7q_l?5uq8{{plVlLB;tV&QaUO&BFmM%_H%V3zh1Cco z(+N`Pg!kq8?%wCGJKhPv+k{hb?yWgr91UD$zc=R>kfStHVFUGj<xu{Iew4@hSW5<% z{Pw}#Rh|7;=;^5a6le|R1dj?QK!@<CfJX$(8H@-wmV^{^mai(LfYAVR{$?=MVQI_~ zc0XF%0Hd`xhoj64jGGoK5=R`FW1u!gyMNM)%)6G+9K+lBTK+iCRN5<RD{Ge=U&2(` zt7@x`S20WNOKX=NU&{Q<zJ%I#9@_^D;^DMIDlVQICQ-|&wl{3U{6k=+j0$=Jm%Wg- zNXJoa*q)FIeYX?V?hCxgtdgjy!+0gEIz(6>-Q%6aT?pRJ-3aOhl+zkea-G4Uycon7 zjPom)lPGhv`!7DcCrBN!9rz!6E(2x^`U$j&g}Fj!N%B)u@!T+C2fd}5Q^1^)0CUcd zdTd$A=g<yh%5Y{hIGb=T#`+dxI;=F<b2x8<IiJ58#LpPS@OZBjhPw5Qs~QyL$TLbv z;WQk@8MtWoJ5joU%p=f#XJb64E>Gf=Tn5Y#$ZX~*v7#TZV4U&_rijP;5xj=Eb)7?r zLkZTuu5&0ynlLy=ejjb-KhTExtn>xpx3C`>&JE*oTHV~*b^5Nl#|r(ktIa}OwX&U4 z*0)n}%J#oMy*%q_y`$uit&m&o8v!$$U12(t#95(b=X+Oi?n5&<V|BFqjUGH_)>YX> zH&b6Tv`sCH;PSXTIZ8D5?H0_!uQT&Y-r&tVGQhm}oLZQ`eI2wyuB&eqH^=)%dmN)_ zk3$buo{;pr417I5mb(}<R^wVKdv)fIBxI>yXNM(0eGQg1rU7lJ@CdaHbsWlf`d4u} zZkVu9Pz$!U`gJMLma+b2)y8T?`*a1&Hd;mdnWwa23O%Z~l<cwPL0c5S-y+2%Xv-X^ z<!PAzr}`H{Td2Bd_q3kf>!=;3uDT^Q(M|8JdA(grGwoWmtkPU*;CJ&AxI^4RZU*pw zIMOPqExQGSupsl^lHX>&&KvlTBsG8cp=X3Cocazlw%5Pk)*_+0z1+c5xZLN#IZ&=I z!f+_(RKQq`YyY}OXZ|y3BQoJu;x^XT03E|e5^KQkp7<idaTJT=wx@FI*X?W=qFl!@ zo>d%kMq7>Yk=X9Gm^Vs!7PIS@vysVQjN80X%GFc1;k?!E?EGww2@Gq?2Ix6AynEB| zy1ucU)js7naf_fum>Y3`vOMaK+mYv5R1)Vwc@O!K88|AWCa@lrN9oxp-DAn{C^oZg z>~>Wzb3Mh*dU9O~lLgv!zPEs@&7>xv95KM|IIAr28BBn0FuF2SCBA$T&&yrze>H5O z<MOnvsvYpIk7U|w85-<xvD6!9Ri3fA#r|2d7!!;=;=$fYUUr8y(`ur7k;vGo@vO(_ z;>tEkIeMiD>`LOR(0dNQ-N77U_9D+ruGqo8IfuixOgDEV9G#|w*4UvfW*5p|+4ai< zM`0XTq@3@I+lnPk)`Tx&DXjPZA_!ahBD1Js)J2Tvi(sWIFBhzIXf)v%nd9;l9+vaA zejnEg&+9>Edy>EwqFiS4$aAVql`d-hwqT5>EW#5KzwUK&hoP1XL9rR-F|g-lJV(H` z5iMlHG_&9Ls_RvkVsjR^GC0F#7imVdiS>LMv>Kz`qk2A;z<*oPqcpG8{4uP1)v$NM zdV^cB1IC|8V85_JD1m?{sk`!!dQzh!E5q+uH-EWVG%zO*dTI`PQ@MFU{qpU$xKGW( z!VxAO_N<Gm1gfZt&*3ID8Dak-4L}e2f$oGG!KCUGA=kUj#+*u#sH}~)M1M<F3O8R! zT}p>b5M!KEwW*4cxF1u-6xg3)3UdY6=a0kC--CGlJ7amZmkpON+ia9S+U=6ek5s`( zz*nVszgTXDT~PfxQ?-e=1AoX=U$caar+Cc7dj8gp>|b4!T*n}MPI=<PIyEwHopn)K zy7{8?$nKNU+G8qs_lI&PrRP8AJf)tKlA)#u`gx2$Psk{l=SmjUbcTP4kkDop@`Q93 zSZRtNRh4k2blVaEM&NPO<kC$`c$9bTeEkk1H;LO?igK>_sfp);+4;&arHzNuD9?Jm z$!!vnTpMgi-0$YL#sgpYy_~+;zWH&`5+wf79n)W3E9?#0SJ70vjkZjlzBv;#9CA=x z&h@j5>ESZup~SKtw8QGPZ`%c<9%Wi()!1Ql(%LugfRzWtl&(C~nO$@7O0swnnW_Ib z|33e}r1T}i|Nc8(f&`=UU+@Nyf*LHZzS$lfl}U{xkO%M;Bo;)KLg@~wkh+s9GVu>^ zm3*mZXs~`e^5DLyD}^~aXIj_f1KDkQlYO(-r3}+rTaY%-@Kk{fz<PbB+rDF=^7b<` zcF+K=b+hn%-u-qMB~I(QzMtA_;_PouB4YyubTSXnIV-z@`?;-UhhW|it%+&)U9=<y zm%@CF-=*BKNc|=R{62lFAD06;f=NJaCO*Z*lu(6>T$!p5&QuAd+py-N{L)QTym<a{ z5YxJP`4D&EvI01KD`?+g??O-LjdoATrk~_};$zK>`PJY!m`@SRCH5T@8UK}>-7{nJ zuK_zYA7JRkpvGL{`4Yri;$h6sL0+qJ+Ku)5&#I^$rQ2Z~p{PxnLb)%)oxwkISq)gM z`AJ+Kyj3THj7ejjvAM+aNN`XBNbK$T)h*D1-lv1#wr^V3;sZ|x@j5}rZQ?Z5>x2uE z!M)yg#HZn46f$g)?0O|Pl1uVZg%~yq+m!d8ISVmbhEqgkVmdcG@R_ha1Ld`XO@7z~ zHk__O*^0I=1dO>OV=tWJQ095CPOxyzrIbYxrW7KvJmVSOC_pV1RFnp5y7fxUna|P| zW?2k1k{y{!wn)?UtAGc(hz;B6!SbK^%>pAT88$!HUoV)dJ+_aaH&LAB!j6n>B^l#U zHq|z3daj=`o4!+LSKvet^Q#7KF=vAuzj3}P_$?0~2O&@2CSc02rik;{azj^t9yos# zbjuHRUd%HYv+O!9?wMyBev+$%)s=4RRt|X7E$}C{R>3HdS%W(N?nb$b{rBct#VhXB z&=QkyQQ|*OX?p_l``xH>o%=C}ed%@r#y?=xv55xS#JkKFrKz6-zJ(EnC~=RYaMZm( z>F{N)%@in};{7nk#&F?H5MP3lCQ?#wM5fh}-M|aGc$CxJxsl|sKojLZ6hJvvagBQ! zr_O!Mzpq`vm@AWDtjtiNaElwi5sa{;n&=mwDWnqpLgr<hx$>lh+*3H__t+vB?Y;`D z2BSZZGglAxMh5gon~(zgD`rQ!{}^b&P^<xQD4T6-6PO*xGJbE1hyI`WoxTW@{#W2N zPwiIFw=^yme=2v8-<4YtFbOMymBOq17z4^Z9!3nb3mMOuM3%lNWqoGiHO6J!p-8xs ziX>Z7xDn8s3W*wn^1A}++!q68;jHTUGcfK~Z?~;IZ!tsORO+tUpx*ds@S=3SO=Cp) z{|x*V=G4`a&BBIliYJ0gb18pyZZgz7DEE1%vD6RsAWKZ{D8KRCMd@WIJu66=p`_ki ziOV90+bs_Vu{4WL$7BhTq=%3mqj{QtEH~AsF{+Kw|7`_9khG9KoZ^QI$O!ubal!yP zWX<GxL*-e>%fNYNipP|p4uiS!uR#j>gu&&iak)$(gSTMJ;WWhkB)1{R3;%?*K{<?N zJcKb<C3`%#PH=On+@9*(qbNt`qf9VP75<*j6aKE8aRypaheqoUQ8^|*opT$O8AuV& zoOs?Gc{)!BC}CbyGN&_LQ=Ddjy5miOht&f$iMrFw^Zc89wHM`NUf5HOa?V5P%h3LZ ztJ7Wc7Nfkjz<b_&&<Q=G2!w<;tEs{ePkE;}^Q%XcjIG4)kW_m{a*s2@h=}Lm^ZsBE zr)3C9!_)a;LIW9>@w!0AJ=gF|#YKr-^~`L_Q^O76>Z^ZqMTLGRF!^d<1E&f{@5UPX z-i`e$@v31h<XJoG+}6(fQy%Nu|MVRt^}JbN!&zE;*PJRd%rr1kX!3=7r971GqD@GA zy1&``c9?>b;r%dw(D3VZ*TZ^gH(v#9SeTW^XS#}<%VDj9@H#=coVQ-Dacjbq=It<( zcs5W8_VWAu?}zo&j~sk;dI=JbOZ6~EJ?+mG_-c*Iy%^;@18Xd#9@=K=(l0UbTA)Ww zj8R<955JHPQqAY<p@w?C-8)#S*=xx&36}zT#TRGPVOZ(ie#uW2)$_4((C#~y^PinR z4N}bI%7_#%_)S7U!Jc_w`jplOrrQ8Y7WH(Z-(3AhyH?pyVlOd+>{YRS#%)i)OjE@x zjrGAoC(Nlk?*l4(N}->(ZC9#JpHnH$XhFj?pkZllu=5Yb`7eOmFZk2JTWg-y^|J%G zh3^H2!rJk)^viL1geU6mw}X`7gP@!92CIY(UbA5C+6BEZ8+3)~YF+~N@0BaN9ykDY z(kEbr2>cX7j@q<@$MfeE(C5YAXK>+8q<#`~S}_Hw|9$_9#0~#p|LZ)gb3IUSyC0cm zWew%*BVZh*U=4ix1~|8Q(z`~aXnMg<vVh~MWAevw@&5bsS$~l?i<<z}hUyV&4xjDh z!U+Wat#;j?8}>hM`}#aRfk~&vziPvjde74n{~4rA<*uRJ#w>j9g01p;IB77$Ndpbm z{uDd5q&rJ-I;2?}!0x{ftj&~x*qbYg%WE4>OQ@NuQ*)>-2W-yRR-$WXl|OS06V<94 zfiVRRe|`b$D{wuVmFd;z-{ao~c3exrV!y_`jYGHVe2<A}CP*KLgtsF-l9P*zr0q>; zvrMhGWnOrX?2N3_vs+F6xCpXVh*ZL09Z$Q4f`up)7%DPKI58cY>ie(JcZ_~5v)=Z_ zd0Z~puku=L8Q%9`?i&(F;$!>L#nV5%03*rW=Yj<;>b7UI4h5-gCbO2G!=bzmfAxqt z+|}SJt~Y2Ycr%dWLa?^IH|I4N@AYwyxEvfk;k97CixDp}_vUx`)zF5QL2h^*ra#P< z%N7*@Tk^pEM9u~9I54Ap6^G@7rDWh(4t8dXbnS|7r8MSVfBqQOm+e}ewFsoN0Pkuh z9f@3*n20*^SV*hg#;MvYV-|wcU<Pn+gK<Ei#S(LJAgR0d5=o)N(dVqwN3|NUq~>5r z4c7Dhl6ot1FOd{VOgx7rHIGOt5hR884EIkzN91%K#y0Uq)6G5HyhD{EVi?&Vztvf9 z1TAAS0tQ)9Lx`l7fut(LL@ho3G0|D}`=D8tm`Eg6A*!^GiG0~_Vda?!F=yE}ZY!w; z%W>PbZR!6m%f&>N6ztDHp2c{#2Iq<XH<telO@=w>cM%0=J%rko>OvTkbGd=;2I&Nh ztIMi>S4Gx5H5Fa%%7N}PJ$t-cB+kND0lZ{)m0OAy!79z-mImOr1b+LAP-nlzz{{mz zWelyaaW<A`P4p+gY^31y-deC?6#9!CFWbhG=Y9S{h^u{H32??@F~eGR`@uP?`Wofw zfHLz;vTEvSyU2o7sA~B)2iv_%{&iRTNEO-DS~zD@4rhc_%JWf_^EK9hiCsY?CiSKR z^*;w55&jl5f#oaDyFIqcE%>!<g#U{wGsg=C@C+%T7}M^mO1#T`j53+|B|N5R#5O$f zkc4vn9>Cn~;&)Y=MK#kH+$a1lxCHNk3o))QxG$AbKM&y%2($xR2GfLS_bMXy4eK&g zSnlzhn=3j!6Ly*pUHIx@R4^Szr&bApH3=C~;9QCKKm6#AVeG9ImM@=|q4nlJaw-Fv zb04;HyGl#4?)2|nmsg#~pTj;Z^uxUUboFv5$tN9BkbO6JKS9sE1GI!HEcJxy{a&4r zz;9LQe2!{lel2qYuW2)beeb}-nC20fdtYlutg?i?fC@U#$NFq9vBB*fw87N?e}>_C z*IS1<TCC^nDI&#m1m0X%P`#Z0m@VL&&Y-+^0>ZMRLCqs5Z_D}fur`YEYtN!N8aV#y z;g^Cy!va<)|L}auKQx~XV6OiZ9IOfR3N~G2HE64g4(S_NZdHRCv}CV0$*~Pi#PKuD zuZO4F_n81Ebe5E(um=H)tAV3oKGR#H-LrkvCRlg(P}^9*y9D!cDEO)Xa|n#I$aibs z7`zJN`4R2@$j3O?8Q2G8y6p3DFU&XLyI~&)rKlN5yc5y~VQ1sa5kj^iLf=T>6yYbS zf$rH7%UQk1sIxrCE5ZV8<ahD?-ETz=pf|{8a5x)>3wx`T+@eEe6P646KvxuJjBV7E zg;{J^V6*)AL=okE6F}Kuh5jjJ{=BBXX4!+;{OkNOKD%;R<?EF&|CreDV$|QgD!Q!d z^{UsGURsK&=Lk7o1$R1#bu&@=TaY#4)%pHt4y^n;13ELy74ab$S8;ppa@;*5L%^eG z9rkHrh`oN98unYY4QgL)Wz7;5l-(0`@sr^9wdfJ@yDR!DLE_OU*1Wf-fPaMF$3ODm zS2YEdk5ulfG(!6qBeki&`;O>)u&a5w0m3f4qJ-f7KpNFRnd3|!NIAPckP7NPkSy*o zON`w0nu9gt`6v0q{F4ukuY9udaHWz^p*;QFDbapm;*w<80DTChKZKGWLdg%Iq><ZG z6S~Pktp35;r2%Tkm?gNrTkCqKGB!`)w*P7xQcs67;71|63E^W1w1Xji?l=;Y5ANUE zYUb#}LGUjDUAZ+3;wAzvm<9~%fZkx5LQeZRq~Uj4A1+g6`qy%3^sj_>1?sNE)Aj49 zd__1qL3tL=jV)A>fusD*rAqs9(*IuvrU~fwD*+2WMXtFU_E)j@0I%IKt&u<r&cR`4 z8>5$Wlb%|phxcSOP@EA$aWR@5gy!Wy8PJkykHRVp|9*R(h0kX7dHLty94k@n2QQ{6 z)Z`7eG2ok{O0*sNCLkUz4pBx3#U?oES}7tGGK*K}AE~E48=@3zLX`5^-qIWOz0ciP z(_8w@>%Gr?^TN?<0r6c-mljoYp*KboJT;jVuLS#Lc#kH5M8_z76F6p)YSIumol^xU z%aAVjO4^5io2OA0pn$P_Yi(j<{Mij@;Ky)kbsEZ>3l?jzN6w-lY=g5Ru_-aH>@4=1 z+M(hCD6D6xu$~#h-6QEADS>d0q=R1_{Hozs{fPdqdn6WO>?4U|z!QjJp~RKe-4HX2 zi3}|!Cg_XagLQm*2~%P`J7Q!!_aw(o1;4UifbY*rra)@lA7)wXMZ=CamY7Ru@B~`o zrKV^~;Ka}YYru;2ge!)-9%NwMC^r3+y9V!_)R@Zkc#nCNa1Mq<gS6U4wdQaV%qAAD zzq@ci#W}qum}mRD`}%Sr?JkI2?8g}W-RJtVxhp{hcR84Zd(Yb6o$(%=dFoKkF7POO z*QdR=IStE-cHC>qAXZdoDLza3?_hSOVnzz=Ow`~nnO36b)4-qV1n9K*J!PfFd%n`= zAHS}d|5|6%l9B^Ho7eOYC!a?-h3Cw(6vg?rkzAg?0=z7#;yX)>;J=DSX~ApC4yB}~ zq8!DAh8yn3O#T@BT4zcL%*GS4;l$l!>jKM6bGQgGVCQ$I=YX%20lZPaEsgR{1wIc_ z76yDM<NRpUsUXy?Ne2m??<xLDua%mL#g%i5yR1oQ)CrJvG@6Lu{j+1wnhgyLzS298 z_zP*01N-KP*ZB3G9>hP96%U$}4`+3`&>utlEk}_FnPZTm-|EG_GU7Esqiw+cHt-(S z<~r1M;DIsyBzR*`o<AHN4IV~(tUQ!Fc~$uk5}W(B9-__2BLGdVcaK-S<M`2?9m);= z04syD4&GcfsUe2H4vBmE1TSs=tqplD1qQlPda-xVm%)MVgkJRyhW`v^PI@fzXdzG0 zYlJ*a8JxxTZtPHM1CST1CmBvbIs+ZhZUOpk3+#)c(Xaos7=95Fqj;2`3o^o<$j>%t zx%)l^+2w(kREfzB_I|KPHFvsekm&-*sHf+`OfBcJJtj_2%{+hndWu4EW5{UbH%p&Z zcDaYH5m(Mz)n!e#LEmN#L8cZ5=wZ*^EYOGXfXhrRq4U}Hq4QU98}JxK7oJCEB;L`7 za*+5pH!48ly)_2tv)R4->RaGkTFE7XlzcsV3B<yCVF8N}693Rcg9jLvQ-AkY67FA3 z+aG6o@JyvTd;#b6cejyrVj+65LUh~vyZ<5KoH^Wmm}ajM$|nL|T5lnD@+zXH5Zc&( z28nA3eK)rbFx@>HZ{g+VJ<k)UAJ)2s+!V-n_N<drekZ3q)bpI2@>|KqIRNK@p4B7; zQ;fA>LC-1~=XtqQdCy8YrB+U{_h2988L+nQ@BX>;`i*1e4{rP;yS{UUeeQ(eb~FZ4 zTYLeTRybm9%I}#6Cv`}?t%u01;3omhp%p0fci$(0w++ZTowN+|(BD1lrabz)OK*`D z)^cQc5LPk;y;!y}87?H;#cKM7lthNbGy1#pq<JvoBtp%xyelLx*2>SN7$;WnpdXZd ze|Hk8Yg`cb_W^eyp?d*(0EvGl^1}U$Y4vsYMPppQC*=_=Of81lC>h(#x0HN~$PAan z?d|LSOfLDVltr+xtYRg%68>UXe~n_UFt2^xA4akC`nr#iG^|^F-S0-fZ9je|w2*c% zO5`K{mW(TZz5GhYQ0-qX;}b=M+6HW6FHd`V>dz;9eP`&dl6iMuOb#EL_D|+7zh27y zY1(}r)0R;)PEGSHz<-yfz4D>UAGiJZv;(dehJWz*C)3#8-@rEP>@<?S;LJ2wJIH@? z?C`#>gm)Fv+91q1j^C1Zq{N$TgT9jD2{b4JB$}lcgM(7<>;91}ku-^cap3#-C97Vj z@s$ori|2}1<<d%LBaFkk@~*Z=vO-Dohx@WZDGRoQbcruPK;l28f)coEp)`id=bA(1 z_kc(Cgf!w)UkskzV5Lc!<lhyc{|fJ>;<E^SNeLE?wg__xVC82K=0`7sFMOJBHtd^U z3rE>MfOTi-4eOKasUL@CCp=orwJVjj(1)<PSTGm7Qw-M719K`ue;s=`+^<{fd-q1$ zV<TF@(h$2FkuZ2S!r271a2(wHu!d*^+);<y7qiEFr`vUk;t)I6*@Srm4ic!T==xrF zYItJeKe2@cW)COaUO=p2>IAswkU4nIL4n{FN9?YHq7%~uOq&s~_3bTAxYh8DtzAhy z5V9wLpL?jqiD{4<5KxYVateG4Vz3-3gYS-f7vF&E=$sv*6QG{!6vXWzn!z_FFjw%~ zX@GhW)OTw+e3K$E02rJVZiU2dfxs$#YPY{Qq@-RVvUQfitjNtn_I8GW{o+W-zpLAC z4=EXEDegxd^k<q6_omK2CseG&y=PYj0$6UiZjcjlHsKtlPtT=uI5!>cXy_7Y?0-Ko zC4kE+0&tIFViv*B+$>vs%N-1mI)Pjic=`Tsb?SH0YwZda>QBITGw@v<B(8N=gqR{2 z$rnryrKH$H$yIQ(!ZbaUG-P^6zpNsJMkfHTJ7Kr?Yg<XUpJhRd=u?Z-6`?}<4;jna z8AU8!(dE{|8l>P4?R3IZ?M#Bn_lJz9IDEH2#{HM{#s4Aw<^Pa=9xVtd6Vm(@Aq8+Y z^r?!Fa%e^9IAagZd!izA4DM)TWi<!zZ5?d@)}-Wi3P`y84?&y;_jc^a@U3=F`{uy@ z#&!m7zyQCxTkroko1ne3XT$xa)c>g4b(g0DFB>o89>)EpCcQkZYsvu(X>jk2U)eSO z0Peq)UD*e4?-m3xq{O{BVOm%Jew=0seybNNyFS<t5WBJ~{s3r#Vr5tR{$zZbIaLYw zw!r?S!}quFFL>^qtOymuO|3^3!<`MdnSx`PeyRb=>vUMlboky4O>TDK(MJz9L!5H2 z5AWLRYz4m7VULBraN?UF*uODGi)h_cRRGh(6#tHSo!a6D`yUy%R>NJPCEWACcNJLv zz(&v*?fxTJcglR2KGif!Qg=kVyP|NqVL*oaC3OV(Vril1_<u`li*EV1w7-5&+KKO! z{VuPXo4nG5SA2(tcx;k(SsGty(3+7+;Q`$&QhHRI_1Tn(9u@CV?5XH#ONra8c}crj zw<W=&5r_03??5ooyzxpJqU!*^imfwp0(kmp#BC9r_qjO{(|IDfF3pp;$6y}%(lE$- zs*mMxu11{PSJAcNiH68^F;0}ghbT_e_L#r|20dtr6Awru8!Sx-=^HgOHRVe4>MJ^A z;H=+7pZEfNuj0h}`!N**7bm_-V%Qf0tTfg=Rv10Y;>6<s<2c+46yKMk-J7D6K_RZ{ ziFW@zN{RFPN0g78W#B1pM43Wt>B-?0;#f#;9Z-l5_ZkF+xK}a?!(auwtzRKV2aG~0 z#B(KDe6x=>!fr*ZiWr5&GFJS!Cr>a6@ny8=?x)2E`V`_DfHe{5bPXVJRDZPlNR$=7 zAvQgQc&rEe|Gfr$?Sk+wgmK`<n8uHDq(fL(ZR<jX3o92@-#&9=1Ji|yC=b{O92xwW znHg1MW-hGSBq3v-m&$`)qtpFyM$|USxSju$2RWNED&d*Du#(C~CPUeM{PxNVl^IJG zF4?~1(<N&0j(!$wmjl6M<K>{LPF+XWF?DR60=(X}b@ZF5WpOWQUQ&xE`ixvsnOb~c z082N?k><ofElvh+;WS<?PLvYKZ=sYxe#c7j@EZ?3WxWR(rb0k^+KQGUYZ=79Lf{bw zVTb}5hC+BA(zZaD1i=Dfb;HIhiAd?l6g<)?i<+bIQ+*#DY`(5Cu*9z()B8T0_W`5% z;I}vmnF1~kzUKxQ&EOqIK3txH)-=9{e3&2DUzAqPz9{XfscX1{8}HhR{n>1EK#xzA zo~z0#axQX=GSLxseBvjnw-P@{{3P)Mvyjin?O^j&`-%eb;ev$sfa6EG#1H-nW%Kzh z07biZL~%|H_kDS<L`w;G0n3kj*Y!B2>jR2OOiq03#VbgplSlkmyM3o*u~3ua!{eyC z%F;^uy65#zaYgf4A2LsI?h7_S?xMGM96SU&(#})b?eXD4ik^HmSmc0mh79LUX`E%; ztesM!VO)944<X-qyMr~R^E;&?eQ}63!fxs@BY(Q}qI7uIPHDVhJy=99O8e?eWlGqA z@02E3)<Ije;{3>V$k_&QnD5P7ZSMr~U1qOQNCVB!>pL9GgkM8n>`ln)+ZRkB9Hf?K zIBByP=!^p!X`&+)PHM4-D(ly716~n*=f$87O2WNALAy=2H!dTs1fTU{ok)X#`zV!y z0C5fccICiX3jA*SFF13AG%dt+5K!Z~2Jl4j&~>mI+rxryUtf1qA6rK4rHo9KTD-q6 zt^vl~h}_S`)>*}~^Fgn^GOTIHIO>twfxAcjMUb)+slAN&=s=NhvExpSNBXVRBfVnq zbZ9lNp^}h|^+>N8Qtck;cZQM>o$8U^gkKx{?t<S{@Vm#LJWvukmWoWJl5R}%!8^H< zP&3Q!(TYQQG0jmLPlrNtCx=sXkkZn@uIRfKTrrtD*+H$?DY1H-v#qB{s1P;kvunK( zDLfglKR&1xUx3uf+_rT%jotI*L7cX_XEKb6xXj9)e8FJ!fMF`y{p`R_NoQc+jCTJt zs>J$R6KfmF+3W`%(eof<EL;3uBJ>ehrm%(K*#>r>dDbf(=Jol4dA6rRr9roW#pzcf zSP+aH4Rtg_9T@U-sO6MD0#764T4zG7tbvAF?}+9L)NhPj3^zf8%kI8eHeN1^TRBoL zTX3^%dK7kYV5tycj3)feIbMo+#eED;R&~lfj3?H^pG3ax;YT8|9*(`s%DgdGyDL=O zS~!*2##viuI5tXDU8WEprV&WUvJv#SuX|raZNzrrYyG>kP93a<*tvn2ebw5@r0le5 z!Ya+EfV!R0vSFp>b=zI1@-;wbj&j028>X<h<s3XuO0?x2iM6~XDJ{y;N<#62{(~~b zg9F;IQri|>&!KG9glh+{kBpTqYWb9ur7UlgvI@&~D8ErsSyZDHghqY;Ph}c)1N&@^ zt!Z)_HcAZWWULKF&aAO=8-W9@SlgpAGQgh#O@b8G0_QXRN|Pt}VOXUcUGmMrLT)Y> z51ycX-ImD7;P2st5vSb;X*8sbj=U=C1U}uN%fKe%igqsoKXm-=t!|jq$nIMW<C%Kr z^g}zPQP$5?ac5NGUHvIA!l%F(cH+8~u9aRhEKwEv5&<r`-ptlY`>oU%{n?#Tw&k2s zcSbW)?MN0fh0W4cL#^}%_)1K&vJH&re>WC$mg2F0aIRS0pl*y0s}o*;TCJU$C$`$O z0hP%1t6^lxGNkb;M}`yM;m0GrwR63FE8JDxDH*|5*csdkbk;(sgCI7REUy=yYXJMG z;ul8~PyU2U{4ifAl1JxHqUmMGNIVCuYBBuw62bb7*}UEMT|7Dv?fzBtYB1V;xGzB- zv6~Op+S&rT3Z3IF*C^9Zvgn9n0-h6a_~sy<8KPs=Fizj?RQskl{}RMw57uKmZsD;F zTIX1_e4(Ioqzmh9tUrTSi7)kOK%TJjd0bsai6_8sSOvK%@RG+Zjdpjxqi(`<UWQO2 z)5G#oH>$*+_2HSWIiul5?_-PuR)}PzRX1T-tb?Fxq<@dha69xafm0YY;zLpVwpMf2 zPRbeWo&%bXN60%G>3t|0tjhNbVDqE^@1Cd$R&E-I&6Z2#z?(7&@GVUiGHzVIhE_b+ zfbY~P_w`+CUI89{lI|`%o+*Gv6B*MQz*?yhp8#69Fj{HEoG9F2)Z|<<tT%Ce*FIXo z?txp385;3Xr~{8&(Bsfv#Q^jSz9op)Z^&ID!A<wx$0vhqCW5W-QSilG6}`ie3Er~H z{1eNg-5aAOmm&}Q=<bM`U5fn0fx_8^vx;1W<wX@t{#=+>8IjJ)9*f8Ry%vx6V#inw zG5~LyX!kZKF<B^b=HH^9l9dr_-l5=o5+d9uG~dLnjnd{WNExZ2<kBmmjJZ8H1xENx zO@^zbL-BCFaBi*YTHRz7SY#v^;SXI)&^&a_z2eBVKdpGBBN<8tuZ`9`cg+oTFM{zB zbA<BW^&|72g6zx`rvz;tFZUhRWi`xmxUb{jmyCyC_}IQJeHub5N;1mSjdjwU78Cdl zBBNT|*fWf1X^Z6v??=WVAg|x{sJ+qd8dz2LKAsHluL;cb7k925mk96+Jq9n<Y-GZ3 zG59z~;LL3xrgbGgl~@)5Eri>+vGEnxf9rY;^M%)JzUvh)!go6ye-`Mjwk0X{zwkH( z`TC(8>OgHQ7!Md&%`!lXap0AJvvd!X+Xdk@2yh>S$7?gG0Neb*Gfe(22!;pk;0au9 zLys5s3EAMm@C)=(;_ayO{Z$FKyTzAR)3?JpY3;C91i!tjD0n8+;<t&~Ly5zog)Hcb z)=P;qqA<?O)^J=e3z*rp&0=D0{Oy+mpU$cVtLs=nBW@U|<}A)w{8@-Q<@id7i*mdk z;s$O_2c^L!UX~%6KrhJ<L!cLAh$YZ-GNd4oTZWVb`Z+*rVE&EOTsD9#;6rLyBN@;j zXM&6$NAN3UNJF57GNdKYJ%pA{re(sAG#++KnA=POO^~5f0!@^mcmmxaLl%H=D-#IK zT%6aDDAVlkujby6V7qdYCdN!6n3yJpk_m)qVkm_`N<t-7rg8?TtdZu+RQ^h!1v1nI zP{Xnq{r5@EVmYS;Aj^ZXoPXk+j&zychq#QK6CgR6a?Vj)=Al@bLlAe$@%JE(xf?;a z`y(kcQZDlfKp(;(L#))BB+n@4Z6bMV<-8pLVJc=qWs3}rBG5(|$|len85&KXl`?c2 zfm||_L!ifHD3?GF%TOMHssLKkkuUS&0O&)hLFT1|K!;`ME&?5qp@{@~SB8cHv_@){ zp+o|`FGFeq9h0Ga40Vi?>q`OXL+K+qPe-6nWaz6tOw%tzmk0#MrbJ8r2@utW-~Bbx zDLL&l!9Y|D<0OGv<h&0FbXta50s2sCm7xHEz{P`5{xgBvWa#&#+?O&`PoPUO^fG}i z%g{>%0;dW><ply=k)h`ZbXA7j1cGfO!TdRa+GXgc1nQ8X<pjDWL%#y(LrEvM?`Z-V zWM~;cZ%7sy5=fq2hAIg(N`~eT%t9HuhvcQoP&t8eWM~S(94|xJ0IiX}mU$ULAW?>f z5ePPTq(yoHQF1vGKp#qdavt5cMw&?dxr{QZoCxkw7WC%`NDTBjF8vzD(2c9(TZhB% z%GD-#KC?RY_LW`J-kLri{Mtlq@12*nLh7?M&0<l_HpnS_3)Xk)BeVZlPMOOj^<726 zZBCDLN$-&^TMkzwMVPRS`}m-N(}+otSGhu%moMozOP5jm!K4TZZ?Iu+`{vH)YtW9( zQowLu7TT2m*=yx*%(%@-nX8<Pxh<{U+1H)hTkl~0azaYdpOE5Fns7oIg3^s>lYvWZ z+vynTREnQQsk-(r@ms4A_eLnuAKC0cziH@oi`KZ2&U>AA!dFeeHrIDn#sLe~wm;ho zON=Fyn9%o}17k8K+Gvf-0GZtD3<l}9R?n^}zu57d2J<qVv@MszJ1Shq@Ce=sy2&mo zm(-dHDQVS_?mPPMNzOp`TM|C$jC9xb<#F#53Dl9@;}cLOUK1<ROHzIUDT#7Qn4~-m zDG74Q6_T<HQuK1lMM%M%Xf>VJSi;T6a*F0=O0%4zyP5JwImK`@Wxt$ax|#C2oMOD0 z^0J&_zM0~YQ?hTStd~<p-At*06wI5aW3<e(3sUm9^k=Z_@SZu3^GI*#F{B{SeIzH^ zGkPZ4ku2Pog|z`~`h0$Tklt@7H&ndRk-eTWbI=RFftB18xI=Z$g|(|t)~?Tc-sI9| z?cyd0l<OGWgI{+&DMEvOso*{>)~Y(72h_^?F6Rk!`*C`+)M%;lZtf`1j3YZ-FMN^0 z3fzq9jSEw8=ioLB-uL4C>#**Ta*$zgjq?fk&+Y4uj>KyYyl%t#KYaFx@94h>`v0XR z<2(AlspnPBBGgHuz7Fz2p#MyGJ<<QSKAj@`xsYi;Mi+BfYMVQdrVM!bXV2x}WP!Qy z>Jz{*6U+0+dH$Yz;hRdBC(IjOdnMj}cD7aAwW_rofBR!<WIRv5^>^SZrn$E{(_MK) zPiMi7J&(K3g=Jq#;%7;`7~)u~D56n+kRh5t2V{sL&>k6z>E5d{q#$|QWk^XNj||1$ zndbq*{ca%r9w+C;5zJ>~2)_3LeEm#@v;=a>5MKXi#A<*rmGOkiWhn+tAkak_nn<8l z8M=c&0f2D(5(pJeris@-8gUw-d8o%qFptTYNhEKajG0WJJQ+$MkXeTC`bQ&X5h@;O zKB2Nru6+T4HWO&uqZqGA&RI-yo+VKFPjF5H#4(R}{i6}PVr589y_|#BKN>L@EAtqR z|C+?_Bk?*JYXreMEkk(yqY+OMycWq#YW;<rhu1$E(I@AvC3%m^d1jL5m7!4t`n?Qg z6KIgD(FA%~&by63FUe32fnJcITmn5OLwN*p%Mf1wXvCibl*hG54TP85Wauz~3^H_t zK<P5{E`gE><dK>Iii7zerWfxMs6~d35$F?uu$1xoM<W)?R6ZhkUlYt0=@SB7k<0lB z)DTs|8P7g=*Ba#aE>=f?<i0B7o+8k88A3^z8;=aNki6$*=rn<zB~XjhN}vNWbe=$a zWT=fmgEf3fplX@QB?2vxq00nXBtt<0&6lAo1ezs7R|&+)P>4X&WT>4$lVqraK;vZS z8iDc%)FSCf`(ib;NCpDMYB(fW2sB#8)DtLHLyI(uK(QJQNrePTk}*>WG+09pfy^ZD zkTjk^ePG+gW5CyhmoH^VB+vyJk_hy78KOwJzY(ZK>LYnQa^6Ie_x=Fd24_d_XkgD; z#PgS;-7BQ^Bl5YLEURmv`v{!#yn6(Rg%ShnCbUTf_LhIVGdTVx9#%E#%GkX_jNs3g z4__F|957OzNcWvlYJ~Daf9`1?H7;so%ixZ`L~Jzev9panvPWjhUN&X8@t%3C1sSfu z_6hvf;N)rI+uz22MB;VQVoP#<jxX8lh8WBxmh>z*DPo$XE{k9K2=6eB`bIa*F;l!? z6)5z;xn?t@Logh7c_Y`mm`G|0e367P1ZdZn2M<QNI#)T}QrO_JC7i2uvH6--__7zQ zcYuba)`{RZ45hm)`X;~BrJsR{MT!DgPZeFl-vIj;%nR^^ji(%T{wYT-|J0199mo0N zB~Lk?p22_@FaEVxVhg}ij;ChTfQSBy2cMkrRQd5ruyUD`Zv$I-LWTItd*82`z7!ch zSh{8zovj#c>(u}9qI7!G>dF&KYL-&VRKP9Ob_|{d;LGB6!+D2WngC%UggY#|BrACN z&xiPeIUpmxS>l_UrKNQz9$ftp*iDu;OK$6Z<;~J+tF`m|{AOvb^+y0bZ*7*g=odij zWqq@>Pme7s%~BntZiUdGuYjDx`U>%xxuu<!`<kU)ka|MzD0j?gmV~-y={4&`Y5b-c zfc24n_BXt-8T{*-r9FW4iQf9nk@4U^{djSw^XJXdlaT&Pce8Y)xmkMG>Xw>;)AxC| zbPR$Y;(<0doRqmGG}kS)Sem8t`evz3Uj+5&lA0wwgj5Iy2%{k6Bo%jVr*^@cwhP{& zUGR1=Mz?g@&@8nAtuKMjB?y-x1OdJR;VQ&K5ZWQ$0l(KEe65Gx1{f~aO4PV!sn7bH zbFkk*u5+=!A-3H$6c-hxSYJGLW9owsuCbo{qyR$s-6ua;Z9Ts9_wN)H)mk5X@LKW7 zPxejI{KE`54-&f;LZ@s9!D%Qev$-ph5yWk~)=)_EkNT<BpJgJ{__qcD*5+RfunuGt zxO68g9+fJHC9?qD2Zcl5nB__Z%U3AM0^ZLC3>-cS#(C<-IMLgubSP&o<dri;<0{Fl zN2cw(3eLUMfTM2%C#G}?VY?MrzrklqDSpsn1`F#R8{47;e?K@OHcV=Q6U(Mpeq31< zeC6P3RPE4vGX$zIgU^63hqS;g;n85dG4U7^WHA;Q`o_RHR-;nf*^^vuH5zy~oNxcJ zUt=@?j~~NnaF2hgkv6b!H-i;N_ONiC9_OIITBdfOQCYBKsp-MiIHmZj9wq*DWI6Rs z1wTRt0|X0%Q4n$<jDw(Wg!kZaEsP&8N9TAo@V(spqcQ5MC2ZMb#mi7jpQQK3EOJ;r zEbxeFHC=1gEHz`Fvdxj}*YSNX`~|fmkh-eD0`^{P?Um215dJ0^LRMQpq%AdJYwo5< z=XE-gl7g+E*aE6C_rvp*4$TVu#X3xJFlSZ6&#pa3&cVJz4fG~PPxBpm|1&;dHB7#c zr!mHA)ylPouTzl}^M6w_)O)cb0eDTgg~qCe7~kKe@V%VFnHuK(|Bl9r5=>)KV<X5L zf2Z%;@AuJX#(>5=InV(64A_H5EjbE~^2dqG<&?W1g$h{4;Iv9PZBaB%Tr}{dcPy0r zFFEZ|NSixA6(pUFQF<2O83S}doIeJ?5{+3&Ct2gfyWYd`NlmL8@HqTz1AGVREz0oh zl?0@KI?g%Hm8Ut+!TEVzExwQa_A0DfMKCMiv+5$}-yIpQw{6?F;b7lh3nyQRCr_0p zo=7|y3ol(^&}s<U+lPUTewdgIuC^S?r5*;uZ3~q|XVYWoI{Mf2BvUSTqO7<3mHs(L z@%cQ;|3?7Mr=7(2(~jpw7^f?nK-WjZ_dh;{?~*d&%4i2Xe;Eb;hsr;eVVDL9{I#Eg z=llI*VG$cA9_s%QJU{6l2hWfDv4lSCFM{Xs{=Y%l2jEPCw|sFFQ`iF(9*Dlu@w*il zI^rMx5VV#utBlB_<_gWPbkwhS=%yYsE1KXAOq^KV_f`<s_)`CP*W!0@t!w&KMm4PL zT>bX|w5h)Wo-g#<;kluIGCbGz?}S}G9t)^wHo)$FgHZ*)eE$r1{+!@E-A@~K!hQt4 zy)#g3cr!>9<OE_=XOXr%NU*Aa65gf2w~hvI3m3_hru3HqG{65Tc+TyA6rQsQzN6p3 z?d%u^R8I_K8=eW$1!HBZCc@toLVFS^J%N-cgc^ou7&tN5OKQlIYtRsUGr>3XmqQK1 z34R9PrxJV*;Li#&1uMHo8~_OdhS)bBo^ga9Wq&2anSK{M5h>Z<w-ap26x8(efPvt* z68vx<=Koq>H9Xt<ege-ceOQW@06&G`KQQpsWk&qP0Pepj(0|Vi;9fY{mv2mj-$uZT zhm)OX_e^Lr^go!o;>7p*aG!bm?lfZGqxwE9`F9E3qkx}4=oW(HF^&PA`}?qb_x4r6 z6MW&}`8vVg-A6$`WoXub9!(y=G&ey?oVdC#!<YcSPxsA%=Zk$<2cGZyFL<u&n-0%4 zee>X1OK7`E?yvedNLc~TgO`mkHk;+~9gp{F7_ae|KR%yQk1xXh@_76?Z5w|(r8Yr2 zBlh*<);|laj}pzFO}HrTL&g%IT14tBCw0ysPma`SCvhv`;;z1(Ql$lty~uC`EFSZq zMFB$92~<xLs%AoUs7zH&s2T~45#*UksHTzlkiJAx_l*daKmtkAk`n4Z{4OZ^u#VDw zSjN!^mPTKs6rMei>4tI8pB_?UD1xPVAp)mf@J9U&@}U1CSZgjto-_;xyp{bk%5d8m zaaI47ON{t4!t-?Cc|||&>5n70SKb8*X87G7vBC3C5nStu2-e&8N&LOYY>2-T!JHk5 zU~On5DF+Ep2M8ChMPeHDd}L6gjQv=nc13VKFOhoIMq(PZf>82Au-4Q?u)c1DQbWm` zp(Jn3vk|OUt0E)dxsqV~GQxl^rE7R-RVrykYMBRmA%Vn`%QnJYT9iMntK_YVk`=t} zdLJ)?H~-ZL`QFT13h}}IA{Tt?1W`prusS!x`WuhL1()EQaSG_o9S}fY#!rJ_r_^}; zpmwByAJKXn{!X^mw<C>_Ec%7Qjx_K|ETl{e$ywba2;*5A0n_@tO;t_@vW4Hn7j-c% z)85RO_=P+^zr}cEpr`6ag;5D3^s)%7UA!5t3@<(hOmnH5C{r)k%jN)%mEbKUc*Xw# zZ$97@LzvW<3Tqk#x5%3^3!hBqMhx)PJ+o5*V?qvZa7}88huTJf6ePd4tQ{RoODmZx zq~@;nr5fk*b|Dk)JlT0XTPegdeKf46z6{!c?!6E&&;Lrlr+1M4d$-WP2ItYY(pLa| z#lO*iU8Zjb+KX?}*OlvLnO%##6x_#!_1{hUFUa(Z?Kr&&YUuV;X8fJL5-7_<kQ#@U zk9Iu>C5J#8_x0v@Q)l9~r?{x16sN%@H6=L`XJPB$?XG)-S8UoAs=bCPw#NbXOF*v! z=$V~komYd!cD%#f0BK*4w6@@MpuZGCIfR%TvSy)CL!|K*O}>_#q$?Bjsl&2Nw<Rd^ z5i+(NREUp9sPRm}SAj`Ql<^zzmWYc|aC0o$ogVEC7LwI%PV`0)YbKtP=0(2_YK$Mj z$os2k2<~~puFfe1vDX1k+Z1gJ65VQ4h}m!&?Tf}vqs?z4w6YP6LSeLwGRMzGTNF1w zn!tFdEk)@quwUJ2qv2o()&fm%!nB9>D8<Q9_d%3%BfyUT2zV1geyw1K#r<06MIyzR zoyiXP?z>_*pXAWP9ll|{G$EbGzJh6df`c-qJK>J{(Vu#?<#3Zd`(Cfwp@dtfaY8;v z8I<Cy1KCdZ!AVVe_->ehWd*?r;YkR<Bad!;WN|jWkf!6NXB@UsZ~&%i%SlHjIK9pU zy8x{Aufx|9VTaU+j3dh_lbS;ZqTLNqbG2PWPnate;F<bj#9VE@39SXl4*s99yc(Q$ z6Iu~biG`5_@ES>QRETKFLLQkshzav{=0>HRDugfj(Z?k>Qs-R{sK8oLdtJS@3GU)G zSk+)d!2X%=y*@SG^T4d3R?Jj7l3eLd1<(WU5?6{-`!u#SG{D%f6haAvdm+I6JBQw> zn3*Z)o$SoCr}c2IkJEAfAZ{w`#nSlH@>GYBM}`bO+WlozA!bFuhZOv4(<0c1RPSJ5 zEPz{X@Puz9z-~(o{$ZC8D}L3Z5S0<^9itHGNF2t6F$L3~51|Z#6~a^qiy$n7uo%J| z2>8x5Ej}Dco!Q_`btHlRQJ`bw3h-cCaTs<ZcwMbH13rHGBro{(S<FWj;;CLOp`Rke zm0_D_v^y$I@?wqM0RPJfd@%=nB=#C`{kU$-1Fl!yNQ*0B?SQqE7Vm}cCfDKJ7Wj4S z2QQ46PfxV_Q_1Qz!AaJB3pHgGJb}L^iqOJzCPC1{_rX<Vux|u=K(zaqlmp)ufjEl! z0O*@=ow#lP-Zu`?H_IUJJ_wlJcnD(Sn~pcjGhG`SwE3v>=<17CQbZj(j*_X3)Ovb9 zJwOj<mN2g{ce4UZi+}HZW%jOF_@>(qH})B%;9Fo;ajTm$(8e6-lW)L>+19%i<WnSU z1?jvCJUS&O@Cd$=7W+|JZ0yZBsxs%pXgapH4)E~W^Ti5PSf@<<EB1{|{A=O|zlLww zJPYABuzSEOx-&hr=<O}@u5rLS=S1Mkw9-L?4lv?Ai5Ba6Er-mq)LkHdk919zMzp&; z+U#B7_*um;!2YR2VZ!xfIRCvS)`07ZcJBfo?<G;p?VPD8VkA))SUxk!1%CYghi1gN za*w7sc?Vbkprthf1S^Zq)drT#)Vt^$l|RWDZ(8{Dy)uS#V3a_MO}(q7eJCD#Sz4pr zWk+anf3F4ZLQ=3I$p<?3_f^AJLGX7QA3T613WvP;U;CBjYw$f7@FTUPcuO2{P@@9m z@FuKGktp;-kAr^x0sN}Ez*`9GsQS}8amzt-2U7~pVcaEv>yhda@?vN?SQ@hjCOL{K zGC|L$@G&}ACL-wipTHxlr9-zO@vj(ql>1Xh{EF}P2ScPZ5e~rv!Q0?{r}N|d3UOvn zHuNKmX5v-QZzQHcokM5g{?0s_;Yf4gFOTBd-|NF)C~N@>!R8Jl*$Kfp<IT71?h8;t zpWsM3n(o5i;m>sKIHWZxz>5#QciTU38IKc#?=v1d@H>Uy={*o0fq>s>tk3xU#_#)5 z2s{KNt^%Eur1yYF>_s&Zc7<=lm%B8^h0o9+Q*Y!Dd_C^Z!Bf&&ePh`G%ta{Y13$*R z0+?aH*P#aKn}t;9*`q<+j;H(Hnx*9MI}mjLFV@}!uBj{i8^2370!jo_1ecHiB4`K2 zDr%RQU}RHpX=|yS2C(*mPKVY`hoLjmC|aq@6v4KNTDNZ64Pu!owHB+L?(HOstxH>J zZAl9Qb5S&xEqTAsO+fAP{^s}pzxjNgdveb`=Q;axo^#G~p2r`KOX8fA(!4%SoP&Fd z^zFR-?Z-e*#Mw7W|I=1epGEv@+KiLitO9Eb20KN$z1OzgX5b##y#$(>s-+)ow=`_b zO16&0SolpJG{WQV0EK<V_E-bG#mRn);Wr$)rWn(bqwBQTGxB+65LWb_B;;mtSuOex zwe|q5J9=@wooLa+sEMuK$U3EXm-LW4N{{y^*WHg1M0Me(aFpT;`eQ^FOIFT*q9GA@ zb!8`@seb^Q`qYBoCqpmC@4X4oYs`s5aEB~KO1Akt-}c$E@~`WKS9_pZ&e8kr9D1WZ z@Lz%dhQNO%{>KFVtMETQ@L!AnLj(WS_&)??q`r-Fo8<M<#N?~}TJw{B&B^`xqwlB5 zR0T2!y;O^@<2l`}z<JM<tiQN#{1qCdk>h$j<-UZhN$Js`#kD%G=Sn|u)%#vGTvub9 z;mejdj2mSV?^KAd`iwMg#1TE%lSj)e=^2?r>lB}7QO``w0n>HE8mPsxd$9KGJ1;G6 z9{P(^QlWnaw9D%;`)1)*37tTAJ%5+eU-pX6bG*;?J&gkzGc-5QoJaG60HAR~V~55N zjhB}RkUv$DM()qw_fW6)%Fju?FUU3E^VIbHoPMh1TA1+tF2q*LrMuO)6Q$cZuO=Nm z4LjUk&r0;5?bp?Ze-zT%x&w1LjYz78A0P=%JvIrm#=t23x*OxT`>`CK=bz}m)T(#= zb-gqRZTizWLn-IvyYI@76OEjc9`B!!lRwQXm2>h2axxw{dHA}V@Ypf%d7kd(<(8=a zg&geazE3VcBi@2JVomSQQ&!0-zwq5X^9@3ZP=zse5@UN{ER>$AlJ-L9$wSUjzh8pU z^?hGLofc_6fYl%F|420J@6BZ<6}c#`4soxJqkB%>`TK0d`8W{gj@|@}rsWdN3A<$~ zK`|G|RQArEU!pUZS$;-m79-@<x#4c~vXQ-0vnE|LDs^R7=Y|mEDD;}SA?PP#C@3%v zeEll94m+jT?-b%q-Z7~AN{piE-qHB?oUFHHWKROdmqLF2tDFAUqWwpJR@J+Q<WQ-m z_EO4f8Pg}Yf%Q?(&+A(&r-&V{!_;@FA3qDAK2Ci-8!*tviE8iY#)y=Abs5qk3K)wS z^OtDglygJ@$DqE$`y%Tw{`;embDziDn_h?c3>0wGb$w^#uTX~IK#e?%{XFW|g0%g+ z-~feL-2E2n<duF!mdmZixBF51n-5<*K4~taa!|P-_X>`gY5W%dLu3wTC!|1j>9x3N zvRkLMgg}>4Io`{qoq*kdJ%D{UA*g@`H>R-<@kVEj0sp<beN0(R;pohAP{(0{w)DeN zSOVx}FTUg0Vg|)5h73b-$T{qO%QDFicf42pe#iK{<L$cQ<L#k&xP#mF4(n>42ri>V z<~zDN-Yff{@i?#%7cw0dXVURDw2VzY<@TqGCGu<rKM8plpM|~QoG5|2yk!x0xoUwT zC1f(Ax8TMjX{L+8Dne8GFRY<-z3RT%7h_{d57|9E>$<<0!=3~G^h86ic;%8~i^T2O zB8m1ldOf{N?}%+oZ}?MO+lN8-^i)XOdV8ecUcTa~-kwX^-tfZhQoW7*&pEiZ3e8Yx z^PX0>L{ivNEa|ud!QS{UH@(Hf%HEYgekq^YtYFktnA}TFv>OM<u=*<w^_)AAYWo?~ z@Lt>$qq?Oyy81Yoo8PH_^APbq;SB~*ppA!E`J|?*m&Hz@Lj0RNT6gL50%1lWOcKKI z_+}4;`Li5mxBgps#qn_+i{7Ka+L=b{9(|4MTMl1ZOXy4raoJ%;PQ!*hs!!YuaKRcu z3^eJ+kgg2MAN3n8cG%ZIw{>JmP*xC1NBoVkE?hvLVZiq`h6!t=oypzM1jICM#oCn0 zL~&E=hi46+7gahudkt(gMMD0)T5^L&#dvL$dmTeP&*yp6XAmG85AKd;XWHkkx`w;6 zG$K95FEb~fiZ%ZEnl!-WA#W;Rr}YzhFmiMUv=Nme4CUdc-}m7ATzvo2uYBK!@6++U zEbu+GzA?LT9`+IZJp05jaQ2MYVJD7dC^#0yU<(I9w>7n`LOkF5Iz~NaAW$XZTdTo~ zoM?}|8uHvg$d7st$RTxuA!86S?rO+Eob|oC<&eV$Lk>Ym<<*cf&b>%|Pw$g*$e_WH zlzRLxgxuJ>Q4Se47?M&Se>J3>I^le{*Di+)N5~{-cZMtw+DcJICsb9ahk==D^tmdO z_2e~W4L?mB`^js{q&+w4{*|DRYr1LuN&Mh5dS(!BG{P!@_kG|UauqMI5Z<e$7{Gfq zx7u^t@4o|hZy&^qIdiaNR0j!z_?U|u?bXQFiS`MDen&5^wo|+8*ITjjux4ov8-xkM z3FKl+J3qKK8u8@`&^Z@4%&rc1F;T7|O+lrgdQo%^>F>MhL7aDf6;--m^eDOKzmr^T zR-Q1*_aJg72Fp3~_XDB^6L6lp1@%UJYeFVY7>lQO#1E#b{nCXRq#XYd)N`P=C!W%k zrj3p$*&-d&uQA`+s6g&>Cx!s?RlFlI!DH)mr9@XM%n|9FOHsPh9Oh&ulT?QP<|dEZ zPN}A0SS`JYozlO!BTN1P3NWms*`0c1fJQ0qVDz70JT(C{`2PXi$1z4W09N4^5vcQA zC$t1Z7e%Pxa!Sou0WEW#Z@(Ywg!{^z(rIuR`FJlbuI*S}T!gX88u-f}-N$!kvo}FU zy{d=n8x32dqZ>(M<vRd&iY`&nse!I41^XYwyepG2@SW+3VX!l{ER&5Nh!O5=YG?Ag zI;?rr8eJXB^FC;-?YOs?olNf!bv&1u-YDYzLx&%uLh%iB$3aTPe!ktBmxz1cY|y_Q zd*-B`u9UvFGx7A^<w%=z$B9a*<tTqS=3XW?yZL<k%{a5YxokV`=FBSI4cO@p>QVGW zwGIspcRqz2yxuV<Ft5$QOje6Gb_(U-4;|}}BN6W>9PCuhw0nBi_B73DKF!{E+zpw_ zqqo2+SC<<#Rsww9v8`(0d-A`>cca_!)|~UF*=f(Z%h7j^qmMZ124>-P9WRuXWA#(s zZp17cTbxf{<es`#{t{P)xp6&0WVR!ATqeCit`u!c^Dec$|GejeW3S^T6P1QaX4Agj zF<XA4nx3sqhR>9a{KUx}wkUlEr#;%imQC;2t1X$UuE$M%+&<*-R3vjTYPd=r-9=<; z=74uC#%&q88-_W)etFi|(&fZgK}sa(hOLcEJR6^Qs35a2Lx+7e2K+^0nG-YWG|(K{ zsW{o5R91-*LnDH6Mx){r`EHs&pJtKeMpz=CiGi$=+Ra+qNyx37l$!NH4NT%A&g_h8 z#MTJe8BWw2rEnE<95DOG+BKNtm^eS?IoQ!<CfxyDnI@CQ#w6bEoRJBcVsJ$>GhM)S z;yPU8K|g+mE0&4%<4O}*1v7Cv;j)C=l5%F2K7V)}c8+VH<&${H@#+1Zc5ix}9yK$c zz9`G31G&(rqP)2zW?o|Hw8LxV(D8EUu?YRSSAS?YLVw+WFSsdr5c52%n21|ns0GvW z?&0WfA3<M*-SQqZ=6~d7;!c5|TqobC2j^ux?Pg*xz~|2r?TOM|F%kV>U{0?9Q&tJs z1b7PYF1|ep_bs?2qgE}o>x=7xGQ+SYd6r49tHQlyx&<AMmSFXCKb{5n`xx~vO}#># z3$1Xt<$ojubS1eyX5N-s7X3tzJF77O1HcG~1;hd30pkG)fC+%4<Rqb{bh9*3Un2~y zIxB=$K>|;&t_m@zs=^GgBobQ<sWC-$$kxr$RFm$d@E=1Ny8o|vDfDAlgzbl3Mx0`v z_Y!yVAKVR#DjA0Rhg9Al03?wRn>AX9&Dtu7&10c`+;nB}T#fZp$E$PL(-<%1?Bolj zZ}(ohI3Sa9anwt7&y|LQt}r3@^uS(Ln}(Y+=Y(U#8CBac4J7e)d?3|UR!FbwLps?I z@L7}G&aF~s?ma!_6gFhe9K`D5PbZ`ub)--K$gOJoM6>W}tfOqokKoM)+Jm^_F<E3q zXH3?1NZ3UQ$wnUBAa^D9A?`}TpV=$14<IL+P3Ab~cIms^7VCKES`2GeB=O*DkMp3x z#akP{keFI%7N~{Alv;LLxwKfNm_D>qG4zrHca)i3=A(|5(=VnGH=H~*q%%3>3t4aO zHF>a%pgc5>$a+TlUN=UVeNhqqLnPleJN(B;NM)F#oX<!tCD`4H)ix{Jj)jC=juCE` z%fwW&Q#VNwiJ*#od|L>2A8M-o^sKaV4t?^slnP|L2Ga5CTlkNj?%LJJ_ELU$d!R2- zTcy^I%pM6|t<9$wm@A91SN<5*+hctbV1uYmN}lYJLSkHyQajWUq-CzemT=;meLl}` z5qg5aT&~Eilcpj}1i~c9VL-9OkvJPlHDQH?`^p1zp$7U?8hotyH8f!jv+{v``QSGm z#0eSAgW)9)WIiyTo)2b+mpqvH;Jok>#xTY9!2B3nO34HB6Yyl??bvhU?G}5v{kWZ9 zZCPEun#(um^AB4dK9<iFm<!ev94p`o&4p_Uj}_XbU66>|3D|41OZx!_0S9b8V0qQX z<C(j1>HNo*y|+wtuk~K$a@A7i@|N4}(r(1q1K0<67Vtda1;BHF7a_-IhfLmDKm}kE zpc1eZunjVIuOQ4zfR~dM(@>l9Lpno3uzso(t;~3?8Ec><cKSU%>w8>tq|?y*IBWTw zp`GbN+g+&1J5al;6w|k0c6$cBjcbO^*CZA*-(%9d2%VgA*etrXNZ;F-Hmi<mUXfgm z6~Y#&rFonje(pf{zOFgaNqx$HaMG9NgKVq3S2=Amo0RC{#P7YlxIp5?Q0z@#=;uYF zyidT3<Gi%$=5YrRYi_tBy`!=c1>(p@PoX<4kf_I8MDtHgUwBqTW<<vDbo4aXPQG%O z6W93YF6sb}!+<8y8i@KJ(Lw41!~;dbAF_kTy6~Uq7STVVh2K2IXoL~0W-Z_hfX;|~ zo_$_ceBW!dG6q_&(b|iJeP`-NPvT3HmsVbMy2FYokWBN(set5Rw4j&ei75srKJuo2 zEYO&r)UMdLrB?OYYU@zzXY+XRx&9<U%8xGnBt56KTw_Vw!DwY$O|P`^Lm(l#XjTDd ze59b?bGf?#nmbi5o5VL(t6{(Vos1Ge@;Lg{ov~bFMlJro+@D(f_I$}Rwuf}5y@eU& zT=$=f55xVUo1RU$PjI?Og8oJN{tx(kj6E;x-9Z*FMIbI1bu4qj4lAVEw34S=*17j8 zLjE0EYf^+T++q$brrmrs<p1c_^5>Y-X&2WY{u?>`euRH!Fg&ddLyLE3?atVfer>F$ zu^U4%2hJ`&hcy-A9Qr->ZtxqOqoD=(Zux{ByFKV9G2Q{+g#q91`V$4xm=IQ))4DB4 z(H1m}PPMDeCNXLCW5~l&?CkmR%m~Ez7}6a+Pnd7Oe^S7|QTA62`o{$P4-KYJn*xm* zuz$40%y(*dSU+4nfFn2%c2_^`_k8Ca@b}@|Tyo;fTJ}FZ=zl5TzfSi5#5+)iJ!u2E z|H8hz{f-*Ye(eP8*4)#x;Zn8vsCdG@2xYn`EyVLbQj!o=${4rdTpZsnj#-T}rT%&8 znpOs@;J3WWxPe@}6-aHqTtf8On>$?t-(C%TGxbkQPoBqNB_CF*X#0?*e5`?{Oq1xb z`#h8TQv-M_z0e}B8HoKvAa;z5S@6Em$!f$w-1flNuzqTx$kHSs#88`pQ(7|<^QmK< zT#HA=Pwk98r!^xO=WpKK?c-{KVKeU$8^wr5xhpQeWX3&idlX9iF!Trw&46YZ=ua4B zy#e<oXk52poJNdfH6sBuzBAw!0LlRS07n5|1HM7H7C;~VkBnqBkTbry0PY6B!Gj!g z+ifiK`>^tv4!oZR^m}fRCQip0_`emT9rcM~<lsgrrv>}`%xvsjX;MCJfzI6!`hS^x zb)c%znv`*F1uVup+ZlP~8H5>F(PpRj4FkP=ddCkN!p?4ySE2q>yx=oT(hMg%v)Vij z5|$rejrgI=760ZO6Msk^hdgRl@}$VxA0sg?--kX-$&)0#|D%G9gsxc06DOUQbngJZ zdAeQk$YHGHA{sAQFF-pe$9^j5YB#qtk9>hxv#m4I`#eq`+4FF=V7(L!Yb!mxnBK~0 z*pxHZl+Q=yBfH^uv6JK7%C^UOl#D-#k_E$>4*kc?v9d>mq_lwlhUp#eZ}?-!4_GyR z06nzsveb_88@^}{DkHiw61lvu<MA@~M)3L@h<|<)tArHT;GAXiK!2sbB$Zl^=P3Sj za;ZF?H*vOcUP?U*Xnwk#dxUiPwhWZ1*<U7w5xOH#rsY1e8uAV9utlMbZ$%qYdsDj; zt#0g9L25yV^H0pKxpdD%k?g119}MyaCH2#?r=`aT{hlyr6=M<#oKrKVW(Sv+gG&!C z*#W&qkN<9%ZSuVG27{0Qn`tLXM_cJm;9188^k$Zya}G1KX-4x0F>P+*NO$WOV!v-! z@~p!#!bI$Geq72JbiKSd+{(tEgr1PtvrX84akZ<872xKovA_Dqj^_t=2%^uqKxGH^ z3nI>yV^4Ff^n#6@(hME{LqKy*x@d1ukJb8T(4d>$f8>V}lh0Gph>*E$ZidFNRBw9C z4LOp=wczt3FxNeTHU9ul7AEujQ+4bN&dN`ShV%|Aa@xqq>*v{)H~jO12BEK=A&#N- z!ND2BZ3BE9jX%F;t{bsa$T!j)SPgsIyW4rJC$I8?Se`N^^&{qu$fo_M5%Y0=r^PB< zn=r*cvloE2>9I#YOj`{N0TaQ={jJaM6AqsUZ8Ch0^aW)?o+(LvnoYqjZ&G*(*Ju=W z6sN$_=s@|_qO28w@cQU%_C=p(Jx=)9nzQ*n^s$k!Ego5n^Kg0YGY*z4Jd5^$cHvBX zddGd337?nGN(Wkjhkb15u7VzZ+8YW=#La>;TKKRA74*wMdQBoZBB}?<1KnjHzJqv< z3Nw46(#)USVoqorMmAO;6;HgtALp0mOciDcP0$U}gq_o^*qPhfo*32C9+bDWU0YlY zjRCvcOA^nwmqgL6l}XUHJPjkL2`BbV?eR5D?Xd^fK~8==#uTG{0IT`bj(clTJ03g8 zRQo)fBx_#TLGts^xROivgvZz+#T_MfWB~6{;LVHjdOCa*uC_x{69}2iRx>*gLy!H> z4SAT279wPBRBcC5)So&&lr61$JtyT@yW2ApKLs^A0*j%X9806G!4BO}?fG^yVq_vM zLF<J~(?DJz11*K@*)M7K>~5b4yfYE1II3(A?+gCiK=+j#vX<FVEgfX`OWIm}9aqC{ zC%Lyfe9VpmkXnSUE!z!sdC+1+zS%yNHDO)@W{<>*8gqQ+wA10G<%hRQi%rX7VnHL~ zeYUy@75J{tjk32kuiD=RFu&KhEOMef(LOpWs^TfL{v>QS=(b3=>1v}Y%%i^2rbXH5 zTz0RHMO>G?3i1l8>!K^FS1X|{L?zD-Y%JaH`P9u~=Pk*8);-q#y?e`QSuZ-;p85mb zRiV4Rv?udd^hx4Dzl6UX{~rdV)-Q{>896)!3H9GPd2xp{Yu>D^o3iNyYPWX+#z}Cg ztDP^Vop$2Z{5zIcsl~p=DY8tO&vT1+JS0Tcv}?3$Kzkui=Reg1-<<-!yRJLEE)Mc3 ztGd@=Y|+29_!qAw={p0`e-ir@G4m2iIWe(23F9jSa{4Ufc3>~Ti}NaQVZX(?%--Ym zeA^Fu5Pe?HvR<#p3z-)Nw@}wYix}<mbGX;<PiJ<|Kssjp^QWUlI{7GPlaqrUMVH%& zdZ6*5L!D4v(Risuooofo+5}gFlM9?Cl0G)sYF>CrrS$J)W#+&e(Uw%iodk#hNcF7# zH}jISIZ^Mup;TW|YYuWw%3*Gp?VKdbkYUb&>|RnyY$-GGX5`^}oZ*v>r14p`mq$Db z8L~6R%&^kphS+R2ruK5#qcJ7wlZJE#H?7+kU0qCil#MMJg>~}!DO=28XCe`{tS(C4 zHEGi=z^+NFKCCV>llp@H37TQ!M2By<yeGqnulPc;ZYhbhy(P;$>QEbJ`^iQJX`xZ$ z)(-94Ohq{+0>%Qy0Ac|*0rUVW>uA6@z>R=p0Cr(YsUGM%ht<*kBTPU`BKB{9o4zXW zw2P#T)L&nOgTgB^G^Gj9f)iP)gVe3Ig!Jza?x#`ztd-8G@5fyxCC;96eWSAVC`-04 zGHVpt1k@j8jLZlJ1=N;|%m@a+%?!5%poD|&`3T5(_IU)zCUoPhniFs955vhOL2`pK zdzt+8PWfvBWDaS?{%&Ie(x-9_l#}vFWu-QzdZ7BCx}kca`WYzywf`wRba~SL6toLz zNTSEii5*_L9mR>QUet<BnXWlvLb#=XsmVBdg}WG#2EYkiIwS5pLjOzZC(oapO?PcL z@l)LL+}h4<_-7P{mEk1JB$F_cOv<Fw<uD=HhVhvvVfL7iPIJk6%ppynk0;vMV$f-< zcKmyu@51kcMm$0Hxw6Zkzr+=#H8L@KZNOd(ol)5PRTe*nvxF14^*0`I2j-zSuqQni z`^Ac~cQFh1dEV?Rt<$0Z6gCj9u8wpWm(uCKr$b!9_D1?&a)io9<)Jb&Z{C$j<)-oy zU3wB@&0pqpxy<A0hvJ0p!MY)tOch%-1U-DAz*S)<zlx1v41yJUEyN-HEN<9A9to7; z8z0W>{CmQUQ&5+Llkn3yo~}NzfyFH~pJy?w#Xw3D(v6g!zJbTs%M-Y)8kvuv@RUEy zjh2HM2j_oUD|w9FOkBvz6?LXbYFEh4=QH$HkLSF%qT$(eZF8Cw$4o{al{~s`_Qro> zN3Pwq8zbtTo_QpDSH4RQ{Q;<rNqo<~BYUf~%N7rdPS4nwX*flR-zx3Sjl(-6DWLhA zjjK-In$zbo^)wfGJden$<SoFK3Yo>NSQ!uS3x4XmUS9KhJom}r9!I#?9(}O~Y18WZ zF}#oNX~z2<@_RYnBYO7WJx6}G<2|HjmJlg;JXYD~&+y^lvkg8s%RYaCPfs_b8%tq< zBdO3YUtO@U;J3ECCATkL%B;#*m405zU9$>#Zt1qI@OWb6cqNGUb@v{;kCNYihxgCB zoAEwOelN!RXWjah9#4?`ejnc7>t<jN4eJBzGQ2f*Gn4#p1$cX-d#m)K&X&%=t|Nu$ z^SlP1XLWa9<MVuX9zyQ#zB&C?_njFIKrP@^z{`MxfENMJ1D*x!15i8m_8)DyG5Ze0 ze5_mlJCElbdH-NB-v8Qd!+V4Lz5wqJcjw}{3eS(-xpLgE`bp-_B)(*ym!6OlJMX-d zzPis-&^^^UQwRrl-r@-F<t{yAhNWvo%sBz2uadEufhVW?MZ9m2-*3hH-0mOnzD9n( z3GcUdC!lu9<ab&zP4AwO{sdM*@A0$(^mu+Je=%7nqb??NzvotuVl`s{MnDi?0^ltZ zXc*i*aA_?{I(%t8Iv;*30UH1>0^SGIV$N%U`yT)cSQW);wg6rOd<tj-sG?a-4B#ff z9RMx-MgqnGCIDsvOn^+lZGaVkKOkHgU?<>xKsz9GH0}cFS<Pg)s{l^{8USAce1JZz zopRv*O|IocQ05%hrtHnAh1Vscuql01DcT?ZmY|>hD6dH?@a=i{P|t0aeb&Nf7ko~` z$8Wo0HGH<hClVv;Gdav(;IonNz~`T`PZ@l0;}&~V9?x5{&%^Nf6MVM8=aB5P3O*(9 zc`zONE_HpLVyPtkSWAhV*QUPohTr46O@jRe=(77=dVS09(hs%#PX78&d|iRB3-I-i zlBTXG{rQ%n^k-X&<gb6nR{>wm_<BFSE>C~DWqJCOEz9MvFZ7*mpmBjU_@oFIV=TxR zvMsne_@Kvgu{U`8$76%A68SB@8zpmAa1AV$mXx*JmHsf`p_aR343G6O3CXTI5oVZl zX9l@L0&b9WXZoF4d6{_`Olfp!SZPqHrgBL-Q>vDqs>(a?UnxHomAB(RFF(1;+wh;2 zpG@WA^j^>RzQyS`w=9-Z%jqj^SO~v!KGL<fAY;KVXy2PBhn(5Bq#+w2-@{!<Cb!SC z)Te34NWc60jP$#{&yYh*=+iY|j`7|0J<L<&(5Th-`K4Vq*>U;+BU?=T{5eN2w%cLf z6qxq<Oy7?g<L~dWaLs@Mz+->|fKLGb0fdcZH8%p507?N*0iFXK10;@PHM0Tp0V@FO z0lNSP0Pg|L11<wp=*NFRcq3dh;4gr^fENMp0X_zhex1{B{{bC4uL52HkiMP21L^^< z0}cTkfI2`e;5ESah%-Kh)yx580|s;z7UTaTfW3g%0B-|618l>5wiD1~WHqzWZ_2(2 z6e)K#U`wxOq;Do_Cc-xZ&tdX&s4o@&gXO2jHy!_#@{{vT!+)Qbo_*dM@$8nLSG-g4 z|C0O^y(#$LE<annQ}Ev{Kfm)%#{X~R=hxn3{68l@PkVoZ|EJ{V3GXc78FS;6q*wL{ zdDzoPu=aXB@a78{b?Nwb+{;eWO>KAUg<j7Q?<KbhehuC(H!J}}>a9y8wGMMkZ$iV| zw2%Y6h`ViW=6CEgU&~39pUPf?vUdjRBf{XPiSck30e%Z0x>ydE=+XhWM2FsmOZ~+S zm-+yt<mI-Hg-dO|04}xZAK^X+*aLvgu$<xZM&#T8i@%RstE@Y4KJ~ge?A%nVo}Cf- zx_Pd|*x!*9mG5Ac`HmD)8|GrCMot{^CG7Y8AU$DZr6s00KRRclFTdHtBz)&&r=G|8 zX_EYPpdGQQ7dOAbF#db|3fwS$(@R>mh)3=59D957s|@Z7DXeoMUp6zi-GsY4!JJso z?Qt^<?z5#UGYErC%IW$hu-A0Un{|luBtTsceUnJJ7aGFV40vMbp=4urNoqzVZue{S z=pB(Yy*{#HMAnGx=!y~ZBGc>+z1_rI@kGPw9WPGn(^s%!O#ilqBq63^4J7#(Xg(Wq zI<jI&rwX<&I{MfIwh?z?Ao&$pLV8)fZo9(>B_;{5v_*PBh~G^H*uZa*?gQf4G|1OG zeSV28=sRGN>(~SptOg$HW*E}4Z+Dc;rMSo~Za$C?*X;jFU%0Gp?0*d41`jt|fxQmg z^}xEE-0ytnp<zSOW>UY~W>qn9Z<!UY`kr;rs0Ln*>@Fr7)22#X^tQWLv8rEbX?Kt; z8|CjRuD=Ixz5QR{im?)=qCUdJp;!BHsj(&?jmXs~6BC2pcF^vCjDwC9#|HG>!anO= zv?d<{%d4z-xc>&M%5KPdRX+y&YqRf^-skzsXUFrb??pVn@ZE}MlkX&+F7UuU&u2ap zo*(-*<N1M)ofy)n(?{U{F`pjKMmfw|zP<S0;G<h@fA^im^N=qL&syJVJYSJx?biPb z|6lN(!Sh+!$Dr@T|7U#X@Z2G%vdu@DS)cShk7t$d20Wkey@nGhT1RbYy!Rf+c%v*i zuwLrJdghAf^S76wKIxrw!d&ru_V&H_PWqkcZ4&g})4L(dm|;ve8A|G-N+|3VkJ!&7 zOm~jUj;q+*5Q9{f`V!EhclsX1|J!{AJQvA6xjvF?o#%_I2+JCtnUprl3OjTR?76ML zUh<07upT!gGcgTk>Ct$PF2{RFmO9hl7Q>8o2aEgY#tL1^@k>Fx(N24pspxN%C(1YO zap-3Ns7%x+l-3YPASrR*&W`6cFEdGP%{!+Qw|m!_Z$HaST#Wyly=%?6XO-fUUM^uA z&cPcUp-w&_!pSBmT;Eytq)oJj;-rDSLFXKMlDlD|llo%2<vYuqw42f<Ibt21?sm&> z(&DT)IsWa|7`H-0g|hAV@ZnhsSPaa&`+3s{%N56OZ=+bc%&Xt=m0ff<8@tJ5gtfQD z^7pG>m4Vn;Z^1^~V$*kyrE&-==X9*KS+T~)y$p@ZLx|$^dOk$$cROhm)846eeu!0P zEQmVcsKmX-B@D(MQJ<tS+?v*t;pZH$IHp1FVuh*Q9TAIjOk<8%X=cSQj)cQ<jSf0- zD$_R0=a_x{w3i93=$7}PA3Vf*#nax$k(^I*5}vALMU2*Hhu&~?GG|qb63@g9X=53T zm0X|ajPD)m__ViRt+a6LH)ArbVW57n4;Z=;ExP|tEq{u!s`RQhKA!sT-yM&cBO%S> zyHPVWs8bVk0rScgPh($#Ro1Lt4yuDbQ;suvT?}$(f_~**@+tGt8w+1vEQJs4*!w)c zZ&cT-jqCwgE=fO3&acn&kdO47s~}aPX2@cPB8Kvcy{dqm(zS8I0&()Li}TiCoaKXY zY*V;4b{N}sbl8WmGGXGm6zF=_kt7rcE!m{+opRyx+;|<Prw1|34qyte=i17{6H@qV zu_?HzKfz`KHk5Gab=XP<u|@f)z0~!#$yalv_>~;}+k0(&%pb%d1!x?bFugtm_T{5p z3b{5IJRuu>fbO1rc3s?L#J#}qX#Yg3zfMUbe)16x+C)^wW;YL4WBk&sfUAWJk`iu^ zvB|AU_`(%zbh<H4VbMNy@2AZATI|ol4%!xL4d&-7p1=2giuqY#Wp235Wf^r(kG+Sj z{-{&M)43GvHtgUH(WQr=FXpZ}s<V3ZnCE*%hpd(TiC|b6HDD#W#HwtYqx5;U`GVl$ zmhd*0V{e<5uQZ=?#5?(IY}$v8SFO#Fl@fcjc`1jp0;VlQztMby#06h+eX~?iWlU4) z?<z&R7<V{^S(Vr|&+#gEC~C_6J$4#r)JzHQ)!gQC2Y0f;_w;P+b+|dCO!jB*_OZ99 zFq6?qZBUyvh#P;q^)|==ZMgJ;vu2FbkzxHdvPxo`zm-$w+J+jonPVg_>5|J3X<Ujg zwTd<^tI`Lz@ku^UxOW_|m(P($%CwQan(f+7jrMbQ2Iw8}JF)ZP<|ma-E**_^Eqm!M zMk7lJFt3rEz-ntTc0qie3|~%bnr3(V=(1L8PU{lQvzXynJ;|g_DgD?{V>X;o^zzSO z52sgiDWVxtJHhOfnNoBu_N?9<*wq-=p|Um(ZQB&`33iwuCnhnq_w=mkyD;aw)9mEa zZn_;TL5DZxEekO6AFkA^Jt{;Voyug~Xp?)D&+}aWwY^d8{b`SK^bho?p@AMXMD9^% zT%jb@#{7C8+S>EK>qBdMlC8hohj#xz>_e0K|Jy#a?Eh&W>g@aFK9ni<AsUB^-#OpD zsBB&BmpFIaDJhyCgET4g8q;P{EMqQ=F^X!Q`qP(^F1gJ1PeyTLyW<Cvhtq!9t}cEH z@*eAPDnoJp0j|0a@9*RN?Z<m<J0(7O2Wx5lEPSUF+-zwb%I}moxbyMO(mPxR?q~21 zYThYD9JRFmjn8R~zTuo>eyeJ1PHV{M!??BaH}89w)FViaZiRKtoH6GTFz)wtGqPql zOUcc~@{;>uTl08H8Z4|Tg3{*1!V1Irz6tVp+<+U9S3K3-5p;5oQ~NTZs&0XlSXqvh zz|69!lI+$|6Us5_%8|3LOUfl>C7pw-Qa*BjA%#@p%v2xL#_)#7a}G8+Oj1p}xL5@Z z0jitG#(G*`5GWJQ8nqV}r=-y=wxopY^Bi%b@6Qy#XVDn-*W-Cf@s7VP{iAayX3(9I z#*SKT-oaQ}KR_KQ?K>qE>OjN)6F%9z;zrc6rrmMB^_=71)?-%toEW+6v2xjCF%Mfx zV1ol=+}F!%D<m$t0u%D&QB(_c<_V~UrKklHa;om5*;Uu=AEPHw0|}LzByLYm>!_q8 zF*MlH8XWxLB{l={jkTL37T@?in<NE5xrffsLpoI<jqXk>?vlv$p&hIbjl}C!30<yD z<ETas_YTwu`CG23lNf6~cx|ea)Ou}}c3xzD2;`@RS#hp(6XHR)lnVC~5=zP5FY&1b zjidvO!V@hisSlbL0=t~xND+o&Kn4pjCL=y;@Sk#LG?pBpu%vfNvM{ef9!f!$NZ=|% zKQ(4QEtzbg?>-41^3`WOEv3Qo(Kxv2a93FOV<&HP_AaZR--s_^#VDL>9qxTv%Fg9( zz8^haiME(*)x+M&?|WCHw6FA13F!SUFFQ$r{QKV&kZs%DtLgNmKntRVb2fDPZvECN z*S)NJ%3m&`lQae?&#=n@84fzheWT;PgXeLIi+9|-y07@djtyo1=wKj4@j+P-bn4JJ z!?!3pO%P$-7q_yCM<DKH&m`Hpr{wAFC7sZhVW;AJ`|#r7S%mqGj*Obpj^{V5hrGoH z9SJze9uHS7>n$UR>j6oW;HK9*emqF04yv=qLFMT*le7VAjwmyuY*@wGTCFM76_#w| zndIeYKcDC@oq{}GJ7wM!=(0}Pz`VA@+HFfJjVVpdAA8-*B+IY0S~XRenTjF#Z`$DV zME7G>;(PNCF+W-#$(JSeHGi?aWjhRMrc0QgCZ8!Qno-2{@?mf0_Y^I%FmbbNW143P z#xw^sx6P2k87iTFrh0L(B;lv-0{(RELTk5x`P+B6h;Lh~Sc|f-H$H+h{(n36o4<sd z{l}1<W;9*kK4WFs9@+Bo69er+b69fyy4pvLOzdW9NHRMC94ilAylS%)0?uq`a*zx6 zgT1_wKNtf(h7nb;N(4S=LNEN|Ve4bSzsv{A*s>KAvN^xq911>bz&bPWjA5?F9KkeW z!-_p4Uhr}TtTPYL|NnUPmZJ{RC6i<eYvv|II(LB^--VO-yFew(#%Kr1FQ5M6e6Hig z4eKCTL}z-?Si<<NSBOU*a|~df=7W`}0A`cV<)24oyV2#fIU*OtPN+c6#>#m^zAD39 z>jU{pMP8ovX3DYY|Nd+8H3In>GnlXQ?Ga@=G?vyi;VEgP2Py%w2yZ|)9rg%1G+N|O zdwu>um&?~9hp;6Ci$;w2o!2~=N{9Dj&<)68&7yv0&6=A%s$^ZQ9-}k7drlU!HN>!4 z(&|B=ZJVWFJ!A!;<8zsYWEG-IFFRf`|NhKP)~IG}47;tzlkBUln~}Bj?jfC8j?y9> z);B=YBWoDa8O$=!yR}OSHZfB%a#L~g6Fc7e2BfC4oy^3qU6&k*nWvUAxQVC<<^rwi z?*l_>88O%!46Y_5IY;ERSHBL~gFDmxYOJ-`Ao|K5<c!oy(32_|v9teb$dFq2nV?6Y z-v>NHt_c|e9A91=61{Fn<@_}0((m8o9&dHHA#;Fv4f>EUCKmuIKr<r}Xg^HMiJrHv z7H9U=t3kauEv!$+X3v@6WQ<YGdaMzGlOwXmqBer%+MvGnLO*BV<zDxC|1RW%Z0tk_ z!IE3}cquaZE^8tr@X96g9LP2We{~wtAj$01s9ye$Cj+^lJW$%#(X$P^+b0}EAC>9Z zM;)3nk4(>g06nX`j-FvW)Lf-!|CDvyOPIU;^lWlJ$>&7M^i1j~s+rLdU$egB0O;7` z0eZF`^lX@XgJgi7=|Imul4Z++&q6z*{7-e}7b#mKtP#v1+O`;F_`lP()cmAUeQCFi zXd5%gbq~<CBJ4f-DcddJy#K#Zwz~hCvSt1+DcjY4Lb8oI*h#YIgC6J=;sNNa!TEiI z7xpkoLYWa?etQ%8Qg}V|842aZ+vb`Y^stPkX3JM>n@jtWjCk4W|3c&WsDoCbOe4k7 z)T;vbn@zx~^vea<V66!ELMrin8(=G7Ct!NLZXVWqVv;X3E3p*k@UTmHiKmrkkZW-r zJ5lK}TG@lRsi9}YFZw2y$g6^bmyH}ORK<X1Tm*d>z?pNUZxwGMdbk@W;Q-7F_m#cS zu^!T93*Y$7tmVsR9b>a-MuV+jq<wvO3flk*<qyv=Ju?TwQa+RG8KcrVG3q<VUNe7s zN7NGYlG({ehU2zNp-B@PF4{vCoxZ8C;>t%hmWz}52+^lF=eX$l9yE43<jstwTv9OZ zs*zkxBzBH}?9)K|i?M`uJd%&_2KE4z@ZmlsPB7bCyCfAf>5z=taUbd00=>s*R5FHA zQ!B4u2<x3n@OSHd>a22_)8Yt|3-V@9`S`5M?t%IksN?W@26_$syGJB@(c?LYvnT8x z$@3cRSg>gCVy`+&6KE@SW{fr5X3}#;%p78LpTBKiL_ItU*aJ`l=K?QxPzjB?Xf;VO zhBZ<NlzskNU=;TH`n|qA7)<00qd%supAs_?^^xBf*#KQqvb2E0Fr<xR30p@m^j=YI zp!8}zYJoAg@&=j#EikM?`>H`%q$!qa!65Rye=fYQOeIV0v3eToP40nwgI}3Rc^_z3 zD$Brs@_)1*^THOkS`BT{MX*B4Rl$N_H7g#M$dajA&Kv0J?6~a0qQ`1Uw-ysun9s+v z2WVFcG*-hs^{J$=^G_<CQa;Iv_jDJ^8n_DcX<ov<)dB7)_G$iU|JPjlD%uwn<`))) zW%KyQVBUJphA|1t(0j~&Yqc6<T>kg@_ZGwzes3FJaBpE@{&V@y71EqTd76#AK%ZxS zz<ML;<$4+Akm|V@;>lFjk?A9H2KWrx2iC?hv0;#5QTf;y9bAVmvLO|Fi@4K~#@;+! z^eO*?9h=vo#rs*}D>8ROf`xc1p=14q1nUdnFCGJbL6RdRlSFByq%4{V`Kn(`?~cLr zKJ)t1D+{DI;{R8A>P*shjUCK0bpMR6*x}d+jcJPH%UGX~ERzox!cwubsWB?7(G}Yq zxLuDhs~YBC=_ouNg}L2`8EiP@L^-~bDQxHXi@sG+%|Fohf|{sB=0&qR+=<Z49O}|q z8AubedYpmyG<BrE4RXN71Eb034c`^F;>KO(A5YpL;r0?~ZPqcGai9}SHCv6;^{f#V za<PB(f^Qq-s2Fepniz_?16rml8no$LCE1g+HIN26R_uYVs@ea)3;*d93KnsQs$P%R z$W<3vaY_LTm#lam9OvD*bxEbwWky$op`^O{D#ymUvO3Z}HoD?j$6B1K;GFuVU^_|K zC}vfgFP$cBVyy8j$DszePK|-T;$6i}f!08zHR(s+-23JUnF)3(1rwvF2(MtaJnKOH zEN8d8jvJUPyTgI9ZAoxaOKgH3$B+gl=|Rw>M}5)FmIfczBc%Q4d8DWy4rToz+!FG6 z48G(*Y0KsM6y5VPsAi~Ebck`;)#7H7X1dNx2{<QB*fJWNi*I^j#eS>=hGK<vwGO+z zOv2YLw(=I#BHFY1pYG=!XCTM<2Ds@d(g<b;<f%1{;~j6KXRuSha-WyJ+_L~<WrdGT zxZ*@eSkz>6DF_K&+`#p3=Rr4>WutkgOK0V(e4bCd34y#)SzdGvr2e9Nqj|U!8jS7d zrL~nm&0kaomE|BXK7rg({k`hus&v*r{Ezv&NzPyNFXV5#oWDG`zi+g7i!tZr5ubv# zQfU|sorf*KyGm|5F-O+AjI#d4YfrcXvIz|JM&rcnQ5A-Y#~oFUqB<sVzAN53+Dbj1 z0ar?S&V`;QyW`g8vDQoO30AUrdN<OYj<&E@0#MqA_9(3+EBg{!BkVL<El$o+HTM+% zB+e%g`fItCh|6Wg1n&oRpS#EPtm~z7yc8*#Sx;?o<5zBN2F8S!#a$Ts;%|p&v_l*) zbU2kVNBfc<T0T)8Di@V?;LI;BJ3gJLuOi;kWjBJd#+fj#!ZiH&A#FJ2tj69S(ch<) zPqE@|Z(&hXx<4F!wHvSh{)G2JQ8>Oc;TQ5R5DmsZqQSbX?`>;;2x1tc-n!pr%rDH} zpMN3WSip&$667C2clD5cT+u`S{C0EwIuRKKlg=z=OpJ}upWJNMsq1IAnpmZtseIg_ zNQd-kw_iJ7;GT3Ng;Up?7?a2{O0-hARcl=>hkW+>kO)Wf&Uks=p^`HxRC35?th!ou zd4{>J{Nqr5e^@F#=9R*qhZ%x82%|dUsSbvr4(vSDLFlj6!SAoBgCAuJ?$_1962_E` z{Q8!bF#hr{lgrPe{Cm)M2Fgxh2Fku{u<R5nzIz}Pg%RtcvZLk|$X3k@@(YR{ujOFh zoT*}J$j@#dKMpQi#mYWRz=tt#Ra}j-^ClHPzOblR2)7jGw+V{smju2#spvK-B3N0? zA5cBbiktfD&F!wBS`l=XGwHE@(Y+pFRAeu)7$db-{gP3SgT7|5qUmk=rpnaRM;Mn_ z!XtI~!iv8MSY0Gr0Q9}2J|a_TjesuUHLL8fHxHZl1;=chfg{W6hBf)AMD1da<*N;_ zP-#oc=L;+a<+vTn7g`EAtgxw186ZVQlCLEuR#f8rl}Tnz+fWyie!Mi>j&t)+tk8#B zyFBA?KBkbvvRF@2EgGz|th24bsKt-G+Dx^zO1e9lOX_v92EvG2uF%}w1sRin^sL7j zJ4YjJHPh(F?aBExvK*nd0e=<ju}-b*@^p9=@agijdK0n#<^%88<#`)>2zP?-@TZ?) z4cW$u4mtHH)|VVH)=;Fr(K`gSFp#<&#(?qIZ?<-h%0)~LGM`<Z_r1w@zU%d$_{%4M zPf%Wdx&G}(mZE;e`q1pqd1R-z6fL`=r~oayBL9NGRqq$rYGcu2v@GVu0}8b4?!MR2 zvTO`#k~-y6Qwui|4r=GrdKL84CXKS)IqGr75HS_>ufKHS6-aIP!-(}m<_|$SOe{M- zan!1!1%mC)V9TofYNUd_XQaRzL#A?1D=-JI=!=EMSU-Nk-GnrBuZR3X9~ygvzOABl zR{<oZVq(){=XH68`(m^5ip(O*<>lX1#N&1mTg~p!XC>Jf;|kkLwxs+O`Ff+>@KSz) z6)_jJ+S>A2@dcSH9hn`OwFlHHooTk|^Fxe#@|*MZ1-1gc_1@(x3kspny0RN<3iK*U zQv>-eP7LxTVi$sECRlZ#`=cQN!iw`GSY|-kf0qv)>Ry^#IMYgoGxec8m^8)&yTAvu z5R+ktum%oVu{$OINT%;WS=tPe*$ozsUA7n0n8!7$Gfyn#O4yV!jdW_y>VpxgWG>-d z3R+HSu<5M0{SBs({B)4NP*@`c=tx*q+j~i5#W0C6#L(QI%!r@(h-=x#fL>tig$ou@ z$A{Z^tPWnm7m~l=#U-E_7=e1u#ASvH&}wWWKJaDWh8(ys@ISns1;=$ow()Vv$L?UF zx0$<7(%L4qo);9>Z31k}Gmw&TVxRg*lyE}bbE-ywzCw;ojCR!sW|8A+Y|uSx^Wm<G z(u(^<!a4O1r@$-tOwnAzl{1AaDR+g-_QPfQ{mba?!%zLl4hSz0ULJTAR)vdFVoy<; z+l8T-!_1*_S}fASPO_X%G}7s4qEpRZPlsu|6~>QC>Yu8m8K3w^MqFz*uRNhDXtJzi zk|v>4Mx^UvxKlfX8b*7naHUZU<A0jt!j<P#`Atm1JuaiLOBgOHlzFa#m4>d>4^sIL zb?(V2ShgaQcUGHkchNe9tr9ZsXf9vI-+O$S9ky|J@n4X}+#!6;yw^mllLfwlm8Vqi z0Ar&IDRxyXGKw5h<xo$QAA@LGSYxBwwZpwV>yFH50cX4ywMOjrVkTme_Bojy>@3M0 zX{~ivo1s;F3tKs+Ie%r0XkcfHdNzOA-j!rEXzwyhGwAIDx8a%mz{2Kh%g5^f)I2-G zoVn5bm5Z&KoiR}V9BTh_b!Zb?Gqdg~K_&7k_6E)sh89saZ4j0VhAz{TDV7bkeJh?9 zzA0i8zZJ}_Dh?;IUH03|t+S^jTA-Z<a_G#2zq|Gpvoqjl#=JD;n__lCgfnj5OJ?4w zylnr&OJ=RB?sD>@uR7~4+vR8TqZ-2UK-`K%i`KGT7$$~<2D{D(&lSaV*=NUy9DBx= zzXJA<TGvh1TD}s7XG}0@EoW^8<U-jvYK5UVY6aKno1$ur5kpz6#UO@qQH6|g|1v5! zj~ZrC!y{-^vrI0-Gr2T|Oy*Dqd`d2(1gM!@^-<AB{n6jj3ad%nWv@glvPlf-^M!RL z6QmiQ2WMsyH`}TGN(zm@431$HwIB5d&S}Z4Hji|fGphubO6m0bncx>C_Z)jz!LqZ$ zlWfc>>PM!9sGo%e%c7c75&nd#-FYKIwmJ(|!XF{0WNMlR{^JgX`HI}jP6)>?nF^T1 zuYfTO@kclATWJtg+`eUuVXb7+Q<^#AXbv}PoZ}En;~JN_Mfgw^DUT%u#!~8$(Q<lM zoKbK&aU7>i6rCdj|AP`+o#BY*cBUTj=YMF%M)QxZfsp3{rP3hGcP`CftbfV=&2Ho& z7x$bnhB03U>RYa7)G_gH)*@ce+@QeRI$n-3+zHv)%(>~bO3_-kp!LVGLtJNtQ|b{I zm%yg8h<dai$+(ECXF;b=l@Qit%27Lsp3oP@h)~HL?vQwYey1X5Q(ei(nRBoWlHr%) z`U+<tkM!F?ucCwz<|%SbGY?Xm0ORk&T`wwzHAM--)I&k-!bC-A!OE#FLzf*P3Ra#_ z@J(n9%uNN$hIiRbA&p~gq;XDMO*Q9IIZ=bv=1-mB){oucsIiDf(w4Hv@~*pV^!v`7 z2Fk5sFt?-`LB!4Usr`G}G*}PRpXhL#MLlrulhfF@>=UeQsIOArl<N_Fl@}scf`&6< z{nIjS^Y>58YGUE)B;hmA5LUlXy$-gena<l*rwbv1A|VHTWAbUUW!#E!`byJy+=5s1 za2GjCR3ViyB(%U4G!c>!+!KQJj3I4X(b$<eqIxLwAb9nyLm9OkwkH29dfhuiGmCOs z=MUw2hI+L{?980jwJZ6=Rk(Y>iPIM>y)P&s80p-zV(iT8Q_3s+&^=WCwtK}*KlxTu zc-U>WoL`am6aTY?uep~L8E}&Q)4b&6zu}I$zdUE8X>Mx>XBHW=xpgQPwS0h%nV@Mn zO87!;>O5!1jBP}1B##8glXw5aKZ%pK{5yBe{Uzx-lj#~vHOtSqPv5^HlQWsG@jbiz zGo;FilDS|G*BEub0qI69&y#(&!Y5Dm$y;7C=u;#6)GR+6@OjmBR`xmL#ytr=8?)DB zXl1$M_)oodtTQJgH#0Xd3Um`AT^I>nOz18bea*}m?P9mYHrqzuS%h<RMr~MQifQFo zRS$DfYst(1%5BR0&OK}*Pq9S%qZiy^6YVkvd+1kKrE^3%W`E_LkufuUqd5ud@$CXD z@+>=nbBz){P^UJr+h^2O1ZI8C6(oG9zM)AsF-lJT(XP8*s}`_+;;U^*SxG;em2U0I zdX45KkDDZen3w~|i6#*97K$m_S5@0mk*7zyrpcJ>&@Q<`9=$6tt|t!u9}mkv32yd= zN4tLa8r2d>5C%;|9ohaS*v}~1(zxwK(KFTP$1$x8O3$J6HTl2At#4oXPsa+;^#MB1 zL;n`TmDJPvGP?-7m>g?3DUDvZ&*ZcyO~>)?)1q~UVPSFMX9B&4EZkhdx4o;F)2f>D zu4G#HH(^MH|9{%TO+_maQejpgoWdMZv>0y@W<A~_xFF1RTq7`tX)VBtG#G;c6ay(5 z!1o<tC!KduDno_g`2O=$Hb4F`dWXUsVR6Dj(H96C!Rah6cL`*vnS=+OmC_7w6+SMy z!7iohIk6EkiEH6U^vnRBge<5Lg(AL8-KzqfyBmB9tGvURC%Du(r}kmSj1oc`!C`O) zK$Pv<K_3%*Oz<%j4}{UfM-QKZK_4A_bnw|X=%ay;hVTsfDBz=j&o{z8L2HRA(pvHf z1a=1I?0m|nKY#z|A-*vW{6%=v5&?E3m}sX$E)DiFk6>S<#~!Us*mZ{2qlC;_DK(dT zclMaz`z?Hl>dXGgs8?fiA=LwBc*sLZmP#oV^R@z7WXha0bEhU#&9Q<3w|1u($)e+o z<c-1-_Wq`gLKMq%uCZ?v!m;oCs7rx4bOusHd{AhqT!)@xUp=?glxu3$Ft7x{>WWTE zYaci-HDe#B8RwUw%y=<Wt;;_SU;2`YmR-v}kd|BYj#R-`;khXWIAW+>5FdKXXZEPA z<1>jf9CLUIG_691n2|9SHf%+%rXYs~+$)Cs2HublhH|lLwA*=0!?k55U!P}q&(Y|| z%%@Luy4gvbYX)$gcBkTb3gd`E;FP6RIhJi3io03%7%q?l!-`7b3xP?fbf#MFkjrOk zeV_T8n~j4d?l_#&H1e1v7>3tjOljnrOVZWza_<XEn(Fe`Zt^uX8z$GQL9SOw&<V#1 zmlmaU*&kY(Pc9R1?aKo118&;VeCo#&8feYOVa=z({l`0tW{W!Z&U_vIb6D>{c3wz@ zj3^snS<xibE>MCG-(@4ci}d!pA!BTQUrzZI{=L2cF#Fw0>ew&yDUMPMRgTGTlHOP_ z<`49oq`lkkhV1gYL%)Li)`Bq)(-U9)ZpbcjXU7ix@?mDeWY<a1Fg<_Lwg^^5IDSz+ z)rlb~!o>@DMZ_QE<&(<<Tzf&_eZV#6$uX#H!_c<W`#hd3*ak>FLV0i3+-=+G4#ydY zo)6EbG<5tYq<5Af{3q0;IcdtN?LuDW28-IcUAPl24|fUNco$MeyXNJi_vphC!|DCM z%F(sGjrtm`P%@wgBCn`YtvYp1*skWC4E8yEo?B(#6DrlI=%Q`#Wo6%~@U1Cwse?`- zk4hDuI)%CM+ZEK$zb&jO+9H3cy6y`ne_0@ZS$N$Sh5RK<EP<ZLyrN-B9q@%IhMcM? z;=~dzIWfT*aaxx++Nn<*=d3}AOSqc+Z&zg2<$>NQxI7yxQx3{)p-*=tH!;F#OB~@e zCH~-|9GN(-nOqH0Iq#-_I<8xG_1tCIwR4^1qUPu>gxvqp_h}5MGfxV}uI9pMMRbTo zY%F9r+DT-(nr*!0B(1Jt`(-5TIejU-dx?vEw^Pl>jZwgEtiq_8g!2KV5;~T7$Utps z<ZohPN167Tl#pv@Z!(ye1T#2*oK`OEwMM4XW+Gam$~xhAu93N%Z#v<KS`6Ey#$@87 zkwyf-90bZBj$`;9Mr5-rl7T_`-!RQ=YHg?eQSAv8?h7oj1#ENb)rM`hDCCgNhWz$9 z<$GFLQQ!(`4j7=+C3DGkXUSaB2Gi%$9MRP?hbp0^Fc`CpK6$NR5m>=!c~{WlsVFj9 z(g14#@1mzYy3imdb4E+JCD_JdN3XolF2(30F?Q)(CAq#*(wo?cI1yABo%mu>2y7g% z=EezesGB%jAuLMil7bue+4kDLv3+YZVx)1rQFavpR}*kqxHx}4qPL<>AnVTy$FZu! zO6}qW`?1Vnf(ABt8S!&_gzPp2+!L}3jhS7H0btgelbumQn0msgDB&fufA%t6oVD5k z?wt{nSNmh%5O62TZV1J;0E{nYF0$=kA@6Av(rguzO!JUF*|;JY7H_uAH3FyU;v4p7 z2J>SMU@`^VTV$8=V@H0V!4s)Atd0_HSH~eol`0-95dREHm}aluB<E{dAokRNJLM`C zBd}Q3AYa4e{9Gu$HYZQp9~sQaoIqSlz@0sagPDS|E!1Mof;KcTiH!Ila<m0J^!;$F z0(m0-g7TEQ`aU^NlLB~>0`7#X_)>sx(cQ??{uTQRX>1PE)Ba)x>uJkslC3B)Mb6b2 zrn&8gso0Za3MRW32J*VpNv&{~{LK4>=S#>bVi<Bnra)_cv}@#RX@jNQ5@`1)0`BI3 zyD8vq47eNYek^DO(Jo`T`8A_3Wf0G+fp9Me+=Bu4K)`)5;Jy&RgE|zM2ba1vhI*9f zkX)i#dYWIMrvayGT@3dE?#X=FVmF>`!CT=MEwpAFA(wEt{EYb7bFA|v?DPOPtT;19 zZRXo88e^~9ZtNy}g;(flxkOJR%&#z<iBWJS4S>Oa4FF$wXg)Q3)M7GxfK=@T|7=kh z9&?)vYZ1#{u$rFcztYq22tBz{x5D^&i^<qTp$lCt)BndjMj(%JkH!g<y>MdY8!Zat z(In^5F6YrM=h2Ql0w>?@<_zz*=nem*T6pjnJr_38bIM!v3~OlNjOSbQ#;@pY)!7#4 zd;TA4X&?s-BnFsO!I|#>L$6!!uccLTEiIC3DTQ*tgtx<*&;u>t7aOULsIG!R=fg4c zDxKPlk1-c>{Kxq^;|XCQW<zDhNAj-pNBOjdXESBGujfp)*jH6$MHPjqW;ZHf7n$p< zm;y@+jhK&QnoIkzM)tlr67DT|J-77hvenjj>jmKq_Sr57HLA2mz43zWl5h?qOau?C zU^plARr^@IbVL~4>Kp=|PdeiD#PlDHUT6OH1SC%z2`9-@kIUX}HU5=NQer2i(wYKp zEc;?^vhiWMS7$oRPU4;1q>x4~P7%k%L$<xvVV%O7u+?(OGf{e18olQn<k;;FqGTWA z-*}w=QheA{^3fOC*&_eQ26oyd$1Za-PC1PagQt8#<}4v+M`fqHsGvFKY(CWj%_vd% z<YFC>Pjk*Mg#i`GUvf>TfiSc;WSp0T5~-~f)|;KYz{c)3Pkfki6^;}0yM4G>sfY9@ zazQ&M$9?|%F7QF43V0?3cqh`RnSnFvR;+h@DIefWRd4;P5Ssm_@Q47-ea2_ZU!S1c zDgOw>O@Y-o;^>U|x;lim{mZSo%q#~NEbq=-%|Gse<+yM!2PeN<@}LhjwTJKGT>f(! zHdfKY_e8d8mC%S{&lX}uUGU*fE;PcG(|U3!)AqNayr>TOTGHEcS~rD+j#u}Dc;Z{t z>Y+udo{%fISU!`#SVH*mDuKTFEDDhydW&gjPly+Hd1m1Tfa-838>+GmJN=lTYE=h+ zCLpGFervGmF`HG0Z`Eqwy~K=o#$;{Ps;sv6gz2WgQHU$kEiKIZwgsooNRc+H$f`bs zOaHMas#bT}=c?eRzHFb)KE;cC2>Z<20_8AA48`tGh_|-0GAF)u=+G4BxcRl%D^p#z zFR#Vi>344kxDk!Ycm=eUhg`9?4pqHv8zKD1647P9HKg$t(+!ppw%dh>E++7HyX`5w z*~j_6J!Sh`c$Ql%hx^>drYv?d@n_v^{Ao8A|GArwZ=$}gU_sAtmW(qPzGxK9Pv~<c zbG3D=(Z5y~;3Q=(-7^L!h5m9*$W!0qvizA=$l(p#Lq3n_GYI(tXDobZ&c)jnh1(Vh zbc-X{vdC5~>;+f%D0Xl|@m_7aAedyC2kdwkLBhi6_1xF1v>Jqy!d>cMS9sAk*Mttw zXMvHpcduu0uPK@|A^muU*V`U~9Y^?L7x~Y$`UKa*jB<V}*dAhy#)p7^RgKvwC>k@b z95h7Pvaft%j<R_@DM*L3LFhy^!@CHx9(Z7rCxBT5X2xiH$OzwSG3zkmjStx#@_NDs zF>s8^<;Q*%4<EqOehnTTock6vH0l^?3Tm*z_-$j2Oy6oytI73Bf!`?zdhyW`eb=4I z?_2`YY0-B*S~AL_$EnclR&F+HDT0ks8nLR~kl?{R(=n*4>LOZu;#2~w*+XUyrz|v5 zSB$>sysbeG9$>c2E19vX#o37b&Fgs`E7*1BX6%0Q0_}2aE7FNNW(Y8bxnPlUw9Yy2 z7vh$nexAnuz&f*d(kN^%+MxRJl+K`!JDab!eg!RdPoUkYt$nMET^m!3U2s9q7TFX= z|8DW@T*|{*$&6Kg$q`DIQpAe9Xor0MRB~jBm2Q{%Jg@s|8;VDFI)5kc-|G3oWj`+o z<tA6o%~vPd+&{&5*H18R1V&mpRjDFQ>0{31=YiYvJ!t6KIK|Kfm)3GN+cM-2dmgiO z$Rk4-@BW4KsTL{iFgfiHPPEJWM1v(!(Mj6XlH~aIH2hDcXz!*vJs&6qtvi{7xmfql z9^7>@;e^!D8!NY_QTRsQccT5A0+gbpAS%BG=R}OT#<ovLJj71WyUg-io{*3J#XLxF zc{sPxTJ{!U?PEA=iz)sVZ&&xNARBL_($7xT7gE`EN6cLc;NvDJh~q2Bvz<l_`)}rM zvr^9V@;=WNoY!m`Jg-@AXUF5bro`)6+dT@>s!ZifD`L;47JU{cI9aY3xdb{q&B?Z9 z&q|5*!p-kWv6VX<z9d`W_%l9QD=adsBZ(pVs>yO+c+gw8S-X9QBN1=>Vc0J8F^7%9 zueG7S^{5q5ispjNgs;ls$H=TY;b_8Kb<At3D_jY!<t|n)&nD$Oq<spD4Z@wH^9!O& zs|yM@8#c4E*qJ*ZtyH)Uu@m2N6>i?)V3OW&GEZuE*yXkOOqA&x+25DMBku@TxzAm& znW>}{-@|<NFWfctSpJ(DYm<IjW00^!jT!!n8q@ux#?JI#Ut_O%|93T}`&o@G{FNHZ z8(mOf5Ed3kl^8Y`Zf0k)v#K0BQ1-%Ksj<DdHU2-<7<!lfghQXGs~>|sFFFYv<-~0> z8Vv$;=fnQMXdB!v`(koqETe4DeTUQ6Q8tD`LEE?~nO4HIi^VWQu<kaCt1(vY6oNCg zrabJ`8pO32`SvN)|KS><Y>Xk#cD4X#Gd4a;fxAZFqA>S`9Q8@Gm(7HgVNVFsFLS?E zE3Lztl7yXVrn4ND6(iw_aPNeB<LcHTCeb8*uo|PO`ABx5z>6WgA_*sE@;^;dq^nRk z%@03?KABS8v;QJ!chCMyhkD8{LC-jEz>dWkwe!>pfl2xlJyVvBSzjzTF57Q4y0Air zT&~e}q4)qOEX|%53e1Q4J^%6n+cdTHsh;OA83cM>i|?%Z#ioAG5#Q11WeGGBHG%)0 z(qNP^88Nroji=m>%X@xv*#+!IqwQmNzvub?E5>u`M=wA6TEC}S#`*6vP404(6t-GJ zua;9Umvc-LXZ*ENa;K7t*rZLa7(t>il;?{pimFX9qQr$;jJ5^t#3I(n9isS-o;4S% z7_M`znY+A}<Kn|@{m|L=>m_bNiPMlf4kcda9;o3Rur9n7)`i#dTznKTr2HxdDq$E( zXpnLI`%IzxU{PjvW(I524(5l8pDh`Z`#rh<7OHoGg5saIz^#}6^J>4R*GoD2;ml2g zIU*cJeLrNJ{AKxd9F(I^f#Xa7N0d80`$ExaW@^&~S%RA+=XmU+lhh77K4yN3a7LMM zs!d>%Zgv@qX{}*|w)Qu@T>KhqofVovQwP#wk_4xrcze%*>w3*O_3fva-`v{u^s5(& zjKF&#e@hE9{)9V)`rxV*)ZSKTw@4ArDnCJ8|IJHhsmmaJ@)>j;)3~uK%x0#9F(n-~ z783_xEFc&AO31|@k&D&VTFS-Dfm|#)WGLR&^Wt@RIITW%s^4P+?jR<2&W~sIv?!B| z#k`AFg2sYs_qBMRK(Eb0NG)TUv*paj7Q$OlT<!L|F88g0v8aL7`9-hN4G;UO-2YSF zx4=bJZU3*C;W2>12xN#PM?ghLMKD8C7?@#%@tJ_BSpvi0;UN&9qM3}^!|HZ3u~NB} zX75`!MZM)MgVJtwyAO!GX<iGn8>KzQ)EEWi_g&|l8HPvq(d~af|Nrm5Va+*b?X}ll z`?dCa@8<qFgP;kz+DGF|aa#Ff`Rlm%xDWHh;-axd5f`cg{V)P&$zgu|xv3;>-Cf|e z!prpV<)=|T`L}oZOuqQ#OI__>ciE6TzCJ$gi>~%B(Cbu3Hyj`HMSq^Mgh&4&PtGlG zfahBZPt6ycCb|PbvoIS3jiiko(LDD;c@T3~T__J^d06)hGB+(bT@(<p<?@qKnZsQO znif5;q<UXtZonAlOg{Nwp+R>@lMc-ao(`-f(~iY@Ht0w4nNHbQ`-EPX=6>Flnc{`k zU0h4NxYc{=hfUu459cVhxB&#~g5t%Qvv{swZ@<?TgucE-jK}@pIhlqtZ)q%;M|-y0 zBHG<#u|t+*bIX!r`efcGgmM$rCAV~gl-@;9j_mvP)FVyus)cymK`;}xc8$g`6Q`S2 zh~sCeVxkdxN&lW3*-QV9l=SZ@NW!aELJfJy3qn^VN|CozW&)wrWR1SPsjEE*siaT4 z2%XBUZFP(^R#d5u{Gd%88=z2XWA6mzl}?%RE96p#^#1uVS!4dtT-7E^A8T+*|5)nI z=JGa+cupGq_CxL}!>$6gp5r?Van1FSb4?k)YiIHb&znV8s$tB$Mel)_@-XYfV|pGB zV7J#QZkax3zB_$R=0BpB>%C7k9;V2nYi6G<`~+(pw%N`~dgpBJSvS2?1-*03Q-AJ$ zTWnF#1%0I+cXP)U<slsU${<5*UijX#k~TS;D~RtP#h00Pi9y92*C<7nyMf6wpJL1f zeF9_BfVtH?vQWZAGG;yILKc}%F$N<>jM<>^I+|_XRg7K-#<#eKX#mYU^T;Bm5hNOK z@R?=KmH7m*tKWlWhIyBak!bG1tcbyUs)+fJ#7701By(<2OHt$nN2Q;kCGRcJOf~P4 zFx8oiIqcze^g8p%VwTVbnjnh~C)R~E#hG&@97e=|!ydL)8dK(`Juh~!_B`&He6a}i z%(oq~{^YzQ*ZFy(`hvcqHZ}Re(wD~;VdO4h<OTgol-KXW(z!Oo{D!~Y5z*?@4-}zC zP4Wlt@p&~DP2l);M}Hk#yEmqvjy>U>d~rPJUxEazWxqUrNYa@_MYt6Rd4_d3L6>7b z3~i=X_2QgVv_>}6_%?6Ald$dzZIdz$R<Ox)*c*y~UFyT%7+DPT2plB!Fz}8OiqST^ zC5~HYOSu0ugVz#!W2X2j>;mX&FF}k<5$_Y@^)FzJJ_!M>zrEO4=G8pzpx^B$a2A#~ z@4t$(gniR=E%poX`Bd`S;jZ?%QtaKC`suOn`CJ#AzZ8HzCG$)LPu%7tPSw|AC5Egk z^1^;-iaN+^o9!vx?X?YE?GqIDUmZK&mUw_7{GhewUTD0LZ(4b&TW!L<f~7n|7+HXm z23liHa?Ae@814EVYjwE~OVKx?uXc;8ueL-WdldG}juh_%)=&Hl`b4j(zt~#lhnj*k z*B=it)n6<x3u)M$7g-#8kZpd^fc-R)k(Osf3)bHy7)ApM0AKKXQG($afae8TnSlA8 z$YR{{-Qb71m@IxdmZDIDrFh(+Py^4<#u(Iw(?#YS68tb)A{4L$<%f`i=Dj2JkhwSF zVG76C!9ynB$Gh71T;7WG;L%L7Pg~D3220|$!i_3cZ;xNk`;T#t`uc;?Gk85sAp4N@ zo}l8Cj4aq)bi|?Gybo#ql*3g1l*3ql#F1!gyXV<^B1E5NXg2h{c>a!c8>GcZ&?$@$ z>_vE0$5a!pI*wA4nF+gvUbi-Y0<jd7!?rVzefA*5<TUShm~fYX-oD<J(TbKw=9g%_ zZWr(M4n4Z7ST%K`Lw)<FIa}&?Sw6exzJpInd2cZC9!8EoTr6Jgo!WqwKgPM`JZM86 z6!&5T04p+lj(#jgmPF#*o5+0jLv;h>kE;j^fVLikl@52O`X1Aa;@IGDa-2BNh5GD4 z&=bY{u9>2bHSaFsu$MKfA`(nPq`vAK=(8<p;v9p~&4RzRjTG+}>%6Zys*2fNoOB#} zp#0v=QBU0siBCURdr)@okG6fNc#|ZxZUCuS!hL%qM64$C4m_%gjVu{?yjg_w!)58! zH`LXuVmSnwW0{C&j?>Dp<O{c;WH(;o&?NtG)60*vEe?Cqf)l+fPd})-;q*Okv@Hr7 znICw2Xn9WzoNhZU?nBOu6vLZOh;{WZVc+8+0NO2B&!Y46c7<&258q*Jk!qCOL$_Sf z?iG+9B1;J^EX&KPQ8{hHZ+E)p{E9WNt~k0Dal|W)BE{ji{|PG}%z!y<K^Rpi5`-8o zQPIs~_eEkZR1{P(5!gFGn7b5(h={ifQmi{23vrKBk)SUfWF9SU$n!J51yEajO<w1s zR9D*9UqY`+%1gC5(WW~cBG#|)NRAqCq8sNNl1du{;PnlGScxa7wFeAEK3I>n+p$=< zPts)f<p>cQ;YSE`z*)@9@*J(csJp#Gde;|evBz$wV{zP0$NV?}8m*8eiaU%{*J%zH zbhm#4y2Jw;L{IT>;aIHerb4wL2dip_rl<`g?SoXISZ^DXQ-pCG0j)^=d|yLR&hz4v zpoq&=!|sKgQuD*9fz9fR3sXxn0*iU2HgekB`<4_mX=8>-EC1fw@_5MeAt50zk`=U3 zp#35qlvpjy{YA3xw0R%n8O0ZD>~bYqM2Ux>onf=xR)0~Se7>3StDAE~gI05~3U{~Z zGWT`Z&u6vH2S0!C`&{N10e%yzn~oia>j`V1@%0m0+sq2hXEIG7Xu=Dce$O=FBGZKb zxh)kmjo{NN)2Klckkz!GX#y57O~C7I+L*D&RJ$`B5%vdED(zmtDWuISc&gO$liwMz z240K1L^^UsvsQgpui4je?mWh01oVZ~BgMn#Q#C<`_j3}lR_T`=UqjbX<T;G=Z0fLx zbT*TCRsXP=w)$hxjERTx#7u<w0>Zo*Vg4R`&gSrK8OtwU-74FW;rlj@p9`1)$-8_+ zdOxScl`Wx2`hEp-MtV2?w)!tIlR=3peF(RSv1b7z=z5w3m`8d;(Z^U(;&oId-dSYk z`Y}GjV9xm!+9oRTh=j38m_-uCqnK%I5lj;*VT=-nQW^6%v`xUL7`YWIkt47=e7l4> zB4J3vEcOZjjYo;ZCosaWA1P$c@oYAWMy!EuR5PF9aHSU4mq@LiNNzpx2p^x3>5sXs zYjBeEPV{fN7MR$CG5NyD7-yc?TpV_(DQ#~j&UWN6<nKRFw-$y)G@ZogDz^h{YH3tO zTEWKc02}o04&Zq=0gvGpV*IyA(yAib0o-=(Y+o*M`lQ9_$6uA&y8OThXoW&)tZ}d@ z1#8@=H&M(DsBJ~mP`IH8WlsdJ!v!OyQn=GGPe7Rz_5&6lOfc!CQMyOEtEI7Q_E{uo zgQ-u!J^|<d$aVSM*a^xby1T^)Xg}Lh@8-zD*n`(O)HfVHuhj(I^-)`Fb<ka^>sq85 zl=TQ<t(ES;TLr_#Vcs65t3HG#!+eDn<2q|9F*|<2rs5IL#oade%PY!cpE=w*)WvHm z(f=6I-EKx3;#89cqf|WNn*)7U=xRfVXhYlzO~xa>g>k4!?JCrb%(bOU6+N`cQWS)B z4>;o!H%Tu>EN@O-EX8sRVp(2`D40TX_#6e?lY!YAUeBdH(AmD{3ZGbr7UCP%%=A9s zoPDT6E1viKXarRq+D%vZB%w09A9c0QQQm#=p02$6;N3~%f%j<&UW50^%DW2hand{Q zq3LRmah+qz?aCUgA>sA4S2t_Um19iCBSH22VvJPV=F9t!<elhf5!Gt2*LW^=uJewk zEA8!<<UR1Z18OmN=8n|6_e3;nF8(!vqCS?!xj)W5QK;Ff!Avyo+dwN0BO+>W&_rUF z)bl==CEu*~1fP~m!9s*-B-)6dbOj4t?EzQ3q_ZO^A7vG?jljJ3y?a8N8{umpyN$$N zy+|+Y*Yk)BN%sba`b$^OgrAr*m;A)cHjlmdNIRhe;rbH#n2nbHu2}+hzvYs*<ld&1 z-P<&3oG$nY&%N>fO=a$lu$Ph7+eCxorake^V`d`7P~vywBE?Y8v!6S0hJt34rq**b z&U2B@0l=97TfH9ke&kB~(o1@TK=XW{6!IQ?<|Q5QDuhg;+$y`ff-~o}d&&<5z_-gd z1JysBLugA?Bs8#u7&kEBTmrbnX%teNct(1|2iyP^hdD#;GbGCL*C34okVeChLSG<# zrPzvBVk?2u2WRq0siR^U!BL7EaJ|y5QPP=p=v5ibj!kif3*{QD>x>JMMsrorF$={Z zSS!AGz|mYT5m(S#`M8Mpq<owgQtS=dPz&bWxCL&xpT~Exu8ZXz)L7&AV<&Y7o3F~q zRQmV21F9x%tZ&nhnSPkN9AZ9vUK8}e5<js;?*|Q;Db5ocH5m;}MSkf%vv~E`;qw~} z=?$tl%{jFuy<vZc-EJ_P;<N;R=lC)A-Fb{82%2L_Sa8mpS-L~c_d$V2vVz2ZSl<D$ zL!H<`!LGM~-TS-j2f5w`<oPCi_wnuPKVum;$mM2`#K*_qNtyGl;JaZ@*SD=}d~r7t zZgjfjp;PbSeihsJn%D-nFot%w?`){#`&yo(D80jDw!i6I`>BrK;#MF#ZW(c&mg9ed zZ))c=bX0Y#aL(Ae1ir0ARof}u*0$NK+SZ7<{%-w|^FuvwnvSpj46gIWSz+l7DRxSU z$39W+6P82ct;7AQL^RV+Y+RyB@Iz{2XW)_$qdGxf?U$oJqZSBfL+cLsiAUV99?+6; z2L_3nVV<{qT)nV5^^9j;>KRJiR_!rqP!8U(299u!c6a;N-Hqqp$!t77RINF<gKxo( z;WI$^oC<_VI=^Mz4HW%q!`^T8z9HyqYW3&ZYhQcf8@2EGHX>UBWW&9j+F2?i-)F08 z=Gh7zPRreJCMaT(BT(3IMuW3I&$UfLo(Y(#Gl$r8GZ}R0!|*%I#<$!Am~|OJHk~=h z#y8#Y$pI?c;B)})yBTZ_V&Gifa1853J_dXO_#5C0z~_Kgz-d4e;7h<~fD?cZ0le;F zY3NYXGiOOl6JBkoN#!=cs}1j-Bkhbdp0y3d{@l1d9w!sz(~j}IKh^VOEPC^yrbyEy z><@nOtfz0LiDI8Q>*4ci!_BGTIGIpY8*usFbLz;4I?i8yICVc}ta-f%)$UJKpOja1 z%t%{odZ&T+@AEwH<@N;~s=61>YBW3Q11@j4{5weD^)c05WAr(z){Fyg<7L&PsQORZ zaC-SvUn6#~*Q-%0KB1g(%WauMju4wadb}Q{yKpMH>IAnq1e3uu75kP|le*hK>yE0& z89rFQZlC+$p7kbm?IA}_oM-LonU6X0^&wcVeS7mNK5aa1X4;aIE2X#lQ*S!y6&ch4 zEf_ohr0VPu4aLqmS&my#h97)6=FSFH{0F!Xd4tBM_JMjY=toc7&xy9`Xy01T@nH=< zbp>XRhle)Q4TCQ74RWY=?yiRh+<_Q6@71A>54wE!`M~<&^<G<^Gflur(06udYeVg- zfS4xLwIiC<JG9%T)L(9Y@3KdoW=D{*t{(N%^}clt^_z`Pq|QCF*q2X~{-W8t4)d3j zaRQ)bWxaRpTg?H|sRru0Lzi?qs$Fcl+2pki_h)sVXj9jD?x;=u2;7^SJnLjToIiaI zYXjDN5NZ%VsOQ@^v3snxwpvr$QteZ_<&tL{e7$zdC9k+m4d9ql@1Q;5xQqVIhR}NN zEkiqee?VxyA8Pd6QeW@4<-U3v(-M+o^4c=E)~D|A)K@?7uJhXA_gI24sKfVska2ju zZ|&f^1UwNVK7(pUv|{$YLAxW+;b+4cx0>+F8#_X9!jUgz3~Tn-;aN9m`?ipDqk0D+ zCXAQoo=MkcOE*gUoKyL{RIk~Nb1=VuE##rp6ZOZB1sHK3K>ZK(Z?=JcOJseh$#;8n zJyxk)`3yRm^E;OfE)$&pC(Xcl|0r#0lrt_rTu!)*$hZ&*$7P7ijCv+TYtgz2!TnTR zmeO%^Q2PNja{bh1-)NuaH0-d`Rr_vIpKVn8+Kecxv8{un$2O&A=x1xI^|PjDRPWt? ziOR=UdkMM@ukz`0U%}U_sk<5?ZGPAZ^Lve-ZOY8?)x$UKy+k@tlIoGkb0%-1NBI1T z*y;$-7&K}?q>X2??T37$eVb#<b!%wk5ZjoHQD$xRkWJK~33{__aP&7#VQY4#o@rUM zW_@Z~i^uRq;)prnvp=s#{`J`EP`AE;(lw^(RQ1?>p&3`t^{L*qck3ljU0n5T#sim7 zS9YjQVLe;x8+gAh&Fch>9BbRY=7vqG4vI^JR)XZZ>mey<N%iR9xyhU8QQWO`C1%se z)d|(A4ozgN?L{TNIX*eQIBr?*aQt(8a=fafll{wQaC$i3*&buw(tTpA%g|n)HTQzr zqUlhl&dYfSbu!M;k0Sv)Tgy<6XLv(HO*uAV4rmH}I@Fh#mUq2^-r{p{gSe$Z9i@r# z@!ezGj=L#!#*L04!Okb&RvDNTgR?%hXFbS{J1yk1NXB$sYn)?D7^e0GWt0Zv14BGO z8C5Bs3LCyx&m)R6LT2Fi9$6O00e_4ms&j9ct?KYPe|CviY?*Xhl7|p`{hZ8&q>lD$ zzRge+QY@XsT%0wpoFd<Hge11)IM7E>=i&_O4zF{=n~PC{ou~(0mO3)C{OdM$gXM}j zGG4|y4l%Yx3^6q2U`;w=;ky>>+|OcsaY&0JBsweXup=Zr)ObSFRsAYe)!=l^KEa<G z)sZuC%Nujq;J8NHB>A$z5vF|~XK4?CoT_s=?~;%S##17XzV7PW?+8oWh*N!bi$QxC zw`~S<y3KI7jng3!BPv)^G(*G)*Qi2XpPeV#>?+E>Y&(zswq4z!i%UGjJ%hwUn!*%u zaacWi^Qw-ZNKI~tseHy^(H(a<hjEDqHiGA1@Txv&DOBBn)wwOLSY@_b^fVsmIA>RN z=;n<SH65hG4p{W@^@Zg#QVaEBkaSX7`3!xbe1`<qt{vD|$UWR`GdxG=P6*g9HPNK* zK+~eVy=!+7ORGD0T9O+6Bv^3fK{-ZqoW5^EKbQAd;WUd5^+bF7$u5@0l8cjCa7LZ( zV5Gz$+5{;^b)a6sSy&yab`P9q!(-j{_Pe@-oYuWlarT0}ebE*FnY(lSXPyQ`=K0UG z0Coc+Ex_?N<_-qWd?v@5(~7eda&mWDkT(!(4&?XihN!f;fE9p4fcF3`fP;X00p5Xp z7Ko>5n&1y#&0QX*^1ag{*w+zPoU5$%q6ezMIp+5E)Gmq=5Y8)Yx&!`Z|BQh2dqXMm zevAVR#ur828yaG|Kh+PTA=h8Fw|8`M&+>fxzBj^_e3+$5IMddIU)(N<`KVt3cFw|` zD0tdYRvia$&+6;i*B?h3y1!$ilduVNzW{6oV9kVLqS-h<dY+qfy^V*<DEJh~s0J`H zL8@fb0~od!ApHM!lQw70+zjKm%uG3;IJpUbIzR|O07L`g0EqxSARRCdun>>~5CP?Y zYJd%}39uQk4X_jN9AFRNRX`))T|g7y7@!sKCBP1F05Hx+T7V9K`@Nvy;Xfb_kO<HN z(gE`T3jsL*5l{}O2G{_b0Gk2Z06PKC0rmi11vCQQ1vCMU0a^iH0_*?>fYk6GpaX;e zFc3`9fH*)RKo3X<%mXY0<N!oKIiMO~18f3p25bZD1Uv`W19%nC2zVFJ1ULq01$+sx z0~`R-z<+=a5TeoEY^|s$s}Q0WjJ-v;IWM<F$ge0X7owNro3gBxSe+_b1&g($M6i^V zmRc=Ug=M8ep0#R~)mkd!mzR|mR)IxsX}(aNYbow|Sy`!2SaT~^R9Kf=ORL6H6`1BN zucUdom6c@5Ei9pNP9qgM$<xBp@)cE;QzeAcb{vf=pi%iWr%YIxTT+-WFef3mV%Z92 zTq!IoTxl&GFJxC1mM#<Wtp&L&O2C5Br0`XV71m0ztR$a#jv7C)U;(A(mgJUNtO%gX zYE=I61uTvrWLD)?R57EKWhGU)%dEn3ISjI=0%#Bbgw<(nEUZA>fcI2zj|cZ&wuS{M zE3Fk^<FuWvaFZin3Z|Re`PNFv?!-Eua9gRwm79D$sUk%jOUA<8JSsl_7KoBius|56 zJf{nz1R0U!&Pou{kaB(bz*mKp{9q}hND+`p<ap!gXVZ_4`TcV$VJ^o>NePEb;^X3! zRk6Z~tWi=4J<iE(DO<jra~Go6ibT%$rE(+<m6w$+^QFqF+^Q8y#H8j{Raq-m3sU4m zT3ATJ$*EykQBi@MqWFb}oEj-K%OK1u%guKsrcB{Xt662M1mQ>BvM*MltU$1c$ck2l zIlG-$FlrRdw=T~uEai-3$wlEPtXj<!ipL@u*b#?iZaLzD%N9x?he&1wx=NBnvzF%O zm00s-2YAYvmtD@QK>3vYmU5Gv;mK51VX@{5Wu-K)Y?ZY_$S+$}N@>-I9`+(SJ2O>4 znKh)$8B5uv#ieX(;8O0)&|={-Q3?#pid@v&wuIw^&49MKa%TS#+vSCo%X6zNqRXwZ zu+kX-Ih0P$l}d00CG-+r_7wU<3Rd2Vswya?aunf81ebZjRmvQpGPl5r$nJ?t*$UZ# zbLYSrg(|J3N={O|$^@dU!kIml3`#Qg=J;DA|AYi2wO~Lo%K(g-m1PhzO67PS<0MTO zkTf%EwlF8lFh(xbl9wzTOVQ)0oPniZA#J)V1v92QJ(0_wi-&tEvf#3NcPvzc5<K}a zU>ds8U!ob1#FYttoWzwAew@UW9eR-{;YDn?OJ1pj2Fj|Sa2W>~j#6i53I++WLM}qU z!3K(BZUH;)Nj=F2{y}h7P@b$T3~uGpNx;F4FGvx|0{7{;75Ukv`PPaBN>w0JIiti$ z!rH7ig)4(I$t*)=SwU4lKJHwY;Gb}ji@g;}r@~E-_3}s|F%}jSWI1a#ImmJ`M%l<P zIs@A4Da8uMsZ>Jx#VW_C9Pvw)+7$_astR>K>o*0*6$#P?w3#a`7Heg}ijtDm(A-Rh z0xH{HE0kJSDeuCn!V)wngcV$VxhQkFwyd_4ScPb4D4-R>r4?4_=&CXyx4axI3#$ZZ zt+C^k3cimI<4F;9RYhTyRmmyBP56*>u_Pl0o&)7BD3e!l%SNJbGG}a$I~Q*j$jN#> z-g`&}Vl9c^n=hk!9J%;bTC0|Fo{@A>rnO4)TZ%CtA=--4Dk+1nSe^&X&UFtH3x$<X z9cZwXaYBx#j8eIoRN99u8ttGJC8(jTXsNBP5?O$Pin8TG0!Qw|ctmNI2wpw4?rkg3 zx~W9sz=hJ>8c*V?!qS2=4n7+WFc-uO;N)m!EG?KgK7mYy70XxUR&e8|lIG+tm+Cg@ zBRf08h?ltdg+KAf<-Ie@%Ko$8FjQg9D=Vu~hy-E2^vU66Q3ZvFNlH-tTPv2L4n~_p z#tQ;}F)_zH@|;kK3LLU4&QOssH7eFp>v*`4zoaU7Jh|~KTCu#GL~BX8!grj~j6$+8 zR$+&zlG?ONq*n?B$oopaiG}6pBecLoRJ=&CO35v*85QQC@KvGEKu*z$rT~(#(rOh7 z3#5j7g_VoSs<MjW%JEcL0(HE!(vn-sobZrHGU5#=yDJM(R=N0bb6+CtVXi1jXA@X% zZC9>9o2+7W4;5N+O3lU1^A%Qj=#-ALr>kM1G^8aiJtQ1Pxojv(oUNpmk5jJ<NRi1} z#nm|LN5Zj@mNswx+}X^Ii>Q?Hy*!fheh-x#p_OIGrf5~=bH)`or&plSg7(>XLTeTI z7`+Jo$&w-+=}}rHCui<TbZNM)CZ(X1R7#rmlt=}^MZj06T3rsGI43~Zl0xp%Ahvqg zICF%r+<D&qHqo#DOcd`&^p|5q3$7u`A4=5KLgamc=<$g}FHR-8t{bPmUrTi3S45W2 zaH{_pqDNmM@)wDwS%{u~hG^jmqBr*toqvs}XdTh!MOaRafs`8_C3<o`(bDxqzc&(H zm`k+$KBDnA6TR{{(OnM{h0P;6wUMYA%hJrViCQ)hjeVJDPZ80ET%zGm5q+_WsHUE1 z_CcZ#*AgB40fR4?g$hh0y1$EP<#?j+&Jvw$B{Gg8dP7Y#<{hG|{z&u-AEMhnCi*g* z=;L4_Lo?Ca=ZTg~CMumy)b1eijU}r6mT1@Ci4p~(x4emNev7E^JtF%c?7{hzXlp3Z zGed}yKO~xeE7ALPM3*)b<zy2*b~llSfoO6%(aR4IWxqi5$1<WT`9#Zh5$&izZ}}CX ziLVnqx0>keb3_%(iSz|T$9EG&l@lF0K=j}nL_=>U`g#e`itR)*wh(=C6JZG-(eF}- zHkpZrJV><Glj!e_L?69RG{>K4-$|mF5TcMEqV<0zy8Rr{XOoDUl8JC9F6|$S`Ju0g z!rO@MjvxwplIXr=M6Z?*j@=^q+Zv*@2BKB_iN3v!D0l(U1GR*MZHY$TLUiJnM5!~0 z%JoEF-9>a~0MRvnAe!(d(QiF4QTY+k2Z2Pb!-!V@jc8*BQD_oT^mRmg?L@O8iH?3j z)b<V0x@e;5mx!L4M)b(_L;>FueLs?@_;aE~-w`#&5KSFSwEJD6hYk}C=q9>&l&C~U zbn9@UcRnF{A&V&CA&kK6Ai`Z3Wc>wEX9m%qQ;BZ6hv=o9M3byUUZq4&{F*4QnyBLt z(R;ronpa8m*Bf#7?pC5Zo*?>sF%eF%CEF~b`WZyA8;F{pCQ8pCT2oAP`Zq))?jXA7 zRiXp?h^}2pl+sCbYzontc%sU7qF+W4U405SGMpiLeFBk5OZ4fVh`#wfQI&@1-X_eK zUPTl!g6Opq7*q8n%KZyb<`JSlsBpi<2SmTQn&?+yM4rcqx~~uw+(3l8ROn9^iQ+~R zJ%5_0?n{jNj3X+0mgt8(q9cVwx4cNSvxaEO?}+^N5^bp>5;L*L{Sl(Wj}a|iNc8Oe zL`idq2Bi@_Y(v_O2p>0o!gZ4o{m8hK&OZWPA&P7i9HLw@5?;%62$<dtr_dn_^mEH@ z`tp-T&1B~;f8lixozoB705}18zn5Dzsrg%y0Yg!;oh+jb@ucza^zzpF`1%bR>>r@h zsrn#P9$LvcJ7YVhb-tri=u!ns+@1QT=lwpXtz5f)>_b?jzxNk!zSR8ZQ{SDN7^qWM z#?Oy9Fn?=md&OV#rqqUPynWx|-G^F!b-4TdC#UnG43h*8Rqz-2?^Hcyyeq5d>6r(j z@A7&0+rR(i;)`!Ta5Qsr#poeJ<Gemv`9s0O3-+6Cer3(G!yZk%=hOBpZI6BQ`a4I` z|Gw~U@!4v<HaA2a9hvyY_r5v)%dcL(lzwmFcHie?4_;jSq4||Hj}+Y&I?p#@YG6#) ziNC$y(DC@$)pZN+zu~peUq4fF&)Uyty}cyjTFtbaK`CLs`R2i{umAL?lQA#(9TFeN zc<j-2zb!p_>xDT%N%7-v98vE7ME4uto&2=(FT)$AzP#v(>IXMH^!)li>^-|{Q1iGq z=bS4$Wz+4Vx8hC<9`i=&P36mS4sP65+p+uOebWzzwbY!x_55D-=D_n2AH-jm8a#hh z-hzrV2i|}Bxrgt)tMuaBzh8TF@Y|nFIvlk#c)dqK)r|b8EKlQ!XD`39{hn7JUD~#; z{hD{Cebh4g`^gV^?HPJg!OE3anI<imb$t1I{+A|v_3rks?!E8eub($Aw5EGij}aR~ zPH8tJ?vB3W{Us-o&yMK0bpNrs*M7a@wH4;9#n%@NU31R2DRf`VmZ{^r0=_9ZIr~p9 z9J>FdFCTmFfzfNdOY)bb&3ba$#%o){-W(MET~hZge_8u!-OImgIR2pHiK|N|ugjiO zb!+YT`lM!mJ4)&QX4A-~e*imSdSMwct(ReI$#tKffzbnEfqauqf6HzdV0#QB>`voC zGgjkf_#2je&;w%KkU#Fk<&ng4z0=s(u${uhMdrrTg>zA{rQ}ljaU*s5-(zW0Y<rk^ z_cLtA$Q~NkcOSI!$&cPf;lM0<TS#B-jQ@XrZ?ro)JFi^nuKDknD_5>`IvlNy&M4=s z0OP7Yo%nzBw70f4Hp*G_ACV1gC;R6retkX%cGCx|xamev5ElEtCywG6&Lq>zf0at3 z@$&Nb9}zZf?OL#ABT==&$cl(dk<<S^&wovvK8~b9-bWibgUjN0dk2JvCnwj`^l{ho zDJdwaNCmJ7XOqlk-P*O))#ZI-r^li6_K*B`%Aq_JaabOAar#gV_=$;TCtmSik`+IS z|2C)fzy5TJ^RK&*C>8%*t~3FNErbUJ<G*20%9F#xz0p!v%>RSs-zoY}diII`KA%5{ z<-g@f@o>QM|8Ft+iNuQkeI7rN*-voR$7AL5CouYnP81KF<zM-<{X}m6zO%jo{=cRC zD{|oh74b8h9^S0x2CDy2&A8Pw&YG-m-SIERw$0YqhziqgcgRf}DNM;wdjSF7-ij<v zR((Dh?Nsao2qZT=Y);3@Q}(aFcanb^oFVT{uXy<Hlz*o{QoULuF_2?OYPj(?l)4hU zzTUZeExk+5`~CDI>p{4OjvI<@-u1K$I9dO-wopH>B}9Mk224D(HG0RU><-nt)KVEB z#rkC-#ebxYWR%bTi3eM6?}5GR5%$O4WO)Y6(~5^Km(KF9;QtS`1DxEEQ~K2ZE<uR6 z*vJuqbe0lYaVDj%oV;jwySez8UTv-Dgj`7uM~tJnnOx(Nw$}>;N20(Q8pPiEvx(8# z=?o>am4m0!xXS^Ly){xHwjqKbsqCP$^=AmaqgN264=H#qIov#UPZHUg<3E-lyubfY zCrAm!Upbn4MTeV<@c-C<^v#o93^|3J9yhis5#2jF+_Fb9hUR}Bqmoj)i<6&=fGdSv zg7J$aM=RT|V=;Rv^`A)$?rljrEE&br&2uia$xa3TGke^K0R8v+|36m$|9pW$|Cnok z)?+Z8o$J<4OLR*fl@hH^RG&{L`rmp&D@ggmSslxjF=`LDZl{Z(;^9B5|GA&97?;zY z7X*>>DZ=N{36geXKYOSKd~?fIZm)ewUHyJ14cG559HTvc!V=zw{|mnM@OLuo{p_*t z`zBSTC=|U4gzWK8Dujx^ed>Q(UvCHcmTLu+#N>Y-%>%h-oOAHTW$&#2QOEulOgF0% z_x?XJlFQg!LUB_-GBSpX6pYP{fO_Nf5`p~F!=>lV1}hX27`(XiQMsxA?oRt=c4CvO z<eC5tUfr@dk`79^bs!ujox_!sbq(!FzS~;ua(;E@AGvkG%Dhn`z)vp`T3zh{*bGoR zJALW%Yz4J~!kc0mW%tPeQmK@!VTF7YE`9X0AQXhc!9}U5>4o|6k7N}4R>j)syAvU4 z1XQQ8wKLrEm)kT*PXw}6xH3Y7s!@(HnSOxZnq-tiq=`!tx%}72)Tm)xc2F2VUg@+e z!uD!FxHES#kzVAI=WZ`)9%p0074;H@q^S6(RTWU9xcSRHDw1DGwedj(S>p_(;+cY$ z9=-inzEqlkWXV=Z(H<gqr*7{K`<q<8oq3OKq^MwJ-M<Clz8$8Ab>BA)ibX%;?zGRl zObetulZ2Oku9I$_dvj7!@!aC1u%xv~VIkAjO$!OT>5iMi!fvg(HH<>0g;00f;kIrH ziQ=~tZQXI{Q@#90k6k@>w7$mE(;Gjdk{3^Fo3^+nDJ)E@4GT-E367|V2wu9BmM-=3 zsZrHX!MzU`<*?cMWcQO>wI1s{v^rs(pwnt&*hP$1JAya&3>tyIxWuHyI4}Pse=kMW zrFeSdFSrJOQ86_!fssMl{JhB-3xs(%C<rkU7LkJ03K3xx6IR2_lC;?OQ65KHHdwoo zgT08j^dafSjI<<5t<h6OMn;BdWJ<>DgplCC8r_(*w6rPH%o!OIQ$`N)@tzFZ$)=2q zv6vwZhUfZ8_|XPOqy)2pN5NXPYLSmuQpzoh=By1I61cX8T_mNXq(s!<Cy75(YJ7Zr zRKVR>Spz9*D5WL^*J`FDt7@24jUJ{(9j30SL0r_Z+az`YrZ<kfwZ>=ISkq{5iPxxV zRGMVaCWi}pAv{^1s86;8YlAHsk7^H1?xKv@24X+e9HWGn8V|Kf?ZMpjr18dnnXIg8 zeND8{n3!lZ8l&+OU6YuVl@&tTbw28lr=I#%b&b};qneC&=pmneI@Rc+jfhS}(^~jZ zy_Rj+ZDMCgR8$B<C*!o~;1cEGk!*~brq>H=!ysSSG<}?YnlTz2W^LZQd95)&YnG9; zlaV~M3Xn1x_enrJ^|aBEqo<A7wJSGpD%`GtK-r5%W@oQXiGaANBeNm1kd?h!KWN1K ziohw^+1ZPxz_&$Hva_<V&?9Ya3aQiXz}eqvYxQ>^0q(FzkBYXh&B{*W@UG2T>+4gK z5zp~A6@pKVH>an^O-)G|xn^prUZ|$WcJ91mI<}cjpN?3XJ}s&{Dk^<lhM^#KLg$3o zZlAF~2#uT8`DnmuH6%CQkrJ1lZjMjX>m%0C8eiXvI|dJ%c*p3mV<$x8XYA;>^x1kL zQOa!iNt~d2_r>2$&_z$Wj3r8(abkiaBJiWlCj7m?f8E*mLws}-a(y=;SMggnb?b1x zyB(jMz_r5~|J}jC7d$$HgRj<w>+l~A+i-SfhkF8wk^IT4Sm0hU-O?v=FBmWxmfduE zTwpF&GrtRL(GFH@+NHOvgPrUz;0<E1vvBr<%Rnc7fP;`a2o&5663G%sN#{8yv_J~h z-O~69GEJhf(`+_RTBlZfd8yao&yt;yVu8gp5B)k}guqDk_NUvP-X0c{5fe76LRB#< z&OCc|TwHo}dfe-Ii%rv$kc_krs%u>g8>4Zl(Wt-CY}D(G<{S0!Or>eHA&gpWaj|xC z;N+;uUI9J<P#z&65CyyF<MiFod*Le82pV?H)q%uw{VXLJ0FmS3Vg)?Kl38ReSe9nO z+NijR@d=Z#Y$$O`N~*z_W`eaFE;rADHI|G^8E48JSCBZxNq-A)u~@eh7l(Cz$fhM_ z%V;^uSsK8DNMJWF24gQJpaj6*?q(A2ulx^;7=-h<;9gqbGr%)n=G};g1YBA0nXvx@ DZtK|K literal 0 HcmV?d00001 diff --git a/res/firmwares/ENNOID/ENNOID-BMS.bin b/res/firmwares/ENNOID/ENNOID-BMS.bin new file mode 100644 index 0000000000000000000000000000000000000000..31b5f7220b77441d042965fdea588408f2d7cfe0 GIT binary patch literal 84832 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 literal 0 HcmV?d00001 diff --git a/res/fonts/Artifakt-Element.ttf b/res/fonts/Artifakt-Element.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f434da95089cd9bb937dcbc93dc329bca57fc2b3 GIT binary patch literal 114476 zcmd?Sd0-Sp`Zr$HJvo3t?o7x<CfDS?CNq;eA$MkS-;je`K!9*VxK9zeR6s;jJidso z>w3$2A|C51-mI%GD(-@!i>|urqN0+{`>E>g$xKL)@B96|@B7COD5__syXvW@o_g-8 zCX^83PBs#eEGj8!s9Y@cuP5|54}2R`T2x%3ze9f;q55t3{7z|2b$#fsGc1IrRuHo5 zrPBJwf@q)hzauodjgWEQRM#h^E*-xkln}ZS_jmTp?^@&=^l%;_6B`JbAkFStx@c$! zJyHEe{O&rtf7Pt6p6Q*0Oz|h=tBAgtUA=CvE<oGlB8sUGUpOCfjzN2A_#DwUf7!|n ze>gk`pHHH_wfzfwy6!$V*F?x<wD0ud{H~RYL<6}VzqjE2&;?!dXSUzf^Ls)kWaIai zMGKcMYx-B-uY`K+BgF4tgpFM=81AF)Z_IGd{y~@^p2Iif-MzmaRqMfH(jm<&ngD!u zW#92Xcuo@_9YUMYgU5z8YF^<jslTEY{?5J;PLo~4lYcGXf6DL5=bzDlu#oO1PPl7_ zz@W9tHSHj&6wnG2oJ95`(cnK9JkDU{e;TdLRpfaxacD?%8;YR2H376El#rX)kAl0v zAP*(ug<HrP_6@B>8K;y0GL7ya#po|cC?jd&Ze0J77|7eC7_ii%G|<OL0Dd1J5;5W0 zLVhI{2B)xwRMHnon&3==g+ek#C?=6Y8tOcfNiPs@p@(D%xg?3*&z@y%C}lbQ8wtcP zmI*6KsBkq|BNUNZ;Q`boD3eic#pf@`8hSHn5GIfqVH3WiWQ{ln^=BwA;`dI}e@49r z^$e0A1Q4z8Jn0q|lTdL1NfP>rAK>v2l1Lih?Pf5e^Z<rwC?&XV6XF3^BbiOVA~`}c z$rlnx4qZ%=@m;>qf$yV91Wm!1d~h90+Qo%rHv3+v#{GDXJwva<Z@-cRdJRbw+DW?* zM&iUt#2|PAA3-FJzDnZJml@?QluGnHhvOf(7fMNoP)S<wT_Io%V)x*B7V2d20P3gE zP7~?EcLNOf{JY(xLeP;C{@r<u<2*6q{#Ic&;CYM8Qs!qdzHh|y5$t)*gQQU@M&Le@ z<DKDtL=lhUJ2n?=9_$L62c@K=He#-<ws~N4VP9IvPX3wAg?(Xj(T{eQ0Y?n)qZDyD zXpGGT=E1)3d0=x9O+*?!Gz8q|*ye%Fg?(Xk#y+#TurHVkK4+|E<7WMjtTA@p|5!Dn z(fyzeHvU<t8IBmNW7Uj~87+-fgT{r9p`SqO(*SE4aGQ+r{erp{V+}-YMom#SFdT?` zupXviPO&CHmy`Iq0Bth*#QI1Bjry^5!e~_xP*<YXpe{f?0ly~_e?D)FhS@qAt!8t{ z@Tb(`c~UDriO*PPjMkO9L8+VB+GF%TW{q{p*9NOMV2!Z)W|GcngUt`4k;~OD%D=NU z&DRy9BQ}TX+Q$0gYuv7;E3jr&xYYg?T(k9z^<q#;HtL&E+EMnP#G&L9G6W7e1pY2P zg>pa2mnbLj-DcD;p!P%kJ_>#xx*BDp{M%3h>Og#d4<UocIDIi5#n$EyjFr*J1@Nh0 z)YbT&!6>gSBb!t4TjDQD$~}y)1!KM#+>B0dLd|$3d-g%%%Gwf_l0cyr^zcu7#|nGq z4Ya}dBzum{A*&g$Wa}EZU~P&;q>S^&pYZ)dq*OD3tkL-4`W50LZbiKfrGO-ghfv>0 zX7IIA0U9U<uX_VyDMtT{?%yJAf*bhrN_@vk5K0{h6W&MNkHYAv54FN$>HD}Jb0?bc zJ>!pC@LMj)5o^e7aXzkViJLe9br|~j8u$prbt19wzB)j^=$oxi&TlzC7#d>pDaMm9 z$obi94RIJ4eK4Fqit#p~PnD)28yJ6PIOO991TDToyv0XJpy-SH-o|)a@EpU-cGQf< z*!^n#FxFQV;C_~r3auE!PTa@j1e-&)<{k%c&LA0lE*L)4e%U-SnArR^g6A_n!sHEP z9g{a~zC<Ql*gP@0GJ<wh+8<eSxLCVPUw9IQ3|&Bh#OL)!VHI%qM-<3Aa)y}Hf^}?C z3x4Zng(ib0HWG`I8)W}h(gnSsi~gMil9z`bfGo*CNkK_R$wVnsKC^4~TO*1ri^jN5 zSO@xRAvGvdQT#<&?^vX%#n>V1#8*ihw5>KK)5S+Xld{Yzv8#=m7fFipIbD@!sM9rT zAwQocjp7z^70P~;9jtbWwtapLpKV1`j_;T9GTT;vLTW@-juRiimxKEo__}K$Mfl8g zqyZ*dQ77OxE9y3sIVj6fm~OM2kAscn3JUIDz{>%Qe;Mh;bt_66+Gf|RZC0|C5+$_p z>r63+gs^+mg5Oh6f|TNqdN)cY3WG5hB^rg{eJx6c7(sl*P^{?|tnVv;lUyLF;yIcl ztcG566G>)Nrg@mm)f5qd$t3lAItUt<`(rp^bDfNmg_489=DY%h>460(`M_=EmD0|Y z-p6$x&@p9tE%Y4la;E#`qcHui2Zigjd`+;m!Sq1rRjgp`b+Lkbcp*&Z#{6O}J)rRX zYj8bLF4CW6-p}R3+xU*jg9lL{Czw3ovLPSOxADI)41hKfB_3rwFz6%e@8ixh>xX|Y zD&K3k&G94INSr}&6Uln&P2*@8t)%PeULjDJBAA6&gpWmy=qkF2UShZyEt<rA;_t<y z;`16eO|_;?Gegs(S+2Q3bCc#)&0U(uG*4)r(LAqtTl0bDQ_UBee}{-66GEnhObuxc z=?a+_a&^dmLR~`LLw!R7LPJ8sLZd>HLo-8jLW@Edg{}(S9(sT1)1lAmoOIqgtu9m- zri;=g>SpL}*8N`hnC=<f%V9#8bC`RWS6Dz;NLXB0Sy*S-%!s~-FC&H`|10vL$Rm+Y zMjnfNG4hqj*CXGKa*Fbb3XRH+%8x3D>Wu1%niVxq@2&UMYxV16ZoV+|s~`=*B7}iR zLdl)fk0w$Jt--kcg%FJUW#ObqL}zh4A9s{!w2hl;CTVIl9hz><63uSSe$6eKLz)LQ zk87Uh<36eRL~~B_O^6UOJ|rY0Kcp$7Gh}Ya#*ptZ?g^pZq5h#kp`m=-8Opeqg>J;S zpHjx{XB&6DZa2pLu<mI-ZYPY}Gi<VL+`SQ<eB5_p+>c@0&tlv!N500#?SXM;+QvOI zYOXTw0X}ZZ#y#}o(Al9s4ZSe*+|aS1qeH(RiWmwTnjo!{=1W$|B9%);Qks-1MGd|> z_{YJ!2Jal~9Go%OG1xxXI#@Yq7)%*V8jKm7G8jA<IH(;QH%Kr3eDQ~i-+lUzPe1td zl}~^7=?$Om{Pe0%7k(<9`S#4$XTCgh?#w^We17KBGasIL=gf&SubsK$%)vAJ&n!FB zcV^a^DQCRSc${%P<8nrGdhqlIr+<I?mec!AUw3-T>GIR1r}Iwdo=!h)JRNg-;y-@; z$A3Ql`Qw!z_nvy`)Dx$UoO<Nc1E=mg^}ADdpE`7E{;8f*O{a2BWuD476?7`#)Z|ls zA1(Z7!AJ8yazFXQxZN(-i#H70v6%J$KmBoIgLOKs40$bT@D^Sep9n=+kD@`j6V|#n z>K@eKGc*p@e?y&!QikiVQCm<dQJ}NZ8WcQB(F5J9lq_&Fe-!AZ+?x=B>nXU-M{Sl1 ztOO#wjPeS;FGPJ3<zrkI%dATTEYyl?XB4F$5xh)f{nVrOk_&A@9WEEzj5-P>8uzrI zHlmnt-HIAM7glIH>fg%+-VP!{e_@5rK>fU2XeUqsKB-}Sb)lYwQjP2RsB2N$aQzT! zJg>oX^cmFMC=6%MqF#cs9M{jG-i>ktuK$F3KgvzG#+Ws?pxlb<S5Y5AxeM2?qXu8s zJcjExQ9q9I1g`&z`e_vOL*GLUI9Y+zAsWa7Rw(eNVdVo{qi8-s`4rb5p+1N51+IZ# z%{M6j#`Ql42@z04T%SP=+=fiRHJ%B<e1%NG^=GK_QKsVhpQwTB5a5`itq|ZS1h}F9 zLOmB{9<D(fAsbPy#x?o~`5xszxc&ho<{}sR6KeDm>W=R(p!P=b#q}U+e-!w-02T=i zLSb|R_(DTb!f*{*2*v!eB8)=~{eTq#u!m-#Wa65&og)`vBI+W!2$;jrMRF0)cjz*d zRk+^+HDC_ij%z>E_sd0KeLjT(yu$-RLZ6k35Kf5BNiISJYQWEm5Q!Sk>$JEAd^$YO ziU3;F0d`h|7}V@H27fH-M7aoYsOwQcOR#>3Za2!!xW<@tzn2TVUPSjW%47H*W6}XG z9q2(QL;bQ`1Pg&VBp1Po8gPa=<DLrC7&9wE6>4||!?1o}F_EyzC=BPI>oDM(6#=k> z0VY<22Gr<-6<7--tWz$qbVyh)%1nF@nux&n5q-FxhWbmn2;HcM<N^;JiM$i#zi<zp zi+o5f@NAGsj4AR6zMqZyNx2AfPy^?Y$MF4J)Gx{fmL7@3cq3oI_gIgSuc5q->xHP_ zmJ7UcBno3^MZj8&!W>7j@h(LjDi>h@HRvTO8{e-$oi7(?m?Ww|F7P^%s7|>EYf)ni ztiZY;Q5bg=U>DY-27FQTaJ`Wby|-M1&8R`wtO!@323@cME0pNbw;s>ILL)JlXI6yk z2)O`Uu_9bg$gdPdz%^(=!gs6)dkOuI2QNf`Ec@XkFGSc!oY@+{D&qgxmF*AZ%ZYsy zZQqT4frs%&1MSh7xDZz|4m#ol;sz-(iMSIF;z_)SH}N69#E)o+KbcGdV6g>}U=l*6 zkWiu{VI-VHkVq0m^dy?ZkXRB29W;R?!ZVvpQb;N>kThZ>CSoS(B!gs<ENH$tB$woo zd@_|3kU~;KieW#Nk}^^bU#^u@kV;ZTs!0v0C3U2pG>}HpM4Aaat7JN9g~r=XI>-zH zZJKlg{%goKvICy)edK0x2RTgcB6pMDk$cF!<UVpg`2%@?JV+iU50OX6qvQyAocxhI zL7sv=`z$$1j*;iUW0sPc@NCW%T*)eOh%6@kShp+4JW%|0ax2!xGNBo|b{|<OScPh# zigsd+%qQz0O@2?FA)84rSt!)eETK`TBn!xTaH<}171>G-&`H#t4pK=F1&siMhCB_b zeUYXKlY~%Vg5W0X7WN1(WVIj&PMFWD$+ct)xsL24@D`E1h%D?UH-R>8B)5^<$wBfh zEu`gS2`#22v=p|z1$uiCpTkUGR{q;W=HlM7G?QLO57MXUN%|xDi4anSBB4%LE9@0s z6eKY~w214)z2cXe5KX?OPqP+U?P1M_PRULdr>#!+IlbldrL*9i>}+xFcHZcGi}QWX z$DL2RjCV<N>2=xd@|MeKSK{j9n(A8RI?Hvv>u%ROT_1IQ+4Wu5PsaI;D;hU<-2QPd zjypR(Xnf}QhVg61?;C&r_*3J5nGiOiYQpLX`zM^3@U5GNTZCJITbtWPw*zi3yS+P+ zObo%_%!z#y4^RALlJlg1Nh>GaGU*d{Kle2EBKJD?+uiSTf5ZKphrdUiN2kX|kAohM zdc5Ot&eP2^+Oy5`u;(vc$zBa!16~Kc-tyLX=X>{gANGFP`<%}tpCX@LpDjN3_`L6{ z@lEyZ_TB6IvY*DU%&*(;u-|Kb-)aN24caBz{o0fMKK?cSyZt|$96fpM<aYzS0?Go` z1{?{v80Zxk8(0#!DDdIHvq3&V1wqS#9t}Dl92VRiye;^_;FBR<A-T}^?+bZjiu07z zDFaguP5C_3D>NVW&7shDbQ+yW*QYz6dqek2SYlXB*p{&S!#)r932z8r9sX$eR}qO3 z{SikZzKKkYToU<o<lm!QqY|SUqBcg|6ZK-$Nxh&?)Ys@c^}F=P_1{MOM;Apeh~64~ zd-SpB(=p>?B4UbSx?{G*9F932^LeaWY+7t@?AF+aW8aSx;*#S!;`YbA5$_sb6Tc<? z-uTZGd=e@WmL)u$a51qYaaZEmr1YdMNv|cHPmWKvBri$cmHcS(=P3axxhdT#dsALa zC8@co{i(O4zL9#-5M`(`EHd0_c*pQ<+N8A9w5GJxX$R9@GX@xE8Fv_;HvZk@YKkzK zOl77{(-PAG(-G4<rgNqr%^I_xIn|tRZZY?puQMMpzh*vVKA-NK9+IA$K0UoJeIWh1 z^rPvg(!bA$&X}IDB;#PlhZ)~zhGphwuFSkQ^Nq}Jv;49Wv&ym-W!;~3EbH@ZAv-pE zR`%NL!`a8O|DJs@$1f*8ry*x$&cU1qb6(07azk=WxpleyxjS+n&Ha0xCND9sJMX%@ z7xR9}PtGsMpPRow|LOdTQ@y69Ppz4{VCt@^ho`<V^>l$-L25xs!Q6r)1#cCcE7TN* z7UmcB7Vav%zwrGc*P`U2l|}azy;$^Baa3`B@!aCQ#V-|qQ{q#SRx-C_OUc6}Cre#R zQ%g%qr<X1&-BNmc>64{r%iPLh%Sy_6%QluBD0{H%jk0s)uI16?mh%4cUFG+czgYgE zWxOTb(qLI+xzqBR<#VftwZ*#E`l9uhilB<JiX{~fR{Xuvud=i9p30Xhzp3)6O0Vju z+FbQ?)%VpN)!F>7rMj<rWA%aRd#aCAzgYcY_4yjN8dFVo&90h5HP6?)TPxJAt-Y@H z&f1f;pVxWR#n-jeZL7Pb?%Vp1`m*|t`s?bC*Pm_hXvlA<Yq+=J{l@W)rpDgJeT`?E z0-CCt_BVaf?AmN<?ruKP652AW<>hIK(^gJ<etPKi>smuv54E|q#kUo-O>bM$wxjLA zws+dTYS*-fw5PXswy$j8-F|QT^X=bugmx5ltn7HY<DHJrX9zPqW<<@%p0RnxJu^<u zxX|g<8Qa<0`FNLCS54QQUFW-FyAO4r?<we6-?OXd&YmMZZ}gn%`Knjb>(?9Io8DX1 z+t<6h_nzM4y{CGmnW;0snN>Dx_pDR1J!Y58UN-yw*(YY7?sMzQ?yKor(6_JeXrDC4 zGG}1UkvTuk^`E<T?$LQ(^Wx{#%v(QieZQ%HW&hs($NSIDC-Y<H=g(g>|Ni;M=U-S5 zyC8SL{spfskQSycY+JZw;h}}67XG*>Y*F2!-bGI@I=9$sarEMr#d{Y&xcI{*<Cg?2 zS+eBLC66z8ZOPfC0ZYr4E?c^F>4Bw>FMW6ECriIwDlKzc7O*URS;Mkf%U0s={$+=k zy}az?vd@>DUp{_$(DKCPCCmGlZ(F{9`Gd<}UjFyx-wu!gXeyA^YlhO{eL0J(U`SJ< z_0)L^siquiGNy%xIs5t;Qq3kqs-Lfqvx~2fUn;(iVqdSJhrjW0pRq73%iqaW8yp@G zWgH*k;}ha@T)h8c18tu;Az@PAQXg-vI3Yq8qZ1n@Eb;Yl_wjM}fSxc7p4=A@!xbU% ziMK%v*M>zI(^xk?&b@ULvO|2QO!4&#2@#G;y3az`ReUhi68LbB(PI9b3!c*(Tns2R z6G|rRoKQTT9+U6~V-iRZTrSzTFA(|yq2VqDmv9%onHRIc9FC%O;YGxkg0X3Gvvad| znb%R2Cg*1VW|wBKGS6r5srk9dNB!wLUt~Y(^Z@>4f06Tm)4lj7efY%}P=eBi_6p;L zZ=rP%8bX69!%?^~N^cGk3=D^9QAzOipf;I}246p|OB7Iw+x)b&ud1QHJ%3$|eoBlb zsje}-XhvOGM`Ql7dVTdwYenW%+T~wf;5W6yb>RZ%@;E=OPf?tEe6n9ifF;ex*fhRx zrgMe9AUnz{G}(uVVkc5O^o3{@eg#fFG3o?pJO~GAsTdZ;`Uh$mczPKs1qynZ-z3_W zCf!|SX=<{RG&GdN8PlVa%x3zlrLoacT3=tvzc87EU$uiybWTmt(vsTRlBI>UDaOQQ zNoHfpvZOR=aZT~klA7A$rA6%P<w+)E^75oKKxh~`FWf2|=WwROrU=(hqTw<y=0w2` zUKcH9ih}O6xeSdAecq`iGj3;C6mFefm(peJT~k=D3)aqTsO_|L9-EcDR5}=%Seu!V zl9tt(T@(4SDXqT26g#USA-6s>EG#v6N={`}MzE<e@};)|&eBJHbSX(8>G6J%i3x*m zMZ}-c=9$B?OMp|#=nZjSMyH(G7^N{P<G<Ap#nWuey*nXhz~`dOvvv~oy=`ho{G5h{ zIq@A+@0)*ZTXfsq>yEFx8}+p?Bv`u*cs56V)?1+)y*xnuM&-e&9m2PE&mBiQ^0NVS zCA|gf6)T6jXkGLmY`s~Fbzr8q9Oz1IX-@6B$@>Q9Jm(vP!q~Nun>R<Si_I|JcAE+P z4#4~P31V9l@T_k*NHyGO0AbQk_UG^4pHG+P95|43(@k<erlD5otuvsP6RqB4R@SGl zPeVwOQ!rL%@ZH*ia=2GRg8g8kQ23kE=^VP8;fng|jC7841`X!$@mjFnA3<BL$VUl_ zk{9~E_z>2LYj8YPH=cJI>ZCh`3+#EVo@$HoXi5H^KH?T1tmjJ5OCsoHB33kUx(wCQ zf~A``FP*<(V}IGSX=T-|t!^8ae7$Vbre$9**_hkb{Oz=kj%nYvv@&?p@ZW8iTi_zn z;2TGc22Y^UK!Y~Dx^LfA!H=4<v$KVm^0a>33+6-rivB||*E$R?&6Gz~f^^ZVi_0B) z_X^r3wN5SU%Sx;$Y;O+lT-CLrsJbOLJ})nR+QMXOOh#N_QgK0IZC_ciX}T#V7S=G@ zpMvp;Xg`*ZPH*;;xkn;g<VJ;&goh1x<Ra4y^=Mugmr%LX+GQ@$7Z+#NHB9YpiS6Ce zzRsFz>e}IEPKj$OEewf=GGj7L&dREd>+YxwPbqhGZpe*kScrZj!7Rgp1JIJrh&eM* zT^{u{fHdfU^bmEiN)i<&W%cwNG}3=b!Ee#Ga}Fx-(qHi$@Iht9g4GMIM~8t8_XMJR zO*CZY%4=pf%uh&;Zpbfh@2E888R=^2L>fIZuezXqai%#sF~Ks`lw0CUr{|yIyi6dO zz=sF$;RS2Yt_RLYeKn#<3n2tnzyuO{q}KMnRSWw!zy6%`SFh4vii)yY^wTP;s_E-X zTjFMHzHz|tr`KI`CrSVAJg+aPPBVvh&z~;SIBaP8F2>=E+Lwk?px|BUiz*r<Z4-_b z3~m+H<>5w=WC5NSz!L~N6BMoRdK<^$9A4qDkv@J?s6izTXI~0Xlc>uikufX=>@I8F z&iM<ksjke=UePgQb++`kjO-XXHM=P*vzBI-7bZDHCM5fHR8@4+b=u0J<f@*YniO-X zzfWOCe9`o2#qmkGi(?Z!#``7e^=av8snYtS<TP(Yti6Jx1ClfH^RZr%0I$;s{J9t- zyqy)0y}?6e6f&r2z{0g}ze=+`%GS2eS>2q|q_3-~t|=Cd->}l~(rd1Hlc;AG$E4Jo zmLA?aZ@N`KmC>z0_`0SSVZQ^DUaAcD^$|uaa;$N-*6EEQe!d})=Tfn}>RB6{&+s<j zwXkbLv}ZaBvuIa&kFBM_d+oUprUpFjTKXwGX_(UlYK+uQr1WL!VOkR`eMqCOy|?Jz z%-uJzeh0|=^b>eFMfe~%$8us^>l0}o?MHbpGxMb^h)_zFqrFe$_RRVOYIgG78%(35 z4})pVwdNakXWq+AVSxk=U7(Kv=Rs^$0lT@PBCu@hmeGK-ikbWLX0yIHBiWJ^(Ydr` zeso59^h6m;ABV*h#6_h91tw;OgeTUt6$k5cqM^Nnex@KzAj^ifi2Kl2Dm)r?>qD>3 zuOU_I!l_LGL8d*kR{h;OHIK3d#D(a@C*N)?P04l3Z7Z$q>1Zsb5s7ih_uh8L6OY`` zJ>7fO+=u>ldViULMx_?yCJ4u0-_u&VFfOdLtv0h`R>B#hsjASr^`3{<ZQgxTcv{qv z!`t@!b?{~L_r9f8Lmu2-0$agC3)YwmsD$YBI+t*7gEtio!uT@j-$j+5&HhR{z4VKd zCxxSfMZ(q69<Gz(nG8JRE$gJpdW#c0vlMpYB8Gb^yv7@Z97owF`hdA{=c+}Pisf_H z6{jv(u`i>jeol4%fko3gXrFUgVO({)aJ0E5-c;m5CreUBs@|L-B}N-ErJpd<Y_4mu zZbE@qKRYQithA*9fwW=GwrkfcZi+5zZ0((Kq+HkNcHN4nHr!-Q$XYV<sm{6S$;BA+ z8o-afAX}KnS>}*{-oTiF0&BsJJ$LTgm}sRH{e3HYmJSF<Z`!na=N-^^``6D}I(Td) zg9q)vk8+g7Pbg!jI>uBnavl9qIza=Z&uOxBjbNq8!iEdE()k?R%E!U_r}zMjQ~r!6 zdq|+tpQ)$xZ>tqfqYaXjBR$U_kjGt!aWj7I8SX$viBQZqoxl!&x*!zhI9IHkv-#R} zdn!{yYH~ZeS{s&UK1G*HJ1tFHmp-@gU|(c(^uX+6(`I$w%~&PJ#eDR`bPj-_W1uh_ zW4={73`pA8yweKl2uA)kO_AYmz`Z4ShK(Dy%hEaAm_;dc(L3tv>u+xmHVhui$q@>8 zA2CDc>Akogx)}BJ0hP-l)aZ#7eec{E3riylEZL>fcj#k6_u{DuDb{lOG@ium9KOXe zd^!>8JD{TmkqQAnca)V;L*36bj9LfY!=oGMCg~+<qcSf);2H23rVrqmmuV7YhBZGQ z-^y)%jVq?388Bc`8!obO2U6ksj<Vyl@zvs<lOJ-5w@Lw&{(JBNeE26~S@N@U@$5MH zS%xzM6{3o!OAi&b(i;9y$KWB<cL9EZ)9hl*og4h5Dy@ZbonI?YoUHQGu5H`4OW$wb zeoaqz_siW~!tvWT-LmfX+t=N)`L>+Zvv2EOy}J9hSs)zNCZiuCU~sdiUucY;1}Bw* zX~}|3+g2{b3`Vq6t)KsdaCBC?sl87Uj{cZbR3b4#WU$>TtO0DE@YfP27dygY)`&Yz zWvVN;lT>E3#?YQ#yKVc9YqoE1d^R(-G_^dbduDHUcdmX#$Ss==Zn^oEtM1xa=Hxj& zvdz%@=<F2(eRs`VZiBfFFnfUm!=ezwoUzivhdG8~`ru2UuKrGOqULI=^{V-stOcDF zjV;#AG=@sxL0$EUIgQ@Qxf!t;`O@b=C`kZM2*en;ZZ?W#$9S!6kxWro71iB3Em{{> zmD)5dv#htNV(o&Rt<mw#nboy9#jW)%*SJkfnmpOBBH1Iw<gW{^&+sdp)f%r4FO2aG zH~9qz)|F4LW_l;{<BJ#*mr&st4HlsI7wZY(Xzt)<VLfC1q#N)tUgL=moc5!PAYsn^ zjh;gLh7IdCSeskhnnA!(bFRL64*gJytm*8mVF5e#d?@;;#q*$Lod^mA?T`DS`ps9W z&Va<W2x|wqe51_96*F-kTa&QZC(v+qcNX;){%zgVf8eJ1n=2RI(oJvW1iEVQ8q@%B za5L)z{8VVdv)}<b_N2Gmk<irm`Wp@3o@_kwc-@C|s`MNkpe543!K04JupyoTAM#OV zH&C{K*keM(S?gytN1wrX`lM4df*z25M-dES{XnOOzgu2AzKmlUnM!v-x}L6*(&%Cd z>@{QXncOU)h%J7GyL6fWTMGEqg3W-weY;=Zv<WVZoQrQM{K3vHaiV4lR`paqEx8kh z$;Gv-jUKd-D7WDRa|%;rpowVY_2W5Ws?x?Zx{JdF98>RbJwza_dDyyRo8@7Q;=~U> zAWe<KQ!=zlh#UGNvw@g4BE(67*6eKgw>F`N8inuJZxpMBhQ1W=oX|7P*n=UP!2jMx z6kLnQ2;%|1c1%1ALWdg<-i(3EEP?v8cjPz~&MoO(+P!+9vd+IHyDNQpu{BEw?5LOa z=UQqCb;b4ZOJh^hByY<NCWBv`fuVLbXw4U6b!T>%P4mZiKyfA}h|!TJ*K(^```5HJ z=eT5Bvj1K>wbg8_F02;<w=GJWw>v*gI4gZ$EWKl%-c==ioHtt@Uk=9bCq9N@3vXEV zLi#}X2G1Q>-rrdqWhyPNsVdLQ3oCQmwIqJ=u7cR)S<{kQXC)>><p7-dXzN=WoR||k z&Z8Am&7P|AL+`O<yJmNFEMC^xl6h^DIi<OzszNwB7*trjW1(T*?kuUgfd=LGHJYa} zJTn-<4Zsz_V<L6j{211%xR(shF&7w!^gC(a^x9%;aAog;O{-_kT(bMR8cO586WV%H zlC!T}kT&<as|SKV?rCzV2MuBR=>qrzVE)jsV9F?wt#t$Ui2(^Tw0-w(OL=)+WpdQ` z2;q+{Rhd#8bkwr)8n<)^3VF=&^lQL28Idt2b%w=Y4uwQiyg>G&rw`>W?dq!vD61~D z=65tNUe(;5ePCKfO7qkj!E5kL``qN@$g<L=idAcqR&FSkX4X>|OLKSfGxB_4+Mr{c zMZ8X-I8R1qfE%PhTPoTu3p+9_7En}MgLEUExw=EzfO$Vx&0qzD<hbx2)*ZMBbpA9G zJbx}sQik6j9T*rLboe$)y)Y2OuCE&W4qCbZ8#$i*70<XLA}Bw@+=VW7<1_+gPeca> zdHV#7%Swyzck%NG^0(TW*=fvhGdKqz(+osH34?zU;AcEZk^5$Yi#L7hPsJ9?ndTS& zN!_h40pg7BParp%lJ=qV<QLoze~7my^NMn9+UWVaSP%E{!BY}I)r0GjHAXi>5@M{p zebEc^!E`FVB0c5h5pJsuS`&t#H3<U+(=Dd>YLmqnUt_f7IcLsDs_@Dc0$XdPJ+v<; zt3z5(7o=yR65NYxlj2)d_$k`I6#rTU|LvJ*E6+9o?d<WAI);DHvEYqoCorACOV&?0 zg_u=cj|=4|POn{idi9r8b#+yhjg3O!js<CpcJ5f5wxFt~C9QSVtk$&VUQT<n;Y0RC zdn5P)W2jn3zEC-R!Rn6MEC7~uw!EM{)od-PL&J-c`*$0^6F$r@m;RbIy{Afg&paD& z=7YC>i*_d=0xWA%u%DP007BPc89$O|$$oOlvaZ(by>*#MEhW_zg8N_$6-#$6G|s&) zPpYq?;d!$g(x)+a`P|SI(6*R<2Jy|=7K1gH(wyMni4(O8^p<otzbe6hT#06*^qAm2 z!)U;B&;{sGz@vw}P;^XYVX01DrV6N>Mb!i@3^YcSOv@>Z%PJ|%?W<l`5m{1g$coP> zDac>wR+O9(7vmbC_nEBCPWH^S<i{sR>0Cpi@Hr>lvjFK7lq90hR$&*jup=4CF)BBh z4a`f!$dJ~Ji`8#yXmT#tu)!K=HoL8%vohDM%am>_l-DWf7B+-C*AG-qsA>pidOv2O zq_3>QlAbyv8#w#U($ri=*Gku<m^$R=;{e1@c%I2Fq-8<^)1RK2{#4b?x3Jp<cPWYf zg~7=L#7DRf>%&ezFn9}lEGxTLt?gW8=~+8{EqjK(C8grI6#BNL==-pk=~wcz@C8FW ziUuvlDAKPQcHdBQ<bk>!bZ5;2r%q8<>hkf&(l4yPIQUS}J@h@>T;$0*i9wu1uZ{4Z z5a1sX@97)%MAdD3EH4CBzB|F-tWTSYo}=l>!9Ua~ay1@}-HCRXzCEln9Dr>VChdZa zbzX2cOTF3Y^j7u&C1&(n4_*xk;KY5tdLvsbCNn(0P->lJ=NvrzmZp}OGh3R*nM`@9 zsd*;TyW@*3e{F`ZsQDdB@p#kt#KgZCa-5uU41Y;XgrUaTzH8`V@-=u2WIXf{&$}!& zV%o(w<lidM?_9ZGt?Vo|nR)-*@rItYzRXT@ZXRzovJQ>r@r^CBX0^O)8kaQOQ_?sS zz<7s)@mEVR`kX^2(|;o`p4m=eY$b4irYvt)>)ZWeLlfdEBRjMSf$`CFa&DS$U3QXR z6@!Vzani{P+;@YO<jsRbkThu~Z`k<PDlwegI=5_kQ3>J<W+NYrl8&Lh^fO@t^Q(fU zS<GbAC<&<hm@d0wYD?#gX;W)*A@(gb)#bSz$;sn-W=`BTD}LrRlV;C!$yB7jjHea= z<^z2_1`zqUFdYyfD?QdsB6G+v&S6v6Lj)~Wk>9y8xO^%~U9yrycW0MXJ#)JvlFH+Y zt6ZGj#f#rLQKz<fxw+k4LE&-Z6SQHILdyp#lfr}QQ-VDr{Nl&Ofx$Ce6p~rsfrZeF zz#XU$bIoJ5GWR@O=iJUg*NA5Lx$qboG%=_T^oRJ0=*rZhsi_sw6>+iFXlq)2k)a~m z68mbFr93;!Vx^7cMvLC63$N5y7)whGRr;z3c5Qy!nx9u$nU`+`K0%AfB|ggZY<O1S zzGX%B?qlFwYxaL_+kpcIN>Q$Pt@;tBcW#Yqj=S+j{0D#R-4rrKu%ka0U=I{1aw@b~ z=wX^KJukVj|8d`}p*QIFpv4q2m5-IjmQ<_Tjw6~?X6?WheO;g_Cc#+_a)q-LO!xb~ zy4f`gD#A-@IBT4mFMp0GRzH`<XQn2b@L!UdHg`tp%e^wo^W#(Xx^W><zW&-AvzPj1 zT*~m5{_YXcKAz(;!{s`Q&r`B6Kxbe-(KyCYy;XOdv%z-N>h16E?KOGwD=1#L76v9q zOt$?)8zRPkUQ7jzv3NwPov&z=7@OH9uw0-TvJuNm>-C%8_{;v=U-|QY?Yigp+c!S) zz}1%eMr(0uaCB#eF~t})+2Hobw*Iw`J+i)k=YxqitXMGb#+&9W7}(d-Sh}!sdV)SY z&$uu(b4oO*9P<J19Nh|dxc<-9p`FG%n*RS~b*0HAqb{qay{e}pKi{_`!xB5)n28We z`BdpY$yvDue^Y*NeP~>?w8uD4AL$XwG&TX5Pie?1a)B&>-WI7hf}BC-yrS<NJ`}rc z`-QvjirKa!?SqK-1K&ImC|7tCG|FR7hz~)Ic<X{`xKTGi`*Wnf@Te1hA3J`ealm&R z^17Ht#dw{f)-t!6V%fkAsK?q1*T*q;1#=hrV!bhv#255UAp8&zPha6U-?HnTJF2?! zrg>(krx#4EJ`kUl8l5j3=Q!usmwHva-|%Ba;FAwNNDt?vOb-w94h_47jj2M|M2mzY zj9+^rj#hC&*kmvOPbKtPx&-qvo@w-;F*UXg9|Vu8`}lp7+uWR6*w9cIpD-;ZF_B)| zSYF!HxVOQWo;)YLGXrf5paVHp$2jxwf;NaooiD9Gybk}~r~OLQZty%e6e;??gWfMb z&h$=LWMc-Zz!@71riNr)mcd#WTH9UInU-r!3a8kYafiO3Av_~gAL133kP@F$k*<x& zi%Fegj?G|WHqw3cnD_+p?l3Z2s0!%4Or+|<N^4ABbEc)rU@#=*<fT*<M%K-<%*u_9 zuUbs^)kfx}CHf^K7^0%QVq&wRtYzr|k?GD(dC61q;0Z*Zt;4pjH*DWUzRv{;J#jsZ z5MYz0!?xyn0Q0qRrppvh?gBB>$D!a9wPhz-EEy@PhNJ&f_?vW1vKbl<1#P7Z2JlYi z*D%8ZVJ1u>D9S|Z&Sb95S~!1$@C?1UR;;BLAErNR<~6k=`xMVvsFpl}jC6=@yQqZ{ zsGwRU(jn9S;-Nqq1<M5-N6{M@MIzeh!pZm<efaqBK$AYzDMe_@{cMtcT%@bkgZ7s> zm$>Pp&{reo^iJ`9))(lE$0^~e=-j$;^5L|l^bQl<k(1aa#hBO{ji5Suqwpu_VUPwy z<vy$*msIo`4*SxFnjdfPnBLm))Y7F(sBTV6MAPiqO%W}IosrwONA6@Wk67!FU%<Ps zR<3r$?AR7_S6s~YZLx>a0#Cdd_<qC(a)p)9IP{}tt?+MLO=9xh39(!?whEY?j5;F{ zJ`8G@@f4P5=3u=%5}{I(UMYV5iAm=2^6~I9_zn)*hW59`@pO@N@CLdseKFvZ`<bQm zlQ2p@mnD7b&@Wvu`bxM2hOrlhNQ}z3qmhXUNn^g!wZVej-i}zg+;X{|A?)-pp5D0Z z>Up1IG0G8l0*Qn!`7HD{R~D;+{l__Jn%39H7N)d$HCPzydpR)GqJ*rhiILq)TKc2Y z)1&D{9+NsgR>%tT6bfQ$5m(@90=KuI5Ygc%5dEF^pZ#gLeJDtr9N%cXxZOS?#O8aH zcD(J|`Lp-)YaE&>XpHZ0XlA$#XF$UIr7YmDb+K<Ib7j!_g!MtqjxDuB_Vq;$`q_b` zwly7kvzA+@_KGv)l6|8zC@4;!9a!cO5)dDm7gY9(L+jD8ekI9qekDm4Pug_=8rLXe zp2>9;?nxL;U$N`yZSTpGy}kVXUq<o5b&W$u?lvU`7Z<;C=uGYFZp@ND`VB|_GVkD$ zRu5g(mO5lVeY0C~b6fK6)}@ApP4*9?<Lo;WJ}^bQN1M&~&ot3LIM{!p|CA{g?{esu z#|K43+c6)ImGG&-07Q(C8gQjWnLrIf8Pv{0q3P0BwUyL&Hp01<LfR}ned~4q%FSi1 zW&e^*Go%{;GI(X}P#}-tK{JYUcBhJ-zy+1ebY)Y+-d0aF3zMs7)3)4%sK^PrU@&6M zyaD?tUq-%D8t26-Yo0!S=K}kvANb`Obp9i!bA_^;0KHwr?p{XdlN`f#oYXI<p}SGq zU>LA(14KS+L=%k6ZB5w0;mo~>GKG(5CR--*sUutBWIj&?2Ww6qlT3d)ChwKp9XoB= zvFQ^d2rz3z7Y-!2+tw44H<0wS#2$ZI2ywf}UpnyjmKyz&5oe14UeWWwU6k#4jx~qp z)6sty`gi7bfr2-tNT@KpA!CioZHNUNTZuWtjX(yVjhUj1uTXGSnXkg;WUfl4t)`i@ z_D$~OtJK@;Wd&_hl(sAE436L1dJwQnL5?fC^Nb{0Tp2draBP{ik65@8UrtVzBh0`1 z-EfSV78z(U4>L;_4ARdl*}9Qqese{}&sZFB1UJ({vyvl`w7`Lx1(v<5MkYlYBkM;b ze>g-5I%0A4#e8l(IONbJTx94+i&Q@KXaDEtjfhr$-DvEn9V24--)-N;`+5IM+K=xr zuKvyT8Es%*p@Twf=(S@G;T#tttLTV9e96Q}%UIpm@WkdIi1{x@`eQDGvs;47-0df3 z<%q6-PEw>y%IJgCD08IJE;OpqR{Pix{4iqWZ*T-abXfVNqXPjtq}YY>NBSmq@4+u` zm)~fnZw?H^t{8}0u_A6@1$|S!iX9l>c>9yESoj%nnGo)MQJFqgvFd?9#LP#_lU|^M zrs*lnaFY;Gx&4}ktawvO&Gu^=a}!NcQ37>OEbr;2J7T5p6H0ozh0PV$-m>oY(AuDu zid_hmht&s3$z2)r$1udqZ|lyK#!p!-uOA+V<uvXK$o1wamqughlc4Oq!x33V)a{o> zWd%8=`x|XJgNp6j0s(KmTwBg8ZlY4|C4u69$`mUN11A&fC`|(2@>peBfd)AmrD!kd z;y)uP#MYN1anxTr3dWxh=MW+|PMC)oGpki2!gMQG`{Qy{SY(X-8OO-*a6ZFC?jck7 zCeLSJ#2}~S*d;Vft7HicxwG3$?Q=E=N7w(DT*xvScnnCG3cpt(^Z5+hzIw%b$<qMf zd-3EMuD;yC6(TT41zlN{>u=1>DvryjH5K*=W!ZUF%hJw{Mg3Egw&W~vi%1JLr3A$# z`G+MZ_(!Gb)2Eh|41OT!Iu<XS6&>N@>lvCoH7Cl_4BX4HUKR%q#QrxK6Tj{8p__eQ z3aA|`>U&+>G~@f1iTpDCdz5~`4SvhhL^uE0_gLLn{T`hb*K=k4o`YNt;XIK`W~7e% zcGteLz+OF8?~ic_o_|H-J_VkvXTCn~k&^MZ0Xb#QnDYY5qQ?U0KGhPq{<1J>l(~?7 zm~q(UIO+<#g4y}~h$XpkEXW*OpskmIPJvC-b2}oLS;Ax55s;t1Nj_5@?2C-C;A<Vl z(s=1IV9N9?W+Rptjp#elG>|Q#xMtzURvnAXcM8uU4~ZZ+2rbUnM<2!m{830=f^1RT zj$(#%eMeo1CAhkKXI{nnlHO%qtJ8C<YW=76Z1?f)%<EnHx8iyyno=cA?aQ6Gyr?3R z40*KmCMRXjn^#+)%dL(r%8oOntuhvEoF8<ey~ed-npD{vo9dAg?-vKE1MkU!4~gYR zAP?zE?HYKR>9PEJ2g7E1k3$AUVw&>^%f@Y6pM6FJ`WBVE2gY+IGyR8gUweEhG8V{D zvmdsD+fe<eDG&l<HWC>v5n`;qyzS;@l)k`Wwv65t<1eFkrH+a5l^|yAs=k2Bb`>OZ zl(x}(llh6Xf3%@#6dcNHHil(<j3zZNJJN?otk$N{!Ejis(wfnrVe%9neX8O4MB@Mp z)LA+IqWC%Amt0u(#dke%(;iTAFC6Y=n3C_M8le6qb~8itC;Vp2p#VA|G+to1g{<an ztB*XmK4=w?*v=k02W1#6_yhGhk)4r4la$yD%S;%>ev*4`9AP-U$=Z9&&T4vAX;jX2 z@DigGjauG0p~MZ~1Bl`QI=#^kp*g<oO-<#aJ&n^h_b*)8*S@Jl*laKvvMQ!mq?!J7 zuqC=Fx3Exn$o$e~!@!N3XT-HEo%upTb6|_Vm@De02MtEfpE)JdR8yd@<hWpYCRAYZ z11o2A>0!&9(VBj6kQG5?4J?sHN#qz74@ydnEu%wOqsZxCYgD!lp&&WSnhy8lIA(Ux z4agq**fG6><&rHOBgI4J0ru@PKm6G3zwLW0Xk_#7*Z<e3&GWU0wi&(f9UqF8I(G99 z$=d27#{sl*^XkB5`(X1BIErmGNr@<phN~`k?(C=K3&(EPsHRots68`3o}6zZuYI;R zZ?v_483>*kvGD)x2!O+aZyg;75%HvU#FJ_vm(?sCZ0W>8K%~PPn}0+#N`-H!89Of7 zPL1c;ZiqkdEgRU3S*ye}LZov!(m&M?GVQ&L`K$U3`^(oy>kVn@%<M0b*<bX9y0wdP z5+jY#m8%z}Cq|p3gE4=el2lbk3ld(ANT_V2=L$C?<;b@%u&iiv+JYV4B>~d6X|1Vr zo@dXlwCSnRUT?O%SZ)?_To~;$+l$!-mu9-$3XyceA=`xsA}}q7jF&5H3w$rZp)G|0 zj@lNZYuH|jgc$|2L|LpjIkYHClZp}WiON`IS{lRlVmy-TFt$9O7e`PKb?C~0fM$>A zk>OX)wPE;0Oo^?0QL%pPGHxEnlK<w?tQ#JuySQky+#7+%?ncQc<>9*#d1Gz;YdUJO zkWl!K(!y4wp{AIpjit=noqk@tUpiliys_5qD(S<lS%6Z8SH=-+q|qcTy>tYJMj&a3 zj4~VtTwQ#8v~j7iff7I>$2^dWVed45;sUkWJIcipgW=-S4t{af-eR$3+0H{7SE4ZQ zy)dS|bHre{`SLn3Botyb1Bf$vv6TePog2B}^mai8x~ShW(co89>}Qx*Z9fd**POKR zh}@-JJU;4JzCgQSjQiQOdj&=cwf0*kq_F-{-8PS90QBb?$6KxAjhC~W5NjBU;Cqq$ zn2%E@Z*F%{n4oz$m?SiB&7K_Q9O<8$on=Box^0(IbWN&Ds*52mw%GTb;SEbH|2l%_ zUq>>%&WR<54!6phN8rI^%fnz+geP`l4`*YStGyNHXzY`+d)qs<w#$jxE9H(8%6(Gp zlC#-tMmMPm+VWnIQ0^l^zNEZP6@7U)F_9&%UWD&x{>Y6?!q;#iU3~PC?MztzkYBJp z*!m9~vt6Fn@+UBXd6y(<a~?35K1!-K+U9$%05eWp=WR33DufY3nPZGb>-@3eR=osr z*;jQr*clII84<GQ77Srz`yBkc<PL;OM<DAKgHtazhIZsLvt%&l=7+z3j6u-3Ji|Hl zl0is3-TC5&mrQ_)f0i$e^9(N2J|6^4<{czmItV$Tda!$xL8$YvQl1C4!vH?|v4)Vh zK4|5tp!NQjjNxChN<TR6l0g7&bsWlEjNOMk3@5o0-%H2QHk%m^vj-1cIuIVS652&J z4!#qJhRZ`yoPLg*@LCY+#X$Cr+>0j<<EBe?<S|_bdkciyg>P`>%}<wLmJ_l~?6(-$ zrzQ(C^5T<j8{TD5uWmB<X53@WEmULMY9RRx?=)bz`ac=#VPnuC&s57TUx-_K=(R?~ zlaS5iFbZAD@IHy{+bw@nM{z^y;2r8-iA|}swSxzTN1?_unH*#>QAn^6G0`V4P}7JA zAw=OTc5y+~PG@pZ_B}9JdRZg=zy(@6x@8OjDCLZ056iL6cH~6Jc{ALH>*E;Sq_y() zg6)n#3-Z#vbriVSeuWU0Wx-c13j<!(#HT582Zu)=fV_aE8KaK@dj}zhenKpr<tE!n zAv51I$|A`;mW+)wi&cr!BYn#DkE-LLTNOc5lPDa`VdKeUhg`~QH-hhdiNGFsyS*<i z4pP*t2s`d6Q=LKTR+uSq>$3twAy!ke8^lX@#Z2}vm&sDDDA93)4DVl_AGWTMCm^rt zDIf&<@OZtvoFmoID0^e&)%>n)c2t^Td`R~F$UNfmGh>h&&mVneWR@f)jy5wgZ!P39 z4wRsJnj9CMEh!m>5i|oM?U0Rv{!#baD$!?Y=NQ{=IiF(tf!G*B*^CWaAI$1gV;8D& z0!eGP+-a!Xx8K<NgJkQZ{Ia`*)NwO?lI5w|X_LP(_I<+|X78xux2c-g#60T8W5%c1 z_?gZb!S*iN^$rW{3UJUgtaVNr8xN}9dEl~`VC#qJIfWwA5nz$1GTi$&5V4Gl^2bKU zfy{NJ*3mH_%PNKg#)DM7Tj6R~gaM<>i#o<0z08j`{`T0Vj|6#tIlR}%Bd|HxnTDr& z+!VqWn3EkIca}Ck#%^<$=z!ud9rYh$*SVA(;9c77k#BGdK*FUB4`LRqF|MHl`$);x zI=i5!D<g&^rN^0L<6`D;r}Hn55IG(>pYsFkUQu*XE#ihc6t+43qO6DhtZtE4VzDDO z$_qn3fv~7}2i7=t3RC9FG-$nfRK?~}#AZAV^SCCgPq*#K6TO(<wNE;G$<{p3=`^&t z2QtK)x5;z^4wkGF=%5$47<InFo(Kk8SQs|&TX7|%8wP*nyZD_9Tkz+B)rg9#`*F{5 z?}r0ea%(K9*+iQvI=G87HPy0h8}<vf*W30Bb{OjG4SU#T6M^rMl=D*{-6-FDH@sQJ zA*+Vw@+`aIe26e5t)>x4b}YoUz?M=&grQ&1S{nDyGT+gNb`?LjD{HWH*a`R=b2tA@ zY3(-Ee~mSc7Rp7Y?;u+3jo~@KReRyW4+<nDhGsh$m{o;+)J(@=zIgT=6iUzVzzY|~ zv7U|?mZ*KO{YMe}Yy|cU%T5X(A%OW7Wcj3oYMU9`Q(`+aLA7CP66Mnq7;foMgt8wK zt*ZMmMZ1Qvy@_o*^OSdIy4c#yO|QRA*<d-iKxw%NNBO*&Iru%=m2<in&jW7Nb{+G& zKH(g$OvVe2bx>3(HLHs9y`nE5zuO6zVMsB)0F1C*Wbb8ix@f>&j0DiD8`FB^m_9$u z2^$RT*gQW9LODD__`u;v2z4SHj)u_SK;d|tal~vc4@gk(Y@R0z+fJiq!MOk-!-B-< z8ObMYOLPznIXWOS&)aXb?L?K<vblT@yIX^zi@2@#Z04Zdrc^$~0^w&_aNYntRF&Ee z{a{PGvn-%v>;|GHq&W-&b1(_xFmpXX_T4f2T29W8l>j498Y}agXdA3nK{j{~+XKjW zDR>unxqMy*c+NQNxKq!}uxH$~nuawi2WUttx85ji96m|o;t#|8lD9h>?aKRc887oz z+cg^;+SUKFQQn{XSGCnV=>^+P-N8fljq-h-Xww~hU)|&D%lG&`{$ioB$JedwCBglB zzQq?~OGD2;0QdZ@6)bKAm5}Mq=l%cey;nZrLtJ5Oj33mqb3O#($Myt+|H|tfh9<Tn zbK@0iu+cLHUY1gIcd+Qo5_If#2rIax@;M@q17^7|keN;XDW{4wD`RD+i(G=YcIhK! zUoy+@vG3no7NYP)`1;s(Dd#i685kX4zgzj&pJZVf0PM+g%<zCy^En<E4T>^s^oIDP zpzCBr2+uy|{P^H%h6w%)^T9WAyBNHW+4c^&pfO27c@L_{5K^5VA4lzxA=`>FF7UjH z3uUSK`Y4$APF__E5z;+aLqXnPEV9qOmha7GG;WUrd25CP22QdC7-T<wX?>87cMxw& zJ{N8XgTjtR843&^LK)*Z!3SPAsn)v7{nq?^I>RT;pGHdG#TXJH>-;hP34j6CiP^R} z-1e-e&j%hJ<ASHe8}lbtT58<dQut1B9D-u>q6N|kAETdi7S2OiH<-(5a3b)C2AC{R zaxc#z(W%LnZ^=`g>{2b^Pe%ik`{|gCglA><s!bWd&hUc>T}0aj6?qEIrSU|0oy+IY zFu7=h0YNz%c@CdS^Rhyr{O}JY_47gdwFua-zUBSuj8CH#Fmv_90IkWM>gCe|<e+D& z+OT?zfD-c@+;89dFy5Gb$mow-bU293hPu77`R1o$Pf&b3qu`I(OpFKFJV%b8(h|9; zemgA6=HI=S;*r_p@dCr6j71)E<BS)%Bl4^Qi&<$=e$L)LnSR4({LEsf6}V(}+a=Pn zy-x8Qhbjh#TQeCw`7s|rDz@A+3}&W9;sgZGAgvlc<{0G7;t&K{zihP{K34N*Wxa)Y zVVRaUW^(Ii7uJr*?esPntYc(!s<B<B+wizFYkTa#?)?|Oc8qOeKi#a+BbqF(D(4mN zLEA1^cRI`&<2$U32|ax*vBvmWQkmJuaS*~8pMwE=y$@&~8Dk{2IIif;`}4N%Z|o7# zbxMER90%5;ba#66(Q$iGJd8brlX*s~uMRn_V8U2?_}|WKmroUBI~x#L^%W0GS6kV^ zU{<<D3XC;evt#Ghv>55*?%tW*-7|Z7;MA$u5tf^|wIaujAN}Me)%L7f)q|6tR)cvk zTM52?aRc&<f?+GA*n4{5HL&X!&Ur8bH5rO!QL3j+iEE{O)9OmgkqdQwX8QGuR<B;P z+mx{xDNyBAI0B_g`l#VxUERTk?}UzSoQ1M!6FX62$NKeG4@`KoYr0EA=l5yTyZ8YU zGZ{Sa`v`TMANsKj3dYr-9E^Rs6a532<a48(@WfL?FK!?GpeN2daV7+daX=PxzB}S% zh!${8>To&)<DDPapAf;}1)o#Tp@Qp-X)+^#9X^T5f$QCOuRYL*_^DKDRV~LTy>1V9 zuyR0^RAI*kp>IncDd$=s{xjla3kNmI;gpO0Dvz~4?PBm|yOxLNf$`VL+-t1(%q|(7 z%kc1Mqs%Ec*bhuOZ%g677ay=6*6_hw0^Ynp=ti!$GR`UYCbAs7;qyAEAh-XXUsa-Q zVg$t%_qEZWP7T*j_&Hvjj*z{p#;`9rr`f?Fp`PLKE)=<ymp{-;37%cav0jkz@;M@m z*5H{_VS)dHZ&beAX(D$azP9KxCyFSMw%<Nigu@^N0w2z7l`B375stwtL&*`@Vwmt7 zSWyFW|1G>Q`76(n91B#Pm6tzgWwQ*Ca5?O#QM}*A4?F86ke~a;azo{;vC%e@vBNh; zp7rfOLt471zGc91bJ?zjvCf90>)F|FmN_m)hwWx9P7RkiFOKnT4lh5O23GOq;k_K4 zX=!Fbeg~X7c3a`*RE&Cn4V}WysL8Q7JAyjRIcKaxZ5W&?-7!7_y0gUqe+!N3Qlx%z zR50u}2+tOXydug|-~#@JX-|%SUK#D3m4TXkIoh)YEq{~vaPA*ykDdDmZ;UQn-Xjj_ z%Z`O+f*xnV!e-a`hSO9x`<ZfbKS96xOTGi;^x~AjTuvW}$RD1AbA;f@a8mcj47Uh# z75<&!V};-y4W|?B$)Hs|V<>c7bfjY^Z9YA=Lx)_=Ncm*=ga$2$JPr#>O4Y}?I}yQ+ zaG7y;v$G5pMO;16kUh)JJX#?93;dDk;gI+UPB71$1CVq<M513{VCeAqN5a{goo^W| z0tgO=APt|R$WBt=hof*uk^x~B9nMqi@3+pI2h<7c|6yPWZ-#&5Vm+k;hF;(cbHLAC zg1(Nhs0~TJ%z4SqUutuWj^5VL(9r0D6PQ-4kk4Rx)Ub&i!nDcoP$3(SykCax>tZ_U zh*Neh-6=y4jM&Y!)wWeeux;eZxn!G+n!Cnw9MR7uxu!6NxCUp-3LBYhdapxPm@VD( z))5(D>UfyF0NKnm`b)=f_QEC`&>{?k=1af@UgW$zW*aaWkH{{wbsb@(f4K0o16T;+ z-t7pG3J;4j!7{Rs^l-nK{ehVD#^KP?IvaqtaMIdKp=9$X!^vVvj_qHXXh(a8!$zV5 z+-js~BsQ6DCDVtz_ZkrrjDV%5$To~^+cowPIbAxQoqU7D7G?i+`tXp3H($HSJFl_* zy7!XdDfxuTevJ`*JM8)%Woo87Y|ePnVYs91$T;CRZ|b;Z`;F~7m94kYcFsMjSW#aL z4^TDOp1ovHz@R!V*;Zq1gNwMM1Mf>I?4#zyn$DV}vfCU6@biA3gZ}%x4@iTKP@^f# zR|G$Em91vx19rhnAME4p-2I0in5Z=hUe?mmf;=_i-Za7PK-Q||lY_G(<*0XY!tmj& z=%XEees*pfGJfo1`FQySv%+j^7_KR2x=3xjFvrPunwv$9<;R!%<_@3gMmG<B7Y&+5 zOjOL|`k&$}g0iJ`IM|gwA$yshb2#5s^)th9;&93<TPFtm_Ys$&2)r?jJGO~)zps&- zbUYKzmg?$wGTiW<KWA_>TYDmyH$R3hKxs?e`6qA49=Z2V&IM(19aLba=d!u6OJChD ztB;#TN%@qu#*3>)&-H}23HuV|y^!Dzqve{~b}BwNBExj20=mQI*m}niFucMqjZGEI zFAbj{#xQ00q`FsNoAlcqaLbbTwhkY1E8sK|cD^06H7<E}7p#d=yMyl7kvb0yA9knq z%W`616Z4og%V5zCACsqqh<|4XfE>W-7zP2L%P_DwG}_^DAjfuomfgBn*}<Y5{y7ZI zFdkGNAGifPJ$BHHm({Qr?4VKfz$80xZ16Ce!0a*m%b}e&<z{ZTgGN!_DsAAfcXq_n zW!MXfj6e0vR{LNOQx=pAMjF+=XHTXf(%%_gX03dR>p1xo*TFwCH=omFb||UsFjwfv z@FB=&PMfg$uh=M4Uzxx>Grx5L^%f-#a3v>EOaB}Z9{_yHIha`SS9%hrJ#?2l6|+x; z?6(x<5ny3nwZNNvUN-m-VmHu}J;UvtELteY))Swq4iEVl?LmWss{`#MVtn$Mo8Z38 z+vcEnBEn<u1*ffc2XKZiQrfmtL0z|wY@hkG<|{dhstsfx|EC=?34Wp`0H|c_kO82^ z|L+7HLr=!R(u|NViT@vxb#1%wzc<g)l<vGV{13Uq&e?qpat9n2kra$wHh~xhUbBl2 zx;sV&asH>!io^Wbno_xJP4I?zj6(?}VwvEcHoJS+s(W-p@Jg_8#c4Ae_hbwGw1MaC zFiycchweYvU+$*lfD5W71(t;SZ^j!|FYq|6Ey8??$CQ=0G~*lXfX%>l9N-D9j?}KW z>+*a{US3PymQ-C>a+olzz6@(ma({aumuqq25AcIG5n+u3Iz{-Cq15c|CRY|6cL_gb zh%?oB1js>gz!@j3p)+}&0r*AKaOwgcr_@p3j}mNqiddgG2N&m`H7I^(&aWU^wS$UE zB&e=r4&Tr?p=an5&hLqcy9~Bt!V%?nb^Ps9@PG9jHR&m#70>bcgPO!VFVcI8OGOrd zgi7}dYlc3T#~_Xv!+QJt2pn@{Hv}quDQrU9OwT7c3(QygQa&gT08{CN&_8reo^QN1 zMxF14!)mnSd=G6F28Pb?oF-y>%}kaoKWsA&oJlX>zVFm?9)WQ=^U3by8tLm1(s<-S zkHU~2aPlujH)g$!q#L;0p_Mn-tKef$jv&1c+<&RgA)6UChx13BL(D~+Iv4Ct-21A` z5Qf*u(AC1Mp|8Yjw!>1?@>C|S7p9rQrilK5-adh1wr5s4QlM}oR0-yO<511eKZYKH z3?|@SJ~&9(nAXb|N-axC@bShyo28G2z8HFh#mnuvb(_MGrH>rs03CvlZ0J+82yW|Q z@1Ic4wcDm1r{t6jKgFfz+TrPlp^xOX<T7F{t*|X6=Sat;1e&>rW)B^w3uSuJ`QmdJ z&Bn=#pr^rO`0e!YZ-d7K^|#@7(Ks<Iz%#GINy9pk_J36+6(xRlH61v{1DHn#uM&!I z1Iy<TmLUcc3LgOMeWUHQPMCE+<n|a1oFqb-KSdB1pDC&7>BZ}sO3o}^yn{~KnUiDk zSZKX(_UhHM@2gngVah4oee>qqZrgnGZnXVBJ-4tOuqA*`W3FJ*Fn16WcAnQJ(-TSM zf2Z%{<VcD19SM%q|C{GHG2hiS!kzG4G1~}=2uveYgfQO~Rt!5}5%4nqiHV-BSwv}G zYEqE1Z{U>Ra${0cu=O1p{Px>L^yO*Q7aFV+%`S1dUu0zJb<%Uf#_a50r-C0c`RT;< z;qmB&EhHp1Bl1b_N9<>@^n%qYp97MQ7g(@!J6N1hhk0ba93?i-ma-B{z#8U}H9y+a zV%0S+T)X|cwM!bJ%j?^FX`uAkj1;`oN8Znnn7w3XN?v&fdpF1b%lCpbVANOsew_c) z=TcEQX9<{QR+@v(@SE@75s)`=L3|9)2Jju}wrv{WIK&%-V`OHU*<0snJEz4YJhW=( zj@1L@e=nG1DhR;~MZ<IxD(GCAFr#H)pk)TVv%RvkwnJDarFJ)tH#((O2yW8ZZ>E|u zr4O@Z+7a2iM}4^FZtG7?y)@YO^z6!AyH+mElAf%npk);_u(P?hm-Wz5SyJ6ed!*Zt zhH@5fi#z*uo+(TEkcA4ECdTQXWp6224oupQAo_}OV|Ttx>7|U)rBA3fBcmK|WCD#} zEKq2CfYUh3X8?_R<DFNaaZdxz&-A7zK<TsJ+hVn@{ZrjL->I?966tAx^eQz=4@>)) zJ^=jUzsce(_^w!7lS^1Efk{+rpy6f_Cb@T7rKcfiYjB!p)s{->h02*9RzD>CVvZZ1 zkug5boI6-_lAe|3G2V(?h6Z8yT~5B?dIk@Bm(xE|C;e4<m(%_CgNI%vtYdwHZ~iym z{Uxt$E2kyqwXw~Qfi2NtBA}&=2(Bu(QkMUfIiuyOtMHbu+d3)>G4)6DPX8+x^ZjwQ z%=`YIyi1JpD2xO8FqOHJ;KVqSa8%|>3_q^GC*x2aY|jakFnWk27l;*3^P*?C=<Fgy zb)>o%N!3p7sZr4p6N~9|>zkQ=2{~WffBzT7P4w*GCLv#1c>t*9?~eN4dS4j$qSyjB z;Dyz3Dhn6c8T{~-DdZ*!ueO!8z1sBYD~(5*N}K-J_{t}EQ_s`9ETC1=YuLxb%A?X= z21f+=EqnhU{D~~Ypq#&anFE5u!xE{!q^-NWe^yRgTY7y%QA<a3&xV<+D^iSId*@{K z#DvbzE-Vhu&B-(wgR;_d6D!-R!jsF#u~%6(_Xlc$KY9E@KgNM9T9*3b$r5Be1@CF) z(!(v~T(q|i-i`XOvcCGUF64K#*)&hKFw`gM61Fsg3yOlUHu{xT>{o`MHmCHBx41EV zOva&tI$?@!l`?eMEl-v+c7eZp$&*{rHeQEy4(?~M@wScD^Wb%^3NwS_jq^68&;QAL z#)j9jE%p2|?`4zsF#Lb}t}#xtoTs>8&VYEvhh-S}e60g3If}WJ`NIGFon*2u@IQaY z-*8Nc!L5X~E_pW>=e>ZR-J`PGH*7o>FTPV*EBI8|&}YI$;ct*1I=){=;e0GA0)H=4 zSFnQ^yYfJta;8nBdUBbG{%!9K2d?$37<c_G`)(Xp(Kv40q6LfT1N{p;J?AYHHtrtC zTC%6PdC!upf!)o`gFn;P=C|gy^uLtbI$tvN12o2cg#VrQb1`}FrcCn+_u}%vAk6Pf zom4Ct*zN!@Dn%erQi^`ka6i)%*eZj?!X4T0sL(I0*7}WaTMsTPWfM;W^53HqrSJAn zW$=NQio5X~bX`2BlRNR$iN)57|3bPG{&8aAa%b==kPCZes6qS+&p>)Qz{VaIceeq) zK_B_qVGvchh4~V8a5x=g5PJimoq9mGt=PG9#nt7Hed7TM)O7XLO{!`jY{;?G3Ap|( zPC$EZfQD!0@Bl1(BP8B6h=|wlOr|r9V;RKSFIMZ@oz2UZ+0+eL)fg;#OjR|MHNj*h zKkM60R@wtuE(2*D2_iHXo7Tec#bU1CgJ%OixR7AbU~*uMGv>|S4Xm7l_0#gLTb3=a z3A5hYE}f(PolVsh(apl~8#g_*Y)?s2`uz6typ&msvlFfInnf;IE!vcG^W;_;Eh~x) zJ7k?V%-@TE^BAogw_YP%v%zZJa1G6D?`WIR@pOl9{Em$W*W7;lnmqX(ks+IImx>S0 zUbANQLA<k&&9#6xOA`SkpkNn-6&}STm~ztZ@RAV%tXI2CysG}%LhHu)bjxOIOCu+? zU<&;!)~hKeqrOYJgGS_M7&CIv?*Fa#sv+l2a7XU6AJ42(vCkL1nfaHn$x=NIgP&4{ zS01<Ztz6i@q3`Ox=#bEXC#$|LEF36ks;H`>-we#i>bYj$itJk+jt!k+2#(7BL%a07 zxxB8wc;@^rhA)xl3Cm~Z^S9M1`671jSJfj*E{kovLx8<H0fFv4F(uty*OyvusGO0$ z?1mfSP3dJ>hMRV+qF&CK$)UMLf_qU$fZlxUq4@BC@NntA(CC<FL07XuT+hQ!9oB>B z^U`+~i{OrTnBjXif38DwVV}8=tp~X{yU-K0DelG65f}H=BwdtS7>%&p8t9Xnd1C+m z6Eo(3SH#g<Pae|o_JGg-BkyU0Y#06nIGLUV6oE72T}67ls|bu4$rCQ#!ty<>#nbmx z{@3p6b*;s1>#BDj`UQWe|4%sE`{Ym3Ifj4PUOIssOPqz_#55nXpLTRLiJv*g)}s2# zZ<;YXc9JeBSsy>Oydt%;GwFYE_a5+76<PfFoq5SiZ=^v&LPC1sC9kLV`VtZ#frJtu zBmn{`n1m{*pdui4S$prIuIsw2ZCBTdU01BD?&@0Bu4`Efx%q$3%zY&xAiDee{Qm!c zZr;6f@04@qOgnSVnVI4W^NNPlq><8=-hz}g$ELuf_~6`(kU*m$Dm}9xIeA)AR%v!Z zPF>!Nv?3p`@~p%PYMQcKco_0Bj#pw&I2`K7R5)0Ta+A6chb48Od{Bl6`v&F^&=q>> z*WIjA|LWOOEYmB?63kPAv^4tivi*yS{ImCYq$Ss6gaR({Nkl^|VG^Wc_ujF{;b^;{ z<)$Zp{E>&e_S!e<`-JCAoU8nas2h;zQ`7dLj!E)LzhecCyW(QkL}TOnq_iNpEa=C7 z`kHv-a%Ua~5tl4b2vr^Sa@OIAQ>kL+*IZG`uBusjvxs#g)|}yh$oa_dRyTdT5m$~m zQov%4Ol0>Xci-Ve9Dj;On7%>b<vwHoyED}!ofzPgqzWig*3Fzb)E~9dd0Dg`l+D=x ziL=*ezrk<*N9QpzDr-hM1<H%YD<!h0?sMFS9q2*|)ogaC5H$Q>o#{n3%z2#7>WhK3 zlL-ksd(<>ES=1iUv6|?FEoZMP4z2X|I2e*wH?LgZTxF@XR5p+FTxqYh-(PO6v*ec9 z8rAj^qq)vn)*ueVTXSB{Cm$Qm>$ME-#^IpqXaUZ(Z0{;pAGfYvZDz$~T?=gsR#V<+ z<@YZ=<7^fB#pSa83LYkl(P|{(V7Ri}7?NG0J~G9@ydCHSQE_o1B;b$`;#I^UsR8Od z<+m8e$B4}>*;x)p<+3{*#T9M2RDEBu-Tv^S`8FbvXyYFtp5)E4xPT-kfc%=ex_1iI zZ>H40T>CObld#k*QD(qVSC4q;86=K6cTC{<5%8Q<=!#zFLRFxPc0+w?h=5DBUb3Vx z5)rQz8Ev)5v8Q_Zn*NUAqCI;Y@1N4sa|&BlU*RZoU<u%z&y=)$3_RqRc0JM|9t(W8 zJ0)`@EzARtC6n@@q`He7>=uXPrM(WvUM(>ma_60+UtLhr`U#SgeI9#9q=%e&rshH_ zYWdm$Am#XAdr!}HcPauS*~j0BK7Il}MN@mB8%`A}phKM}p4hppc4k?5)g1QPYi;EY zYiccz-7%22VRu1p&WetFee2TP%nA)B@Ck1t%?KsIg_EexT0dICXt;J7;<LlOn>VfL z-MH4_SnIuEbl%=MbN14%S^c)bGtV3hq^@h_De6nM1wGwuwuLKKN*E5L`~>nHOp+}0 zJk~7clZ3_Cc8o<~Fo2sG!t_xXCst2gGN)?|W4+5)uRfVER!cSG>8D>!>@ZX~)NfyG zP0Gde|Nm|KUSfS0*3c;E8<Hq@kr9H)C0>VXi;<{s#OaEWkPk<3r9U-Z9~C`)DlMat zOO)3(E@f-geY4L9viK&MKKrvc+EiPr45_?UcODWtIDbI#kWaT@4Z&`~{fG_YBnRZ~ zYf)Dwmrp}96wg>(NkwAy(iK~`tn9=Yxb+qD-+r6T$;rtr*tOAo!f7}JcUg-*zhecJ z<NuAbDu2znuK#ED{QTdZ70ZbS;UA+-Ow+U)#F0@S<-v-;+Q8W{@C52&R%Tr5=1kI9 z=3{&F^PPPSds$;rm>C@y^*EBp`Zr)ih;_{FevrofNUD;q<kOb+4|H_R_{QP*#&PfV zyu9tKrncN%*1!VPZ+Xa*Pd<59+ME|f9k5WssOz#nj6_mLR`TOre@{GMsHoFUdGt8$ z?E=*73Ks__HiR7waWitxJp_q|j00{id7FNcjrdrFo0(MANi4FQoaNzNli6fpEW@}- z^BY=0X%0ibPv^nWz=`9)9BYgri^0Evw;TQHH)7lbKGI%!J?4-T^aAegz(e?a!savg zZaTI8?6Vud+ZQZvJM~md)6ef{%4=TEee$<%&0qg_6XehTqB$guZxLc$D6GTW<A^(5 zXSp(m9OTY9$MN~+a+qs#lviMw`!WA_zstYwQTx1iG0urKZ<tdDVip2QYAJf0qd{|Z zv6U?ri?L4kDmS*L^NGh-s2ljfaVy-ivsa!tdgGQAW;1mh&h>h9Ht-axH?W?e+Aeq| z>>=xuXkbX(o*1DW4m^7vV-;-vC6~4`_0OJ11g}`IV1+uTXVD_`MG2t6@tiRaj^en^ zniaBjUAvsSKzm1RB#}K<M)GxKOxONQs8IYNKZ38p{PPaMdxC#QP;8E{y_7oP7x*2o zYjaR3&*Lb6nkytmqQgZ<6cQ5VTz&ZFn;Sbj8(9h8`tN-8w`^`cGa+s0z1jU@tkmMr zl#s>`OcT_v?zqFz-0WZ>?BxgZ-+C+m2cUyEv5-rh0XUE>Nx9Ty0(YIc6#}Y>GIxm5 zCYQQXx`C+kKZ!m{OLwvfD!*otF{EbV92Gp7=PXs?NwU4`g-pd0Pbt*qv)h24Q?9L{ z<&<m_&4Eh^aB<1rJh}?@VH@W0&YnVm7PCFdgHxX9jE6=m%2sf^LZ+CCT}L#jqS$Wa z0rh!?btD?h9uJt<1R_z)F0p3`_XZbQog(LL#4U??8%^98;mDJbPnw(1+)$jBnk)@7 zk)_q@n=F}Ktlq>HO1fm>Olmq0nZlcOC~(rD?Qc9-@o>{cV2s25^)L2?x=4m~rcHH< z&SjNVN<w&f!|4rYY&bOMf%^gF^nCSu=9`a2n@7NL#+6k|7{31JzL6aj+lTLNy67@M zwC2C`Qa*cHUBqsr{6wMLb|OFE<7NE{V5G~51+qMcitXuVTEBd4{@n-Wy+H+6u0F^% zpjLgs!qh)g{1lX(l*Ksfk;i$=k9HVC>OGER1}QyHWv2MGfPVqtyXFJTQ_PDQfn^zx zNYP}yBztwsdRe!mTQP93gT|1vX!D+N(-<iFUlj%FoXb#=I_ENs$uy{sFaZzfR?tU^ zv5#186agJjKQw1ugTvBQ+Sn)z4czM22h@YaY>R#aYpsuQzWu<`0*9l3y}qPHeTB_D zahdusPK&>(iQ=~6cKrJJUwXDYR~j)7=)o93=iQJMn%!b|Noc{eQim;8VJ1d`RbRAw zC-Y`c_P2MnruS{xaKYY_x|XOL*xJCm&&!ETUbDrTTXFS{O&4EVeBz05kz2QeY)U@n z{)aKo2p2ok$OJLZz@|xw#6YCk!f6P=oRUo&89ZUAe^|%1T(M+sOxs|KgQ<^WlCf*p zJaFc&zSJoX<{PWj@a0QFnwL_!NIg!U*dvEVXVhwMw-D*e?^&!=v(c8gd!XrZD%d1{ z6eeuQj*NHUd*-JJo#gTmm+b2Qi{qtJXHV;E0-Q9`l=bI*&&*B*l13w!4#~-5k)0hh zI^p0Mb(;02hoSog-%rL-VV(Wq{gW_LUc%NUAN!X1f-g;_U6@>U;Nfyvq=(qp2V>bd zxv@BkY`(P4E3(f&bMrb!<N7t*s!anMFU+rM>1{5%c-_LK+NM8hlfJGptGR<e&^9OA zR^`K{scOC{&7Q9s(#-|xe@I58!`b2A@JQY1z-KC1jJT}H-AW4|(Zp#cOzoWntJg>j z&Rg7f;*z#vpCU)m+qLD3?bhbX7G0{?ibs8Y*E-AEbIUAf!~d>^3};billoREm|lWO zeMyJdyDePfUd0Zt+AaeifSL3d#A0Go^991FE_dRdqMBX&(e@N&hmj{A%(*cy6%?i& zWYJZ5?v>`TMPC&AhXAwS$el%<IlA&_n~Tae$V7f%6XJvxofrli3+f*ewLF}oK88`@ z3k<l0&V89wY`FIjdR4g}*MPtoe62GLADk}h8s}X0?-2sk(2jG@bx7-X|6~oxv)Y?5 z2ZkKSY5Xp6`%Kg~$RAvFO(^Ac(MdEyV=QA&$`ZYGY286K|H<mE*WS=DT#8PkL5*ST zi_zPm+xd`B1+FMY-4tOXoa)9^?xr0kYYApX&e0*7=Ka`1<8y&^U&SJaExXy~ux8J( zVu4V>vYf^#C7Pw_#>I2h^VsU*!lmj-Y#^@y4<1rIHz#{Bz-aZxD)J(FYFBQY6^DeO zX4kxe)yquH7}&mR(;%px+}=b7QE4@2WrwX}waOp(E~ko4qoVYs?3eba8dq<$<dbGX z-bvemcs2#*5ZRixXkg3IxrNA3;d}KJ9VUB2%{*tO_MDL0cdqp-{zh3nc2!^0)ug^` zr-tBMyG#3dL1gGGbLwM`y$0H~c(+2pF8-OdyE4Cr-#DJ7y8<VyMIajFjK|5TQ90In zdKM}$vK(vSu5;JqpIeRq`jG9HPPYVo6F5JOKG<SVWBk}mu{GG^wCHtIY+e-6;av49 z*SszkZ8BEt)o8QWBUZhdO%Dl_H@KI*HpFUGWHfHv%2)RqFS-9N<WSz@7I^U_I+Jwo z_~l)6`tJQlEbely?V@!=$Q#MDJkkOO{0*J>v&6A!#pbQcH#@qvF4`&%`k_N%o>NU= zQ;qC-)d(7)l*GC-7f$0Bo$(|Xw!JqVCFe#*M_F&?fs;pCgcD>E_l`qJJEmbAO30DK zNv`2aMD8ZB7WYWG5ND(}Ot2llcRa@97j#XarcPTYC(kEH_*r<!N$do0XO7F&xHAcG ze#7|ef#zZ!qNDX=q=})jbIx?wPO1V+wRLEs?8i-coIC~57(4}3m6M(Qz*b_F!K8;j z;7pmrS5CrLu(9vQ)+oMWzc3{now{!*{~V{RpN4kB#vXuQl`e<o;^A1~<&%a0z#719 z0k-@AW2iA8A1+;vcsqQK?gaUP;!?V&=xmTPiIazDt$dg{t=?`A%32mWn5DDT)%n>E zpQhVu2Pk0|4?JXeU9{Zq5diChvIaw!Wd+%FHiRD0ZMFN=iSRi0J&)(G^`Hm1*F-DN zQDfQqVrX5!_mkgR55Kjee|P!Sz%R?gFUupIjeV)?=kF4?hZaxUl9GA8?VRaZ-m$b- z8GkpTs5U4*VtQ;OgfvXCv2PIm11e4DCT|$CBK7m8XZm1Iw20}PeG^ew=ZYcXjP)q{ zv8xK=M5l?}RcV}a#fgmNmqixT2PA|~j{y+aKCmxYyTA#(nkQCR4Sytt%nP8!zG|Mh zE+2=4JIz437SjWZBT&MM1faA)P=H+QOJEl$NYL3CSy-nzsZ7XDqldMNyg{lmE~#-Z zM4pN1Ql<lEh)j!Qr4uwJLVpKNM{wY7o`yB--(RwSKYsuVCDYk!_S=cJ&afm868j6t z$+}e&^0Dvs@84f~EB;FNv)8_{-+sHDZn8erF+b&B>=u$`iIr+%VaA3kgQ3d6ZZXVE znq^3uNn^bOGH5$2UHmaC1IH!T9-#yy^d@I_<=UB&l|{~&5s5>59uX(E$EzLk1b5$f z`j{Oj4sDlrAmO7_kA39z1pf(8!m!?W7EbM}r~P-laWp;pLTM`Ro>da3BrJBu`z4MG znIg?cw2+D8-k90SmRQs_$ASe8?8#Y^Wz9>^vD?|<hWYaw@PSz!^XEHiTUyi-r`N5* zVY5X?^Pi&CfjL#fHFM|I3|G!IS`8yPcB^qD$D*Dvr+T<%&fMzZs=00#0<6!mS##It zSllj@S*K#bSz|tAmy(iZr3Ii&f5UYdyY^UKPktr#*%zo>J;I>#p=AbpGWP7sxXu#$ z!n3ijVD<ru#lk+}KFr0#FjvMGJ4|-dsAXXi9;}OF_7WYfdq{JwReDliQj@%Nc=2$G z)t2JrpPDc=FFR5e&s*#^U%O$>l4=<3q^DUEQ!fumj>()Fn_8eB9Ta7T{_6Iz@7Of{ z1@%8ZD4(f?%v9iyLv$k14)WPPcAxG5<lf*RT!&mtQgWk<dwUnRtz6k=D=V`VR93Qm zoo&BuU(wa}+qTZUva&nND=NzGEGr`#7}-_qVcl&)E($v^7@wO<VGo4W8_cY#PgFnj z$6$MXJ-h0JY_?9l`~r4i-U*-!_RnA!vIh_kGU{;R5V3QUumi@N4Au;^_(Kv&|Kpar ztb}s2y|$(x+dPX|zsj;Ub@sCh7o^Tiw9ZP&HifZ({42ud6z7(<A&&(}_g>u}A)UtB zOf8T0NWG6UIc@tXfPs8sbW!ikmwz5qu(YA2b8%sz#XL8^oLzXrlC<+K@y_#mxVo(} zp{^^h)HXfW?ntO?AiOJ)-#dXf>P0MBzD4TJ_y=Tw{cqy?O9gq*dh0-w3qg}Vq8(<r zPq-{)Y0jhNiQ*wFTFj5r>{_-(lZg(ORLEgi7=utzZ0=nH17V@rSu18YbuA2;VlDV{ zcyn3Ktm15Qa6w(3Eh#+LSi>%CEK06V_VNzRO`l<{uCmUkior{sF}d(7@95mvq>R*= zvGFs4)URiyCd^C;@z;l>BqnAUsBd)B3$mhctIe+03?MY}(?K*&o$;C<g7TL(w0137 z+;eMMb3w_bLJPYv-&dp4x{lNfF8-_`p}HOf%gLwuHnxD>$2Q9P7Co;0yNW?%dt!aN z^(fU1^q)VroL$ZOY5b0c_#MMOWX_SxcW#<?y=C}n8{1QCSfXawL>;R^*xLXfIfE7j z%lVxPv|LS4AHsqew#;ia+gfuI3(XCc33FG>S#Bw5$Vp->{OYud)};J|wD>7AXBo4L z8}p(wN;6C|?3wu@ee2kK_Gh*UXM~Ph<xKkvyDGD@u{%w)zTec4QQB7EXfm74ImM;M zrplCgYaJ^~(zBaR*grR=)MAL5HOriuIwd2sFtwpBFD4~V?_HWZqZC3z(cX}!hmn8q zKHf)fZ&#0RZq(j@>jQ{~_C_nRe`$N$KWTHL`h#@u1r0=d)5`c4wYUApXl~Trkl#Cj zH`-e?9Yp79Z&z#0joKS<co;Zn?G57``qck}?QQ?BZEoY}C2Hj_ZEyRJ+T1`Z(*2n* z)<8z&wi6&G13xkqlw0FLiX*NFw#iYO)VO+Ja~b}0Tl;!vXO=rI^JY4AlzwJgPR-dH zL$g+AZQ4CMyYLY>f)9#1I0qev4|pHgBS1tE6^-5=ttbgw8KUAt)C?sc+5q=Cw@BYK zTeoNJj1OBs*mRX%{U?jlFKECj2zz!>-s}#pKEd*f*5yH1EbDeT(v3vA7@bnE1PN)N zdD9Oq93!y!kqGUryoB{D&&m&P%!_DjygdB3_^)bgxhHz=oG)WDlUidkli8Fn>N4lG z)Md_nnYsedeX7DZZALuRQ%5fcDyftMjXZ@dbB0dZy=ma7ry2(E*T9lm=WXjhz#r&r zPH69H$-Ci(yq0`6@7b8VGW8>*?*$&|8(pawcVn?5r*#5%<UU_Z?Ej3pKXFZh3-EDv z6_RHvFJ#6-bvZVmt}4xpi_6S5%*sknoR-brJG-gr?B<IMMx!A+Cr1qF>h^_o)9V&y zCdL$5W35FoDJkkD3u_Z<+uCr;D6+<zi;B$g)*{OPy0LHBho~D<l?0TUk3LEug1){K z6TVVL!y~2@X+9+oRVK}3z9GIb+0!C|(r47z1N@337RF6E#ZtI@+0=z)=1P`&N_oEC z7}(xEJ1eL7yQ@kqP1|pMv~g)M3Xpi76G4z!{1MD0<er>TLm>04BcUauNf!iLNstF( zV;tSc;-yOubS(Ww?!K!F8y*@O=8vpeklfze+n&5&)#&BC1G8kYbMPA}yLYFYDQLbD zG^hGb{7kyoFV3ZlAo7yXRbw!z)<{3n_Cx5UnS0sTvsXUx*tM5D^CElVmfffP?)KC6 z-l+b)vZ<xco|kv&;!>-@&JX_Xq`oun_}#9)t-n{h2iESpsCQt)g%_|Bi|vVdr5Cg7 zFO0AIEy)eJvV^tj`uV4@<s*|hDgK6(&9%lUhiS~Rt2#uBP2qi{+%lX^wV9i%+w-Sd z%MHf(RLko6>ILShhN_J0DqhrBw61c*KIbHE4Krj0XP20hGm@tHPMa1OmQ)p(QD{!d zoEh#vGx|#CZtN=aQ6FM^)OV>o2(LxDz0g(BF1Q%u!Cis=;~+0#l{<?0ve^V94>0aB znbezEyGbUd#~M1B82T6_NNb+KU6JlhTk|X#{>hg-A6zk~X2Oc+&6|%{@l1HuqC9(% zcDS&Li=;8iZYF+2h>GJ`bQ;RjCo=Jkg!5+Ky)0ws>HY72eAC(kgY1IN%WquB4zq=y zr&|VgKXcjTFLvCz`s>c+uTuVX;2FO4+9cX$u!62e%v;>N18ty!*6{PI(Ab;AOpmrm zUV~3L#z-!j=jf=59eMX>Ms}T2<HB(!o$V!YJSNZbOYyFqoX6q%pU=lp*`S}#7twx$ zM*D1MzFd5p*u3Vbtp5apM@%{sID*uZb1GC1h{h6^nM#=xm!GBa(OD%8zoQY>_gMHI zouo&{->TuCjvbR6m`fgS#f`>9@Ys{AV{xVDP_4gd(!4x#%xe7#O*=<pkDebR^0P<O zjVa<}Op+&z=V^bYetb!&sZ-qZOx`>xo?0F8V2a<J94jx;R}5?QHIeq2J)*Y|efUvX z+zE9ydXgFD5jFPc9IzMo_HVr;K8e`p3j?f_x*UsxhwO)jzn??#vq?$CS05GQe@{lU zSC5W7`d)8A&#f9gvy=j=w-YG(U$N`syX3XUF<Cx>`oET$_g1JqQr@UN)+_DG>R;F< z<yJ$#ZldzDEml1aS{zsV{q^*rx+}{*Q7KVoD;>vEd;bU3;V3oxf#aZvtR0ir^j}E` zZ_Hu8^>T<d;E%b1O{vl7Am_9HRfcaBEXi$B1f}yn?i`NF+4H-<GEW@s`a4~a)~+YE z=<$8v#0Ez^8B<PG(y#_+t+11erb7#&eHc3<=LH@y`soWf>S4Y%{q4NB)7eaf{SBDI z&-s}YHW3mZKg?Ld*tH*|vTT-}_5n{ll*NM8e`g&UC6hgb-=n1Im`vM`r_qEojg2xd z^>EG$qo4AK7x-HBZS`$RUxxn;)>ePc*9ly3l8Ya+M~AU@KS)&%sfUpMy3scdWvTyW z!C8km7=3}e*9}M?HguGJ28;Ib!!LuS>8^2tQSYH#FfYmxt8;;*96{0hHXtKkW0CxG z-Be1)TY{a2tjX-X^FbPcPyN7|&7E!>Sh#17nevoU!0+SPgntUtrG=+NdozBHdRkCX z1l#Kc6Uc1^>}2&ZFSakTAVl3EX!Mk_6mjNI9D5o|v3rO6=)TEhTh-^i*xtzEpru*t zq>zG0b*&dGBwU}u?rit*6bg?$L85iuX({YmwiO`M5ie#`Pvt4<c2?-6t_2Ksk_N*S z2P3<;Pm0bS&d<qGPi00gbtIxFh^J(!I{=04^HLv^WpV1*mtKMVLeiCcL!#~@RRc*W z)<kV?ml(}D-+n9S7GBh}=yLTF7PV%0YyapYw}$@sQ^tY01;uBvyfsUTn@0|4>4EVJ z<bNc2Aq-fcx}!A1_#t)5Eje$!opUQsW!D_Y`02;=18N%O6P678OBvn_K{N$N4Z13i zr{0=FVAUz?^#kby%b9*K(tnK7hb_4i06&yB`i6|aKIf0AX<8IYKN#tY@ZqlH!>(eV zOLRuxK<H%>A@(}(nS(je+n5tUTI7`=Cqhwj`Y4zB7L&dfI7UYBx$2>p4_#ThE-9w9 zd(XZ1oxc5!D-&ONBk|h6XD+?`uNg5(1^4bg<M#*7sy#RHp+^%gsJ%v%(fIV;snLu` znn<OQ=m^3Aou7K>scRG8cqQ@5JGSq<_uf6-tuaaKO0PT=_}n$M7bHCTP~y3@XC1g} z*Y0}@l43IcdikYDpDPh#PwW1GbpgI)X-Ru&inb0#F||s2^!qQqm~jRFcr@w?_Dbdz zqtX1MD>7eXQ$PJI{Z{L(>X~#;|BTY1HPGRp!xWNVXr^T@Np&<&38x91>#WG#4?ex4 zZ*cSKj+5#_)fX>oT$t8gSXI@`5Bfg+h<U@l9m}%XhnKUk;L)4=SIo?_G*_fG2%B7; z(mM7pT`oT)tmmn*$7AbWOhM`JL<0m0kdt7)H5L)gNVLENjnY^YzpbR^&?O_w3zLfS z%U-#pe~~3=^tv8)dgHR4_p;KRe=M}BC(h*?Oy|$P<b|@vX-%fRb1wO7e)Tl<+Pxj@ zKe_j)B?orapOUTm<WXLcL$NQ;@$N%bh4qXPkZt)uMk*|#6T_<53l8<sgSyk8G_O5; zFNy+nsT$$JAqOBGuhkE%c4T6BB+l-tX5s2*unIUsRoUi)1?+Nmc|oaqszp7uRK(lB z^4Pm>-86d_+n~F3+R@7I(B4u1!OjQ*p{`sgHCE7ZL`B9!t0>{mLcV^lJDK_rNMUqI zI(sbRzrXVB<+oN{_?qtI;=_Mt2P4&$*tJfFIq<o<d>(;vND%wO3h@*QTyAen<v>PQ z5FJuEpecB3)s^Jz{ImtjmbDf4Bvfyejv2M;e+n8B3)k36O4%Q+rKQ&V`sAtectn3| zTVGAdX?^n-^w*Z0uHIE&yQ{vcqMkW$tE<b0pp)pfgwFcY?Ie3+Z8uYEn5YRp03L}Q zt?tTA^-E6dnA?<->YJLdWZt2`Jim6G!O=|5!+)(8>2Rf2d4hexK0tpD=?S!>5M~JV zfDpxDhr4m_Y)e{4RA$1gSq&*mqqC=Hr_aWF)(rPMiog;zuQ(@a_8rCMNZ|mk>y<TF zmskNA3Z#4x(1;(71i<e7^keVj<#n!j<g?i(yS=mP(a)NAa&y6+!oC@^3-=WCqwZ}$ zynpgU$lFn(P`9N-2XWLB_PBZ{n-izL!BW)=Sf6^~SvObRTyX9MyJ*j>^@#JXGmbrN z7PEWD@kHzSaR~fI9GipC_6yD}xVh?wBFG|jil^KTZA_c5xD-yF3NgD|PQ#vtnC>?a z*Il#sMj@;78d@2(H+w~(5X}i8o#BFwP66F218cUVHL2?`g_{Vo;Mg#+7WC-4B6H*s zc=%?`s!NYEWtZkpubEdhFWXX<9?w2L3R(&Ib#cbngqV=Hw9Hg<c}~PkYf@IMAvt#f zU8;_a<8jaZkHGfSm1RlhMq_D3R#sM;)tXtAH=}xSX`5wcO2x9tab8qC!<wBwB{elG zF(D)=*_2RLoEw#p<LzZjkG0iKz&rD2@P;nJQ%5|pO!vQeYr%Dw2jrHNOpeQ{<tZ#* zeQ_H*DQEc+<qECbG3yfKCF6uSBnfrtnU5gUX+32r)9qO~MTN$cS*gtD*<?e-ypGAy znq8j|Hyz5=)U43=jHd@znKNt-s&`)F>biln!N<n%XJ+mb$+fj{;n}A@8E9%Qt!<fY zHf3j3ne3Be*uJc3=7~GJa`iVBI`XF%x8zt2Q!{ePVhX5>pHPM~e+J8N+U`Ji1i{iC z{DIl-pB#J(JIj=-lIkBa0nhet$82c9&%hh6&l7wg)aSx(K{rl)J_7>+L?5Yc_4!1C zo!Yo`X-IHta?5GhJ2GVH^77D1TY9P`H8apuoRbq5mXT33c?R0c%ri>kyu5-kl452R z6lBK~MC-g_8)ulxSddp_dUX8Egt+Kwu>tR;Bu<Z;5#;L~G-LYoB(Rhd>cA|>K#pAp zj?lqFSMJuqA3^nqL;j|wvf7sB*$eJUvBg+dnzAR)!Gc`h>k1tCvBj;+ni79}d`80b zf)Y^)j=(WPNXexXY4TqA7=A|}c*g8Si)NE8&n&ymV9Lvz9J`hl$At|oEe#hsT5|Gi z`||90_I-At7aTucWc&>E#$o2d<w{3en`8FEg|m(M`9_1y=7GcZ*7|*p)>g+pM~eY4 z^YRM-7;G5E(gCG`eZ(F|>!7_w5(lvU>U0c*rxTAhpfthnN%(>5BHwVV!WAJ(53?r` zu4r_W!a*0t<G`DVaI`l=3c{Yqu2rvRQP}txds$U+3&M4y5r!h1;Q2C`6&r%3B<ggb zqpfUC7;6|kz&`pqjPD<vZ(#o++!h13QT7SKE6f}oiJdevy`EQ>vQN}*FE8R*U~PDq zeJcDTy`l1AhslS<c|Fgrod^%-1tc+RbS%?_st3Z<-*$cb4SyhPbUxo7R;u~|Af;E! zRQ4gIm!cERKMM&xU&}7{@=}33;p71`oYYGxOQbJ0Y*m*&FT)hUs&hK*s>nVvIsga$ zefi~=+-DS=Cr1FTxcxy_Oc<km>}ftC)R$LZeU&fcqocRqe)G*DEO-ZQ6f}c%Tq2H< z3CH9&fGK0IzrOJG*R$`r=N`6{Emf~oueIVBxeWDHk$x;sU@GkPU<;TmYm4YnCg@== zeQoDyZ=Uw`?2aW(vllIn-Pl&LeB;LDC2a*QWhFH&t<@!EEh5haN-U2T>5W?p`{y@L z+xgl~rc#uR6q)D~j~$t3@F!`$&wRpt(von3FpO=1cZzPt(@j%9_WsAz*?$dWA@irt zXA$hFKdGOG95@id0w0-{!1U@5iCVcOOsr4cs7IUmywN+TKIQTypf1%XXE@l3IBOow zz`~<(a*-C{AFGqv)HqoY5m8O}F8DcC5v5*9V}fTIv9gw@pa$F1z;)B6L}KqLnvJIE zDZwg!#^@baB{s}8S!U*?<>Vz+XXnmLiO+=EU0^kOea*B@L(LUa>x#?krnZ$dRY#Uo zFF}nmj(vhPmLrgjk%YTefp$0CE=EFGGSR_aAq<;e`nZ1vFFTlim+Cy)^98#>McGrM zNuNy<H?d$N5(ZcD1I7k?rp0P$a=H?&9hm})5&2;Tv(xkfXK7yGpWb_ZZ@NG8_Sc7b zC3uJU1cZe8goOC}gn1`=h3WmhQzK#`A_IfNFV&t|QTn*)evc%F2873-R1zN^5SpwD z3JXd0Ufk-P91<3!6F!BTJ$!z1k?>&+nTFW7^7i)fxL8A`x1X<<KQE6@!(V(k_xJMk zTjm!W9v<u$5<Vr=<+4QPczYXmd(8+64lhdx4-T5)<r6R^C=}aZ7K8>(3Gfj<iA5eh zbLI&j8i%Kkjq)NMhqe$6owZp3D<FlD(lWtIl2_<<?c@4Yv*%kdW-?NPN_*Ac_|0$j zeYa0N{gsnXdhMiL;ju9hVbf!8)1HNE>Vndu8&j<TsX@A(D=YeT?(C~r*)`Hux@2Tz zNom`j*zmxpX)%$3;jwPlo%Srhy3{29EVMT-51i@bQ{#Ay$6J+ZI$g~KK#x&0O^^Bz z<;3yADY4VTB4T16)1F(_I093nFON<QbmMjz@Q93=79}y#TnF;AeCq0afRG>d=p5x0 zyjb+_0kE!^j`?b`&<KdV?4!}%NRAcdNwE|xy@T;uBzXuS7u+m5vps%oy!xlL@oP7= z=H+E(+11?_9ll64;VbjO*H1FpjTc>Hh+7-C7XR<$CC4P^(Jd}BlV@f=t9@T|(M6(f zJQsb;L2gCKCc}jt!h}txG<A`7h^XN{wC#`Jm@tQC2kYz$7L>HL*{j-iE&SG$mTERN znb?+`d45fnfdNaC|J<C6!nU@;j2TAbjEtFP^Gx(d1!LdwcpikgF}OwuK|x>GbjS?> zgs{ZNO6!ZHfdGJU?`Z`gyHXbIY;UVdi$8l$7+?@69(2fe+jW`N3|rd*JHUk8!tLq? z0fpd+z7~3M9)xwLkcFA8nD0|N2D?{+_DWl%5nMEQ<SDXyO=EUVs=cs!zOUD=WUD>3 zCcAM>cFpp7TS|ONd(~_ouM@M%%<(C<`sFpyN~3QsLE14qNdbT1nKos?qbH(%!4pj9 z{PfzaiV~PunyZ&ro0DR5ODeKz)8}{2DqLQXKPxt|I3zQ3T87=8F)cGQq&P8lR({3u z!dZZqu9Wdy<b~ES8#w9fkaV;VwE;jdorK#xuO`n}G;LauF|TG`cUfu2h#@h*(ty9p z{6xbDv?)kujuOs&c>#^5DLSlt%YO6CH^W&JEzA@CTd`L6P3|vjwP0~74(GO7a^ybT zB4@~97+aKMNQsK~DT%H(%qqywG{kWKxas-n35LL_p;hT2>dEPrl-Q|pSyS2BNEUFh z2AC)Da$#kgLNXAyFb*R6aqsW3(rPW$x4fJ#_UZgZ>SeA}XBFzzTb*x|J}gzh4?RkD ze`bh{AwPcovC8Y&+xF3K*$Xl1Hr|mj+JkV*fX81T7YsoDeF9h-BcW2Xj{n6prkY^} zWBTqpvl^et3f0FlSv4!nq#Xe=N!m<%T7Jwk_(eiif-yr3WRS=>2REM4w6e0az*@X! zo9)Dt>K5BuD%u<Qy5)P<o|L$z=c0pYkK8%5KBaHv=H+My?l}#1#TY-wOG&iC;KnD~ z4#Owsd_?^_3tf@DH)`dO2P?WSo1NdBYE|zTmmXP7c=jH8O0R@@ShI=|j;bYDv%2LI z>Psy7V-}xYYR!gNqIz0kX|^dYqjpx7C&=8S+?cE+3+#w1EXf(^aUn5@vAJ<|m`Z!* z$u<!O&3+fMVVZA2aOJ{5Y@_9DB<O6NIli`Td1Y3b4PAXzd_iS~-IfLcL}giSecsG6 z4}^Br+F~;--d;J0Q8^`LGt8+oLlb6Zrly9c8EiAEsP1{<C09CVt%oR(hTSzFVxWx| zlXQ`07xXPfB_%n5S6p9k>zf|H_ANJ@d@{>bpGcXIF1q&dG}rQrj3RyP|KaWkQfWkS zX7cK~CG#o_$<L}kK)PcrD$2>ukDci`qug3=%P?03@6358I1A!}S<~YZ>Hynwj*}qw zebm~fprji*W`fc%TnxxgEL`w!ncY%TIycw<sngG1*l4sHtFp7r9{JtbQXHG#P<)eb zj@OP8XErS}lod=b&CQrL3*|eGu4sJ|@^2=)F*iNc^83}N|KpMLc6Lrq?zp*bx~AzI zS9epzaFc@`o9c}m6=r}VL)qCi`*>}BFQb)eX7YMh7C*mu+47K}runC}q@)FhEI$yH zm1b$mtBAD}rl*G{7;=j}kUFEx6yFr9(?#dUWEU11rX^(t>Ad5M<IT@_2gFW`j!R66 zk4}qzFFgsx5ai_>lrVjIB2C%HmB$R_h}w{nENi_m*@W~~@8jZ+;+Pv%^>Y^2+SJ@y zTiR^$f4L83VP0wUK<_l)9}}CGwH8m$cNE{Ozalqd>MZ+~=_HWxR!r)(%A;N}f;UUT z3Pebbu$sXsU)Sq?q5H)6tgQGMnVB<w=BeA|45B{ga{bliy2s^u*y&OjD;_(@Z{VlV zeoEfx5v(pW*)`o&#T}jH)g5^?-51s8bXF{1RHGt)jO=}&i}+Hk8iX|>Ei8w8TI5ft zx8fKNr`;^;>(>p<Zi|>(v5z)nV%XLa%fT~SyJp(rHsn$|=>JzCodop%v>FyiAEG-# z!9e!yOcNs<PFpma_)@>P_*s_KGs?@vTJuND%WE>itkytt4xb-jErTslCVQn|*4=@l z+j60=S~HgJwLmuoWe^5FYC0^3(@_#ultqP7r!*<^l|@)_)uXHh7n)#Tp(QLKo`vce zjJkcIylEVX@}WD9YsR~ooO*9FZaz^y^a#O9Cp>iI0W)f}?Ienp6iMzRibE0MMiL^H zNK?;0Qa}H2=gtq=6x>IDXIyk~cRu^xQnYek`}wo0EFF0r<{I^uJ9X1a%WC=Kcj#-% zOJcsfUl-NT_SL<ujZs&Yl}^*$ssE|5^<Eu2H%fPZn_8p4Ll;w`-tDL{@9VHs&0e?2 zn3vzpD)y}`vY1~3q)>vVe)%C^yrngEV|qkn+J@M9SF`Y)jUT+<yd(U#bLUOXT7A;C z-t4HkEwgJPbtj&vi>OvF%bGfG?nx05x)W#D)XY9nx4L&*%iO5f-)G@F<}~gMXJ5B& ziAdiV6T2ZTlEfqmAN$6ug1>^XA6%GInI{ymw0wj3BdFs9!|K#|Qh}%G5@+pdI7L%- z9=ve=W#-YhXYFp-ahp_sKCus9xY1tuhuvjT^;vf1)Ac24gT3;Ob4$-jAZ2Lj^^ZG> zQ7?bZ9(Dhh>T-vF+>BY4l?m>;T%8$uw7N`Z34FsYh1>wLhiK5uEC?xfSJ%HWuh*x} zr##12(a;+>-(kwFDB%I4|88AL^e935ng;$#tQngyCb*{G=)I#@?z$a2)~z}D<TW+z z?KO>y7X_X&^x4Sv9mAiUu)U;X!I$mJmM;9VeKEEDUfi%#f#BK9*mGCY@vt=){(b-c zOQ%0=D=I4D>8<9?2s;-@`0yu)=f{>ZiKqu2jE`$^4KY6Z*%EbedFARtLu2K#`AN&R zbZ)F_ZZDZtTAICZFt;HiKPxt;s@yPVRb8BIk*zp$p6rK^zX;?HH4eEuUQ6J_w!thz z!$`x5m8Dfx1@l_VyV^5WoUvqEgUQypC(v%pT2NOJUshabvrQ{3oSU^`>Fgw9y)T_c z(K-mQ$QSx^ZU7A+n}H@A;y#^g-Q0GZoWUKV{|PDV>bl$tiC)}u?D^u$WjxY@PeVM= zL$he7CNN&FK^t}8@T8)iO=qlX?K9+Nw3gO&bTryaY;24Af`#3^wz;C^g#5g8!z@R+ zt)wQBEh>8xLq3&vIns|7dUn!LI%hkA8L>xt>1=3;)W6c|IoQ<C>sY;cuy4mx52-Ir zsr|9Cs;E6};ib*&>EZUQWjpq5FhBCNZ%MHF<+5+mDw-|!q!s<pvNNR-fC7;R@b*IT zh-K1&>PIasUfs(ds2JVJH&+4|9qq3Uxe%Spl%=3`x-9A?HlC~L^eGWhGZ+@RXybAu z+5VFj081>z9GC5K%saDx@QmiBvf_<Pmu)FhUo9xiVC6*%3Jd09o9K#JJ}I+uqn0)` zE@#`KnyPY}a8Q@gUOO$KB0sxo(ZcHNoRSkV4I%zfhO{(Gp2eh|l#^?l5~vHD5|<v6 zn_pH2+Eut{m*AqEk2N`*dMV;j!=)f!6G*V^!L83f$%;bjwl3-2++I9CZQh*b<|=;h zf=%W}pYkmYW?`KpZJ?vtZOKdOS+l4itsJcZbSVRzsiI9r2~G02QbNf@hf@)O1Zlb` zbeAl5?Y3=e*PU{TE#qK9*6f9>D(%T+LoN2@-!b&X;EwI<z8Ko^@2^`7d|KEt^}yGy zIinwkVRETcW&=*vFMw0tzinIp@b>NY^k?H|%~`}8Y0o5@>L<WioW*Ab5uBx2qyGp3 z99k#%9oEQ3|MGQ${>NA+h!VIOatUa$F(sI=PS9nS4|1YD*5Gy<;G<0u2XeFy=IHAL zk7~><(}$fX`!k;k?!jq4Ah_ROy-qOTm}b`!CL|{8VdP)yUp#fL9_w;FETTaN*lS|1 zl%QX`MlfJ9`(P^H0;GE{^8c&X2nHO>$QWw`k=HwcH^~adtr2uC5ky^vtvTpH@;R|4 z_rEf_Jf1bV0l(6+ay-3IBcqSd2V(O!w?1%^HMs#tUn7XNraX(b_PK0pu35|YS*DoQ zOk9)u?6KO~t7vQQQCst{*U;AFzUtZ7sI9$<w)VLg&wo{0d-Yh2je$FV25pUOvX6g# z#IbCtk8L9DY-_KgZoNls4R(s->>E7V+N++8P4qi?!1V#di<7vHvrRaTHSo_IwY?$T zdqD%y-n244>S}<=*1$jWbM5U_w72)Dz2WRVQU+>k;9qq%IJ7t5@Gx-D+MCq0{W??k z<5~m%%zx9~T=XI?^B1?bXO7<9XwR2Y*vH*?6#KZ+arSX_%!s`{UYvBVj~88geQ;$V zYR^NEjrx)$A9e*1!dFXpQn-18w7Xj}FR+L|Dz=0eUC91UeM$=W|38U1kafA@KyT(^ zk)XYid<tzz@o$+>dz#&zR-K>QU`Sap)ZUk#mzS=kdvIn(MOLbDdaR)!K1pm!kye}z zJF^6gBbG5Jt##Qbd&OIDX=zp(@SrXfvMX&VJZ5vX3)*{n+86lQY^5essm*qqf3@SS zHZXB*Z#t^|ZT<$s-^|6{-o@s>84T!L(9MJQX=O`f+R;+_XoF!Uv3<k@gWHRar0z>! z?@H890J&{KYBqp+Q-FHQQH^w0V4e9aU4pcsB-w#Ea>dizw_mM$sQB=GU_J?U7s421 z7;joGj2|-~(9>5J>uR(xEx@k`_+g%9$04vjl1rtWM_y6BG`qL8wKuz?;;;Q@ElFQ; z!?riK-LNFB<Lo|}ek<Y@%eb0_tB)pNO*=(ITv}eyq083dr7t<F|INO$!9fvj4z?V7 z3tfScPVPHIdkbCR+IMI<_9Sxq(Vj$3zZ%5L^6;a5hn#*$ll8j&Sg-odarklUi?Rgs zyBzcnkO;}$Q)aMno2cA){k569b}x}zsl+;WRH1r0F0Qt#3Y2Kjlxdr*WM%B$m3i$F zxy8!s+D<F97t0dt*FrES?AM|JAsTsv(NdQCwP=Y6I`*=1*l6A*bo58D$jq7zi_BTE z+3Bpj#1c8LC?~2(l)>2T(6jh*VJ|}GGAHLuFXjIF1AfSt`WIcu*jKu4v~9A?bZ*IW ztn;RI*d=W0)Z}UMjz~B;R~`F6>;Wgwwnoc`2_BAT);4&fFhTsYvG;YfmzP2~7#^GY z5dUnxb?GF2{|J9*D*r5dDHf}9^)dd=*z3CU5D#`26q7_OCppibekbDcnDfIghEYD! z!THl4kG%^RpfwD+$DIZKams3(9xuXtf-svX45fzjoM%*Pht(s@^ZX~AdA))9M(lqh z=HBRp2KpR9=BTRbD02}1so3IQU+-@rxOCq3>o{-w2FMMdV?hk+Q{>#oQxY-$yzSR* z=^^QMJ8qsQwKMe&{sSz%7g0IuCY1Bm@yD&F@E>wAqiS-qqHs>OiZi;AFWP(6c~&{> zPRxQXICJ|wSa{q=z4B4c+`ccg*oHH=V`9Q<k=85x$FajYI%AS>(DEP5F7`N9(tXk@ z!k6JJ^p)bAB~N<&;NA_NJ9oYp`213v9d@Lh5IYW=9z}^_!DwCb&#KVr#}a<1@~GzK zs8#Q4Zk;ldnKieU63upMZf~Us{JD&)SEBjpn%h^2fc!^(_fwK|$(lPriHA+L{2r*- zyuwi?%nOZ8S%aT+)86veYHkkx>}AcZQ>v8DG`E*xU<)+2x3Y;{sk!xvfzQ|6zDhc$ z{*%)8Q)+O=y>tgCMY=l89jNr7ZdNLT$~tAUG6X5tDy#?`0S33=R}L%b5%_gOUOWtm zaW=ly!-}j6YfKZcUqCK6CaZ9lgMxkd=1yT)yivR!eBFS1H?2&q99*|~sCU)sk%U_k z%GZw!cJ~ag%}%Hv=rSaja<Q*fLU~_bf(S62Fw`^LGqj<n8_~*<#t5)miT-e{z^@wc zdX#?r2Jo(w4~_J$>|8sNP~F$l-!p(O^We1#8R$clA-wjiTHn_RhY4s9>bVeS&4<Z; z8-(J8M*tX~{H%$onGB}f+`{<{ZB2zv$Qs~TE<h7;{+T3?n$7}bWC(QZMM(?@y1O$l zM`^(q%8X~WRwLvHN{Pa6fWHx0&c!beS0QLdH0%*!R^n?PQeGkAQ(4+z&t%7i4t7D$ z&~WeIK!VKdoR);#T<KgrIMOvZupz-{$Tj5U74~<o?HL?dY3S=+VKP_^HjCYk*#E2S zSBvU500OK7qNKPWa!@7)a8Z?P#D(c}b$8Fe@VeffwLL@qodW~e35|{P6@hyZDFKw4 zEP({<0G)v1?F1dxq3$OD+<M$AMYS0Mm3jeMsUGTGo6zD;Js~w=UT5FB)d}6}6Dm80 zh6Z~Ph+57FQYnDOB}dsPE(6e|_H(oh7(_YsBl5_|x`LdXjT<)_ddBC(&^1W@|3%^n z$k62RyT)bnIFU(6@Ibap=3XMnMK7w1{Q>o9l0W_rd}InXp-2DY1&yH|eXK8fCx475 zf#AG?F}8(5b2SAVM+EFlqM*Z?3aiH$$Wy0d&KVEcVFGkoGqGP#GVH%nVNaC~Id~={ zB-zkG8$fsJl}xY<v!D*!P?Pf@KPW)GFM>R_1omQOsG1ch-zwCN8d&btp-*$5BWP4+ zqbq2Jb;?}ShZgL3KOa`!ZAv@lE{kBhx&&*1mqK^8T<K&w<vQgw<#gpwSm*gKWv6mB z?EkJnpLsp=!b;9Juu}8_Y*4RP&SE~wF69yBZRV?7sobi3t9+w;hu-~m<w@lU<qovF zF6CU*kEc;X4r0CH^U5>Iv&wVIN9gHZQeIGARDO$2>`Uc5<rU=+MuOGKCl~{EW3-?; z-H$pupj?eQdID-4^%2xxZ$Q2KSlOg(L63f-vQ62l+@oBhoUELroT6-3K2<(f?qhz; zp9Qc$7Q}*;QANdp9-%CZO;N^}f}LO^AmL`P$BAZB*)$fzV%c=eQsUVR<$L7^mcSC( zOxWHgvlNyJ<CS#Ssb*s1qii-y`4N&51IuB#%*aeI2e!Z{*v9Nwi<Qp`SRpG?-c|mI znGczQl!0rlV3n*2CN4FsmenbDV%CXuOss)5ve~SOHM2QvE}N(Pq#Rb>Q{HDStd-4Y z3s@U#XA9XPwwNtp9Wa+&2A;o@tzccOoAt1jY!zFr+>cqn8n%}8DIX{wDmSuzHoyki zI(7mZV#CU7$~(&6lsA>Plz%9%D}QGrY(0*Q*vK}q&1?%hk!@vIt-(%ar?Bm82RoIW z#!hED*%@q?av9sr_OLVAUUn8co1MeXW#_T;8TJUoK83$w7qN@kCG1jm8P=m+!LG#q zdRMb+*tP6Bc0Id+-N<fYH?v#Vt<d}2#%^bKu-{^zu-~z}*zeih><{b!`y;ytJCohV z?#I4of5JX(53+~YU$9TuBkWQ37<-&O!49$~*;DLk_6&QLLB+yeU@x-2vX|H)_A+~g zy~<u=ud_GU-`Jb%E%rA1JNpNF2kYSe$=+k{vk%yZ>|d|||CoKkK4qV=&oOKGl6}Sg z&Aw*eU}fxg>_6;#_5=Ho{RBJgQKqsnC^#ACT*tj|`neujEnn`({doX%AwfJCr`(0& z6wN8nibr4<tSD$<rb5#b!((AD9S0k`89V_eZ_I?%RkCuI@_U}598mrU4(o2^56WZ8 z4&`Cx4D8_gxbkP^K`c{#fT!_vST|)tf}hQ2LD!T6dov^U2g4B?+{$e@K_d?*-xu&g z*nk$}JeE>krtIbAux6~}RlJ(l@LFES>$!tB@J2qHH}PgZ2j}$6<1M_E&*uwx8&)YU z<cs)XzJz!1rF<D*&O4Qh`3l~pT&i56e8Ibw8<g{v%axmybCe5}eY}USgtmS)@8xUw zTAan+&j<J*U&l}2Lwp$f3a#fG_(r~oZ{}N+d-;icE8oUX;wSS{_;$X7pUO|;r{naJ zGx#pP8z(TI$@lWJ_}Tm%el9<cpO14zF68_8Z}>(0Vtxs~RC!4G3%`tC&adEC@~imO z{2G2OzYeF?+`w<-H}RYKE&Nu#pWnuB=Xdbm@;mwO_+9+>{BHgSet`dx-^1_4if0_Z z!vDno%pc?r!OrYqobUQ5e~drQpWp}ill&?EG=BzXTtCO3=P&RV`Cs`<{1AVczrtVT zukqLU8~ktlP5u^6<@-DT2Y-jZ%m2yW<L~ni_=o&oymFq;`hniu-11!QStXwpChcj~ zo>uLd?^E92*)=pc;L|Ce`tlV+JsW!To#NqBKDcUdpl7X5r+fxfcJ&T*t?ysi*Rv_0 z%kB2B>>eEH?CJt<=ilXW>Z>sP3=ZhK<)aF4I!An}HGn<x>0j*%@89Ec`c!Lxd*oAJ zEz{@`kAPY?=zvvjw|}iG0smDlXJ9Rc=>ATLUf?Q^mw-BV+<?_?w^!YY&LOYWxasRh zdi%P2^u6NYQ?KFPt3B&AEPLgX*E@LcngEA8rGPbVcVL4D=)kq(URDkD^bGWM4s`c+ z=^Hz{){pe)`@|!#(KB41$BVvElB7>Oyc&^TuRh%LO)~y~jNjxDC2+vwMc*Xj4~U1Z zdSI2VXJD02vzE0%`3!1ay?$U-=g|88zRvX{L4%%e`gs!4kc2ePBk{l?j~D$s328_^ zT4bzY@d#*f6DVNV?H2XZXp{BUXfx|uW#kd@@M@(38leK3FAHeBETH)s_Uq+SKVR17 z_2S_@f2en0mG^qO2hI1)Nzi)FH=p@hv96cTfHpT?0UJHs3q9PM-ERFNnZqsO;lIdL z6aBZioPjMK1PUDXco8`_8Oyb2h4!r0o;C7mw)?Fb>fF$Sh%5XA9C8UibFRrxP{ZSk zMf0&~PrLTa)1DHVIafk6=T^$^MpGa#UeVJxxY3=MNlV0}C1TPNG0RTHY}WkqHK67B zGO-Gos3q4Z-YvPZa4osAQ?lgB@RnSejwM&7W670pEV&YnC0C|r$(2Z3G^8yW(w1CF zDod^;mBlDKLyJ*^Yt-NxHMm9%u2F+))ZiL5xJC`GQG=@$jm0R5Wie{`GRn@@V$|Rp zHTWhCzDa{`(%_pk_$Cd$NrSJ^*P_waqS4o4(%_r4e48}*CJnwxgKyH{n>6@l4Zc}} zZ`R<OHTY%?zE*w~t^6!zE&paM|7H!oS%YuZ;F~r0W(~esgKyU0TQv9<4ZcN#Z_(ge zH24-R{}zq@77e~dgKyE`TQv9<4ZcN#Z_(geH24+`zEy*3)!<q+xK<6WRfB8Q;951f zRt>IIgKO2`S~a*<4X#y#XVu_oofhoNWIeZQaB*Hc4bB$31{WKViuZhtKKUA+`C9mV zEquO)SH6Z<zJ^D>hDW&;zFZ4muHjRz;ZvcdU!kS1F$0zgEqsNReub8Pg_eGWmVTuc zzfw!DN~24aMwe<0ezlffwdP;#^w;pI7V(YMvfbk;!s996;VIx5t7ZGaQwuNakFi?T zA7iyFCp-nd#%i0u4^NRlJhk*}75X;ON9s4qN1N=HH;RW}TX$~{gjl`9ejA-G{X!XV zvv^SHK#(M$;3=@fQ<OTMqPF2Fa)+nDmc(Q-o@@=KT)V&yPf_Z4YW{XXb-Zio+XdC| zE~sY8&C}xLiCp1bP#I4_H9WQS^0f5wwDj_{^zyXy^76f^*AER!q$;$;Wf8+JPiDd> zyIhk|c8Pe(#Eh~FG#O<VhNsQ1XLtnM&qz<VNYN-8lgTI>6P^+sqbwx6OLUB~G2vZe zV6>L|fwAl%VdLt+k=0;-q<c7EW$y;3J8&4R=z!*-!K?8jk;cZpo|Pj$!nJ;#zjz9{ zr1b0_+&CazD+WhaOV|2!-2*ZS*`7>B*`Dx}l)^$@=`Y7ClTo%CJY@+OWxK(<ECHiN zM5AmcCS#?|x2J#I$mZdm5s{Ed4qzrg5bqXQQB4+EQSp>Ts&y22mqlu^Ng7&gvJ{}^ z)Z$A-E!Coen=Caoek*(X`g*!o3~mx3tmP6_t8DrvtA?tzLZ)o3kSSQTa<^8<%4@BZ zm{=<%L~Es8PwY%zk4#p!e3MP9CN?>unrw1J#ZyMNnR5Mx`+HF|on1YF*wohbq8na6 zpkE1&zpuxOZr;P|I=g$ky870y@Lt{1IW*$a-P_qeIM5x?zkay4tFv!laHJ>L!`;22 zPoQGgYN%anW_GQH+O_6n*P4@EYfg5pIoa)!W_G)5#&)}G#&)}G0d~8jM82#9HF-6n zIoDLz)ach6Ys|)6dRVLS{CW+2gI#^C^BQz3m-XV;7brUM+&shZFnYEvJwt<rk(GK> zZhDMtq&Htt!Qt>(Ik<jEJW<KXf4FxO`HOl^4pG-Bz(B7^AW)>ICF<vTk*@B6!G2!? zBpd{a9R3m*IsF7U=^}t49Dx+!Bv9d$U`0RyShxhVf%W}E0)}u94032N$SGk+7r_wW z2!;qJVF;&$Ap!~*<O*NcGt@iSP4h<d#odOk&f%Vb73)!_M}#}1XH!>SXFs)P@g8=< zdg^~rQJi0bS77$hL%o5FAYMgRAl^gieQnQ(D?pg`!5t)cUFQ(yUal0xtJ^!Er@y;% zc(q6^pl874reYUL5rOmS&Ffb8NE}6d$StoDF{Z3qPc5{6(2YU3>ysOZ2sVsq3BqbQ z5y8YKcQAi6o30+iO5`b|6O$!5D;0o(#Jq@@bVFy~h`_;&I!VZBFLv<~EQU4_j{JgM zQwPtW6`n69&zDNi7n|oxxp)b7O*}mPEFLdLnH~xTeLLaNwORNEczg(3fywV$D&y9n z-cC@ZCrW%F;yAywpdaar7M}%y#(gL0HX9p*_MgE8D=J8g9>ASWOw&QS%phN`f~y*` zS_WC|TDbclr)7}S4#7PPIV}?!0-cc6;-p|)I%O-XP#C15*rSHkK_<!|5v_;Y!5nbo zoM5;+_&L}a9`YlFLxQvqZpe?|zL-A?_j9D_gZ$?2NS{s$q?6kir0tBAc|1Ad{|3G~ zq`3e>zBU{N%pehZ6W@?C{QTLwI_M;;Y8qRWh_1~;eM&)J=g0u$-(K)lkax;81I|*C zKT&dje4#9gZ~3C?1f{*Qyfs1DS~(B*s~gG}B`A;1Zf;Ca{xz?8b^;4*g)hrRpP0Z} z1#IZR0UP)q1v=p;!#G3u9HCn{GK}wWgz-C$F#g98Cg3>21Rh72pyLQLiC(1>jab=B zEmXO%tE+#Va%p#8?<(bL>X?-qsRK}M!-r1g0F6e<1LFR$xE~bv=fwSxxW6Ip{}A^N zsM}RO9UST&Q2xCRFUpTJZZTze{fc3xA6~z1m<5jDJDWoNKZ9L_tIpx9XRTbRbjfss ziCU)9@<{I#o{{|p?x>)+lm48M)dud~;!bsskyQxpzTyt69zY?z5`Bvh_ZV@9B?G>| z{sH$$ai0b~QwelKP0;<UK>HnnE@cPwI_E<|d@Zy%cPaNla{UxEGH*k>@HsR(Dpt@1 zLt_#Tjfes1P+H$h?ARLuGY(m-us+0biorUI45OQ)Jy&SY5$(B2dv4X9r)ba9wC67E zd9L=nO?%$0Js;4X4@ua%gSwBU%S-Q-DcUdds*+*67HCfmw%5hd-#cD=+N8gCllGja zJr`*H%eD8DK;I2Yo{%^{&V!+y+C~y+r5`=oHX)CG7Lw_MkV4-JDf9!ZNa}%v1p1JW zJih{Y^z)EHzXWOY8|cj*h2;7%$g@deeLbY$lgYsU2IzT0cNm7Ul{-R|qt|VM25%XZ zn=7DQ8-R9f3-n(*gf0tutce;Xmu6|TruFa@8V-`XPbOo36EI&xUCBi)aX?470uZ)9 z3wXZJ@!bjS#yuDd9)h0ZAoO`Jpq}WV8wo*LH$cXJz2XhK{jHGQ-w1iXH|$5&LyCVB zzYOka$_B{uZ|0Z79RuCU?;-EM0`6F7S?-49|4O*0L*McT=m4&QI}Vzc1JDLs4R<_r zFn@$z;2OARKpS%pGz8b8OunQM0yUm$H?=QnSJa9a^r{S+RR-NEgLaicze@dS1ljgN z7dl(<2e#KjGb>x!6fHCkk%Eg0Z7D`SF@BKk3f1`te4h?&EVTf4D6~o%U!=wkAw1(? zw@raVf`~&{(Eb2)-=euG<;g<jdW6bFh+xIbS*PIR<t*!C_@K|=7-4bE#_yNAp&Uaz zNiU9E_~U%{t<b@4@YITVgdrH0O?bx`?n(px>?gc2)Z~d_VY?&BXo{e-BFc)PM%^Rc z8QR;iLI4Kp-W>=_p{UH==}=jwpvAcHm^_RbEy^86)+k@3<OR*04t`WW7&Pxx0|G#m zBeeIZ`Gm(M{5nyh2t^vNBeh)!MdgiJi1v3qdU_5WeWKQ{kWPzqTjTnYqxK=5J;>jH zU82@gl)?t!$lhUs-r3bFNKL5h6R7PI{d|FyUI`?=OPM1$DXK%TX`SFt<vWL;i@V!j zk9P`7ZBoxfJ%+}bi=2Lm-qP8+u=|quO5wZ|6>e%1UJ7xY<f0R+=iojQbsxR0=y50M zBM~xK^o-R?%VhnTR-^pUL*6!y-%A$!o<;QY#4E`*&X0I^@^BWx!&w9mXAwM{MeuMI z;^7nv@o>0<hl6c~XL>rA><lOo{hdQ=mH7U({cB;@;p|a}8<kuhJ*CA+s6sYRMc}U+ zVWmMKyy5DOd?W4ZoIUd0K2WAq`8(1ZE*I~*=Bhb+=X@$KXLFaz=h6#7ee_zpz0fY{ zxg3<5BK=TLV7Cps50n#2RCq)beGkYBJ`MG{3fRA<_>X;u>n;4=#r4zJOK^Rv{m93C z{e<t%i$Z@l_8P)d*bjmG|KxA%JKzL}bayAHefbn$0gdj`Pd?!*zS1}8rtli35_`h& zIr`#Gb8?r2IyUO|)xLa+{8HXUx&jYD3Amo4uw!3o-z4o^_zO%#encpN``A~`uTGa6 z+VQzGoHQu%%^j282~WB^zq(z{FP^^iP2>Q%IIcge)j*7Q34cll^?;y>S|A}gQycq` zXeL5GC&FqqMNmML##p0PidbZe+DNHV-TDe&<Hzo#QuD+}OG}im=l99oGPLv)5MA_e zhj)H=;_3GJwJwoQ7o@RwCr`(jFXwY&C{Nrc`Vp1z`*iFR@^OZwlt4MuNBF#pGNC$2 zZJOG)sDrr6Feop4{}j}9`iPn>VrsO7uc*s1H33KDWHNkFTC#NCg6mO&Dlrz&K1Ch) zj>=Q?6`ziYa>f@?XEcaMp^<><QT~)8#P|s#&Ln?Mx>KGIO3(&R@h0MFd38q>6cXt> zX^8Mt|A<ONAz5=}Eq_$zT>B<{v>rvqkm<_214sP1Qx$JSQNrvePz(Neqq|4`@b;rj z1uj{R-;F&gC`!2hC}J<5R6xC5;x1a(*ayItaK3!(K1m~)3Lr^}eFc}mSl}UYh}g0Y zxJsFD!B>%MJgJwWG(B21-UzmYDel@A$`yP>>KYt3Jn@z4q6i^lYxrp~oN?t>%}=8X z`H6f_e0RcmZ9F8;G@LN$o5+h6#}y_WX}=2!e=2&Ouiz#;sYg$zkr6xSJNs(%V=|T& z<~5Xn?DarJ@<EwW9sd-47L^%V7rwov!F?3I<HkrW4&@Df-uOR(lgPCTCZ#3dyYnjQ zhb!*_8r6#L#?IG5QXD6ZsI9{dEJP~f;T`?$mxUgmj-a9o1L^0&2UK^47I;l8mm<QQ z!npG#-L#J<ViM0H=^^SjrG+n)L#or%yOCSgTpIVOl&RJe9jMJ|&=Jx_5hrd=yu=eL zSt(8Y1cuI1bA^HQX3}_sjk|A<n2B=Mu+;J^dkLiRlM5pWhakErBykWqkhO~FLL=n6 zltWPu1P6xPQ2s=##&_8xXm}G`Cr0FlAHBaMpU%60<iw4_Xnm;6ub?T>@jk?)k%L^+ zw^PpIMR|LR@m|9Lp@`<9<skfXBA$RMQo2vz`|j9{2t$1xr9}7;T=aPe?`koV(-`4o z?r=w3x~TPPbawfQo>=Ap-#p%qOx3gRbmti^uIz=Kb}}S%skj)dwbSq|9hV=hwlgrJ z$i(FZ>+LM?@MOV_6)d<ygay41xcpqqw8)-Y4~uRyVp(wc!?N27w+&Z-SgjBU8BiYV z$MbQ8z}mY2GVelMVVETpfu}FV6%J`l2}Z!(xO9-_(M;h?SZ?cJ=XpNTzW|pXEIu(S zQ1-zR)K9q#mmlQ%S0T--afQQ<`Wnoop2Wprv;8#g&*I{++kPJR7jgN)Zu=$NU&f_V zUd5$@h4JgS{|%Q87RPTPr+>%g4IAWlaQ`PRZ>%(WA8<d!rHA$RN4S52OAl-B&v5?& zmtOe_SBUa8t`Jy~e+&8M_qcpvb^RmmhjDSt5>>^QCYQLAoxPrU!6sb~`J^6qU)Z7R zVf*c`_`&)+5cgnMfa_rW9jXMdDX;(!fc19-?oljC355OkRNP}&4DQp}bll@vyb{C` zSOV@d*-YG%S+WwsQduhQ=`0=hOqPi|4m!f!z)+g72glx2un0HdARY^|;BIABB?6Y= zcHHw>KJG=V2<exw5~Nwi%7AAl>jZAytQ-1?9@Yb2*mmRlYRr~HSRZV=ePGo+fG@D? z#yo9=jUfDbocb{Z*4)sqkVQ9qH?z$MxrJ?odmGz^T%Ux~KlHHgJ{ek$Q`jj;e>>X_ zxTmsH;d>f84Jp9h8)5daJ-EZ#8{f}nXT$v<dl2rwu)ipwu)%&7d3l~akNd0aRrtP+ z6L9=sfBiSO-(qjU{SJEvnEaFd6Ylrf`;bh1h&`$Gu*3cc&_7|HAYY%c&j9@k_64Z) z75fVJui4kQf6KnbUYQs3i&5ev5qg|<fEIrxnv34cP{Ye0(I|ve&xjV2hjtVPDU2P` zz8GBcFBa_#;{(lO#h-lAOk4iZJN?p78}+D9erTosXg3Px!t_TgI<Vsqq=$5c;)m_s zFdL>nYH`ufdPU=zgEbm*g@zd|ze4yQ{T2o<l10hCct||tA7M>ygZ8e7mQ1Z#Ud~*& zyoJLHIgl6S1vOq=q$?oYJujIHx|eDf^&9T5l+Q%%N=EEtz|C;|um%w6yMGjVvY%%d za=ZU%$2|IxK0^LdU9@zE@^ls8#r^Y4+4FlE=<oUSMrk;IdgN!aA66)$q?1KySD?h@ zk7`1Wh)Y<=a`wdMc-&OqDn&rj%XlG0`b(wNWk^{O8X5{ie;mJb^yl)ALOAOx=@)$v zo45*+EX%l3LX?712?AXTFpflvRX^k|z<46-WPzxa3CJD!7NGZ*{&dgAFJF`jm3$7$ zp%nR~m_*TJ?MamOg^bNf<#eRubo=8w{pg$2RKW{>vaAcl(+4TZKPvxF{3!iO7j=pH z&L5S6=id~xjVWm9)6l-<oqVaaD;V1hkg-!M@w_51!cDvo=>OM$p@OQE#c;Sn!4*vY zS2+3SNxl-*C;rK@pgU2Xehe$Pe%&gxQ^o4Boml;{3*5*a@F9DZv%rg-gVkW?fg8Di zR-RyO*+t65;6yG14{`-`OILvhxdyAr9>dzPC&7I@3$Eiua2qd!%Xl5!#arMi-T^o9 zKDdaF#7eO*z%hIcPT_lS2#2Aig!mo&0Pz9-82^JY?oYvZABAx~2IG4?#`T#P&r>mu zXJY&|VB9ugytZPT&d2y%f^oS6qq1w26~<uas;XnHprZ9tw0dffwrc7@jGoV8)O;1A z<=-$$zJt;6eT<49VKn><qu^H<{l3MR$3s`61u4G10ZpjWXmuL5N_;YLtt54&`8g-I z;tiL#=v5|`+^>2UyfyLH_u&WL8h`Qbxdkxz6zAMw{;T2iB+Y!mdw(kUavA<-;3DR6 zg_}GX;=&2`<i3-C_2lu%4QyR}{bcE3Hld~O4mWwq^wpUgq7vd^t|>-v>gUOqAng!N z@rF4*I0}IU$qk%;@zA?Ri1EnzWx~^ik)R#DfeMrtsu4fB1B()JzXH<O_wv=10>u?I z$s^eR+L?~rO#0`f)})^QqmQ77m{W>;QjJx{evnB|gf3~~q>LwcqR_Z^@g`~R`JGC@ z^PT3U@_l^Wp*HIo&h2)FcYpag7sYVSc8{EcP9FQ`!@2R3R1#1ye+MkL+{j4<!a%fR zL0u`$rC#Y9Cv=%Bk%o{OJHI2IY$vh}c$AA4;|mc-qanejm;%b9t~8u=E5-GN!nosT z{R1%kNsBN0P1#<k1!=95Vrg)-*fOv5^@zHn^;&K?ZkPf;q6tY9sJ;nV?c~^be)VuW z^W^dAmpeUi`(?2)sz`aHpqNGzY6Jd~4w6o8nxGW@DF*T?sp^ux0B*JuHl^c<lNc!k zrKuJ;|J<S6bx`_gur(-1%OjQ>iZdO0ijouUU%WZ%nzKL9O4%J_9Cn(o=Qnpqr%U=u zoZYQT_AqYxI79yzPm<GA<MPMYP=gslJuVJSy93-o1FjHge;eW3gv$pj_?yA6&%xy< zR`UD9HlY=<7T^lRdj2-d7us<JV_pA3#9f3d6zlsJgQr`9YYNu+ci_uXT;Z_yx)yEZ zI^|}he+w>-^~!YC!Ea#&rdNKCO9y+OyW#r><z7I!A6EdZe;!2258(<`{(>vu|7q{r zqix#qGxyx@_xt^R?|t_@<+`qNmAFbNt(8)SA)=Isa+TIvM6`%#Em~_4r3|G-L>VGV zDXm3BDWzQHiV{&ui4rYhh@rJMls2>&T8oG{{r$eRx3iCP*1osuCjWHzUSrKO&zg@l z*PLs9bN;^ho4*Bpu~YD$#^J<%=QD86;&2)+;ZWG!e+7A7#bJc?fNOBC<1j+M><03= ziNlAT^S9vM#^Hn3*&U?4i^GY%{-WD;ABWZO2!{<e1|GwGV)$Fs!{6a>U<du*!~F*w z4(#lQ#+))K6W9lfvcR<|8(fESfF*G$7uX+<^1$^eADEGV3V@-&2bAGPR0M8J!R{$6 z10>+4R0?iJW#Hyi&frxARe)PkCAbw;0aH^`HMsbi72Ma=>u^5?TLC`xhI#|;o9az4 z9dD_(z^4pRL%^gARYTzpQ^VlCquxQzpM*s^FYE<;3gsLH4GA0e{C^Q?zpB29D;w2D zly<Y)jMDzD`dx50*oTkMuc@zr1>2^!!~grR3Fg9%{2lQBf%*gZcj232e(cQu2K>9# zZluEge1z^(``}`KKCT~72jKr>^~cEhpgM^Aep`JT<@t{K4j7yx>Ikm9r`|&uj;Uj~ z*Z0)-kmqp)o7LF4e-b&IQfPPV)V~1tqPht8in@aMSJhRt!Zm0Iy0BOOI^y3@H{idi zZX(VtbqoGG`0lD1JND7a*t35RSMKBMXddj_e}LL}s2-x;9;rugAFIc3pQtAWKlFMx z8hqGW{vYw7?=8?w@nLWI@1gaLkP&2lT*Z50h1BfC0j3X!NYEb0uwERm;Vtz;t_<La zp)UmC58=o{GL9f_6o*LK!T`l_SSXhcB+oPmaq%{Qd&+=;5?dW^%;ZX7qDJC~fT8*n z?(%6IdG_ZJ`*Rm;aC`=3k^cNT`?Hh%xeFRIpTixbS0`wfql^7HiT?cai2n;Xob1&} z_Ua6KwU50z$6g&^uMV<T7uc&S?A1l+1-^@thyfWZbORUSX`r=*r(cG{4IQrK@UOrT zW&iI&|NqaZgMH}vPWJp7d%l@HKgpi&WY2f9=jYh-EA07Q?D-Y;{1AJ7h&?|9{n2yC z?K}=AEPh;odl83*2u|n>UWQ+A!AV?j5*M7r1t)RANnCIe7o5ZeCvl;RxX?vhs1X-x z&{2JWntX^OPK<~XBND)fCm22c7Dtju(M6=_B2sig&#2qb)rJ>I;zg2pktALui5E`d zg_C&UBwi$m7fIqpl6a9JUSx<DKnvhShIrv4Uf@${zzZMo0%rGs7dhfZP6=M*h!;5} zc#%_r7eV4hg?LdUUKEKJMdC$<c;O>nbP+ESM2ZlRLW#u=LlQPSe#cNEYB-4+1=#P{ zVt5nS@il~QQ`^8L!;T01f*np`M-uitcEbO4^>ss;2vQ+}IEf$y*!cJ+;_p#=fEWKs z{UQAO)qdFO`Xiu8l4xQhnmCCjUFuuvTeyBm9YUUhEE(7VIc$g%Uuwjc1Z;wQ7bQ8W zjv}UDO&75yNvx?5Ym%@Oasr`(I8Gu?0QN#o<H{Lz2JTsP)=+@ekaO^#SLfjh9tDU; z0ay>YgwV_CGRiF2)J1ISA~rdRO-W*tlh{-tHg&<C2yEvPp<X9KC5cTLVv~>96eKnU ziA_ObQw7?!-LR5|8yQ}MRS_e;LkP<v@LP-)`0YkJLLEj2{4S#le7D=^Hbh}*#A8T9 ze>Q^e&_|6q*eisU5W^eX0r5JlXZ)@q&K(f1i}efSaKd;3w$Dx)Pr^NAJO%epVT}zI z;$auu3f<!$BF}TibMXJj_#^aj1$#W2EufYqpx$<X`dR_n1w_~lJ0W{uC1fwKVIO7% z`;p55paZPfh^-S~!*^)y<S6C^-vchZFIG-~4BrPLoCXqzy`S^w_ZKk(xPm@@4So9t z`t&XI<vZxZ_t1AAp`Xe){&(n?|A3xoLJzc|=gA1|Lr)8#hsDsdQs_}R^rRAcPz^oj zb@Z4w&{N(*4;iY4p;vs8)^@%~i#1}arawzHnw=Vqf*1pP?9+&K8nI2&vP*LkZ`cLA zJ6G_YT*Lcu1MkHxya{(PM%_pIKSaAfR!^jLw0$YItHR>I&dGj*P569G=59*fBei+z zN0=S<N{ZaLij7(PeZyxtE7v3*aa&vsX3;;(4<#0@hM#b*J4nl~cRtOzFlDChzv?`D z?wt~~qOJG-1T*_-T0We^Lsr)0idW-9$3kPlL|W-Hn{SVe^cpWF3>ki8w8Yo^pK*PV zNJK`s+Wj8>AJjg7$NICjJ}%EMK8;matI2r$pPD{~cMyU@%FR4`IWHv|Z8ZjA{l#ie zqLo2wLvlsbS!g~(pEhLd4=X#0F1!OXcLT<MSy8aa8;Ti{tg-zLMtWKAk)QZ9H;%t? zq!IQ#fiXFS`46Z`oB_<4WL-@AiRLpDMPL3W9&OD+d~#h2Gs0)WTuIh8qVOkiYVu+c ze`TG##=i#4o}dYhpRAy3*Q%I-WieM0TWIq87~Pgr!puhRCp)5gem$jbUF*Ga(0Yni zsP<Q8jM~w97P+qR2t}-g^c>n#Xiw70L!O~^$aBidzZ}{xjMS~uh0yj>V)u8p#}R+u zUmBORQ}#H>uS&PCBiDP*_MF?V8&Lo4rxC5uIt_dld7j><2W=&FB(43imnSYDFG(vu zt!(uE6i&}OFYi>V&9uEta>b3aCr)ckO>UsA>1iokD1{rTr5|WNN!$8~hPk|dv1a{> zU#ll+Pw{E>F0RNIT6imt7Ai3tYzKMHo>~^a)U*ljbL+ZR3N21+^-{ZLMI7y?wY8R3 zo>BX?+F#PjPpe(2{nq)C@zNqRU6FC(IK|a|t-snTWv|Hn{8Q=Y+W(!Gq$e4$k}Uh{ zB6uU>z%I=?qtSMdBYl@~JKh1H5=V-^dO2oL&*&egQaD!a!TN;oS$jBciLak==cm74 z&)C;K)^Kc-dr(hI_`9DW=Yzmzt*?uVlh4t!{!x<uarHjpg%PgB{lFVh(^b=|guWPa zU`@1Y1Z5W;H;&D%%<!K!s&iCrUG4i9c}tlGu{;ty9NMzNcZOLzVdz9aukhvCm^Q)) zw;&v_FrylC>co=?gNhS(z5uid;vKP~*UMO90=~!&CSe_n?1dKGGl#cHq;uKrvJ8Ha z$Q5M>hz^h;Oq3o>lpBnc6%-`^Bj@`@&h!=M__9~#Dwz%WE?xkmyD%Fr-br*=BDf~Z zhP=-)JgG1nQ8F7PG8?ax*$4umGZ^bDI6Roi$_lX9%1uGzW++N8+GlyJ?#sHrXrIA4 zG!82?D&9d~5$!XL3GtHy=^_VGAp6lE@6jORQ6b}zA=gnS*U=!?(ID4RC)eR7*AXYn zks!;FB+HQ{%i$o)kz?JJVT<(3D6MF*<qbP=*vMuS$YwOiX2i&5*vV$p$!0XjW;6^Z zaX83eII!;gr^rVb%mP-R{|tWNF$-9W{sH{LW){e4G{|W*$Z0glX*9@kHppo-$Z0gl zX*9@bG{|W*$Z0eTH*qw`X*9@bG{|Gb$YaFFV^qjvRLEmgs12vcW@N}?)X7)ile*wH z>*Ooy<SXjrE9&Gc8ssY)<SQEFE9&Gc>f|fx)P2JTdBJjO8gMCc7n&X%_)ajMnl_wB zT^aaAC(cARBTmgY6FH5z68$(6WU>+@deM^0V`aSxSG45vO0?wiO0?wiO0?v#zg-P9 zSjcZAvF<(y+~QjbI*(X^9}K@}%%#bA;A8LVZTN*J%~5+U4H<73{GvmbA_t;r(wWGF z#L0nVuy+4TU=L@hStyn0)1|0Mr(h}dUx9o1Wd$1ru#@^Lkn4X{{VHOLCY=>}bITC= z@1Y-Of-Tfl2o?P}D^~Q^fQ9_Bf;J`Dl>&K{I(d~Md6fovl`I*RI=PfOxs(RElsdVT z23ZsbS(FA@lq^}4I{A}2nUgv>lLpz6I@yv2*%CL|k_y?97}=5xd6GIAk~$d@2N{w& z8In2~k_L76%;ZTD<Vot}N$Rk!`U5<duq9ctC3UhTb!z$9$eARl>t`c#l7Qvazd(H9 zPqMJU`d?5R!sj-~nbgUdG+=@CzoN!&s+(v>;Y=E2OX}47OOZ3twEs+GPU6%7w2(hZ zQWMZZ79~l2KnuB)B((x<WK<kP!!o%P7g-b+(XdPw#YMKHN`|CDEkYylu}pj{1HJM< zCl`=c_D&1lHg`%lcR>SVY57&#`6!k}`&be+80|BGb_Uo-6)6*A0i;FQGsd+}VExtZ zDeyyrgnq;YjMuXJVlA%TXS~zU`j=7s3EZ_9X~Otl+gBi?)v@lyh^OhLpO*N2N2m5H z&9M`)khWJ`?Z4jF+Ee!UTcdh21;%*sAwSXW5dJ`Wu3l@RFUM@ocY5*?Uo&;D()5nO zSa@3g)ffuQF|;_ipX`W`y3kgZU#{md_RlZ_(enK$F4>4?2~jR-IdU$T7f5Z1wv5cm zP-6I`{qY3w$vf}_?JIK*jiHfek+(tSAsV9~t=5uXSVT#|T%h9v&R392&}trDOhGF} zv@)w-Q@_^4CNu0b{}%jfVX4_fY%;=D^H&i6ef2(E>ER|=Q2rs@AE_U~l|F1@?=``K z@?RoP>9J<?4X5$@l$~0YmBGv)1Nn3SMs|F#1#^WkM!ccuJ1O*?)=VvjnGaY5xH7wG z{e{+b+y4?KcFIMk_ASgA2J;qTp+b|CWR)e&L*&*d^w~s{SJUOy<k%#7uE<I~w$CN4 z{%;t9dbCevO-B1ksat;SibCmoj@DDOO5b`Wncs1a2e<VbjHimC{n`)hDa7shC7aKt zT}{7~6<<f{*Ku#x%hQRN?WYz0_jk6(5x<l}JB8nobI8lnj=GevB;B5vl0st2^`5gm z=l1Jwp#IxWY0K8xl3`!{`xa)7gYksY+Ffm@<RfXNEN|oQPybWRBv#}jZ=8HlNHn-b z16r=UiBsN5IZQY|0sUL;KTStkYh@?mzKPVIK$z@p*V0;n>SCo|MhVd+_oIFrknO~u z#2i}OG){R_%Xm5oO=5*w3l}$pQ@&v+b)Lqv4nf?vnNqI2j#Fw@YI+df=T<F$0{OK3 zgK=F>xn@M(tya_8T1)#Ta?-9#`?p%sz*dslmD+Ee(hBWAP3v2(Xbg<zN^jS6b%mFZ zKGSoEF7B&`r2l{8CoO0o7uw(Rg5m#=KdJXue_C6JE0{G5?`@2h{WWX;zarNAF$?`I zApDns?C--e{+|KWe+V@H3!wO40=tc7*#TgHv^7RjWBiaYN5&ZK<k-Y<M`Zcd$Rj?4 zBZbD-8X+&q&LtC=DdDDsqcl<GGvYmZ3x3&yWWt;LHtr_!p9Sxy^c|7^?3Di;l>D5O z^IVkk0+jOtl=FO)^Zb<X0+jFql<k6)?Lu6~4pYL5P{NBsPk0^fD0`Dk+?!;gRA;4B z=cH8UqEr{4Jm;k(7oa2;;JS2}(wmENn~M^gi+h<&l-mN_(PX0Z7T~@n6J@vncQ=_R z$pt9M1t`e{D9HsV$pt9M1t`e{xW~yvc`m@6P9{oq0q%D)QML<k*OQ47UVu`ak5ZkF zQk}NP$w;Zr&)rHU%54GYEW0sUi*`z&xpPT$R05RP%#_%I+_Pk+#1`bvB{L<qAonks zDX|49u~{gwg($IED6xf<NNg4*5?hE8o0TilVO3RC%=BelI!x)!%GK#GWjHI>sKb=x ztX!!MQ=YSOy*f;(&OxazN~z9CdCo~$%}iM>$X!ns%4#9XYJSdjEZqB~$!ccGYTCTV z!g-I4dznn!zht6(W}$p$<1Qu><uk=OkcIM@i>u#mN@fAdVF5~D0m@zhu3CF2X$2@_ z1t?<$DP#F4UHQ59$wVnCKq<;jDJnt<$w>(*LJ7%92`R#PmEzj6hdZN8l#l}48D*k` z6ySWzM%gGpsmM&JD9Alg7D`1SN<|JzMNvvc4oXE)N<|JzMNvvcPRcs6S4u2|88Hw5 z31CNWGyZ}Z#!Pe!`n<><_kj+=M}eWi)w&?Tt5EdO{zu;W>oEOf&3W}{nJKpia_$WL zl54~)kr1@`wYJk-=FhSN^p(<g&y$>Z%xupOSF!(^xyepZk!dhv*M3dr5M@9tsU_K| zEqbrAG9ZT{gC@*f5Z7eilzhkd(?Fvy;*jrzfR>{aYNY&Wgr%PMas5w>e**XWm`@82 zcN`cA%Q>7Ux-qNp!Y?{U=+ihH%-w^zbr^F6Vdm1n@EBxM;pFV(;W9+#AdxvpWDXLU zi$vxikvT|YE)khEW-dfz4ilLpMCPbrBn}IaIYnen5t$Q2W*3n;MPyD9le5I+Dlyqh zO!iTSC`P8uL4Gn$lnxT5gGA{dQ94AFjuM|!WZg8Bt`MbDMClY!x=KtA5|dNJ<RCFQ zMNAG7lT*axATc>bOimG#Q^e#HF*!v{P7#w+#N;3`IYmqk5|dNJ<RCFQMNAG7lT&2f z0%YAZd`=Lb6U65PS+^qb*+srBNt6x}rBg)dAW=F+ln#<<OA)0@#OD%`xkOAZwee@! zHvTM2G}idDEYUbbGzJy}jYC9Z*{M>8UvvwrMB@<AxJon*5shJyPYpmE(H^Q2jUz;3 zAJI5UG>#IDOT=M~Gs_Z(T}`%3_MisInU#pcMRI0^HqK0wLXBk03Pk20kvZ7LoSBKt zva@sz<V=k@6Wzr!IWrrPIYrGQKk+$5d`=OcQ^aR0@i|3&P7#?CWWNH$XBTyaG?We! zrBg)dFj3k|l#UXmy+r9KQQF&v(%SyjAW=F+lnxT5Q<_vvlui+)OT=f5waOBoBgAJP z@i{_#_7R^W#AhGzIZD3D0hoZrMdF2r9KM^V;URYg{U2xmd8h#tBdZ@LkELOIf;PeO z<gpy&u^iOviIMG(Q?DmR&R;Ctd5A4RAk|3V)E99_3vz!Si1d9FL9<{u8<zWI{ekQa zkXF_;K2EG{!&Jdx{A8`8`Rm^F(ua6RCz3D_UyxWsWcb8ll^~gs`h|*`g^HR?iqC<H z0HdIxpP;ITD-up3o*nW>29lSoGZ<x@LMde>!9~<E6NMZ^6&L%Xk?*sM@3X5pTM%Yf zk;gUh%~a%WO?=<ne4{LUHyll7MD{bg_=Y(6hPe2KIGQYp=!jX^j;?0giQbl{*<N0w z7q~8U9)@fr`jpFG`92ivznRu^Zhln_!C&lM*6O+CwraG~-=3CXP0MJg@kwG)OPECY z51dp_9zCOH&o%LBao{#v6=|D{T2E@ZTPtRJYFy_yEol$~QYqMPe2Es{0^5Wd7u`Z5 z^$AVX6;$N3jrjW4UR)QgKSkzQk$G0+oQ>q1jpUq-WR;DYRvvQy65cL+rx$fA-^i2q z#m8~d$M;1vbwyWKMo1S&$Ozw&81!vFh4?Z?hd9c4ILdiAzQsAdc{sj#D0%q#PMJBf zS-75L<$98h`m$b*b#9Je9*$Zbj#?hWNgOt=64^Lvc{pBqI8u2yMtL|!c{oOSI7WFm zMtL|!c{oOSI68SaE_pa2c{mn%IL^d5wqWLuxxeVX`QXY5jh{1pKj-*<&hGt0cZ-s> z6C3B(eqwo?t>Pfcdbl!SWebIgxK1LjhluN8n?<=YVI%r_xH4g7k5Sa=G*X+>L_GEo zk3F0(`-#MHBC(Sz5H=#QhyBdVmbS8onc26@Y-uZ7S`l|WL|l)$scxeDvS#4njMz_n z)z$;Fl>iIZ0Br1wJ|d`(ebGnkbW;z~OFc+0^&q`ON;ff5W^-X#u|chD!SjBTU#9y* zyqoe3x)XRi&!DX5@HSpTuQ#fp?6*hJURJ?M^zlx=w=viHXLtvH6HM1g%(P$5gnN2c z-{fN9O7GWuR{Tn=F|YhD{{qF)n+1P`Ikn(hbzaOt_d^HK1dFLhV72n7@hHNDPZET7 za;~Yxb~N!<`jdw|j|mJ_67RU^w+jQAMmj-fGy9o~?}eLf=x*Lgvs@{xTNGFJ!;<R} z-ft@FF$%sI>(@XQSZjl?#W^?-U)VR{P{pFD7p`cjD~_1_4j*RNq8qE&mWpjD(vHzk zGJ4=HVg7@GX+~ja1fAsQT|<I%8gd~-(L%Z8;9yOdSrfvgMS(biEG8n0*u6|5mehfb zPjBHECS1AEFwZ#2pj@}GQ`h2pgi&`azAJYX-;ld)yk~r9d}4f##d<p|ABRmzQ{GfH zb(sd4hMGp0Mw`Z&CYq+0rkiG&=9(6m7MqrtR+`qB)|)n&wwiXBcANH@4w{abj+;)w zitz>0Wz#j&P17CIebXb;Q_~Bx+3Ym?%~5mOTr}6s1I&ZX!^|ViW6a~tlgv}iGt9Hi z^UMp)OU%p7tITW78_b){+sr%7d(8XIhs;OKC(NhK=gb$)SIpPVx6F6V56q9v&!8-6 zwYV)oOWcyRlr0U*K+6!zaLXvmSjz;<WXm+mOv@b0e9I!sQp*a<YRfvyM#~n<cFQiy zUdsW?VaqYgNy{0_dCMisRm%;_ZOc8&L(3D(bF0y6w|cE%YtovxR;^vuLDr$x5!TVx zan^~}Dc0%MS=PDM1=hvZW!9C}HP-dkP1dc}9oF5}eb$54Bi7^AQ`WQA3)ailYu20A zJJ$QwN7kp-7dEraY4h8nwzREitJ?<H2HS?&M%u>M#@i;@rrKuMX4~f37TT8BmfKd@ z*4j4MHruw@cG~vX_S+8Gj@nMxPTS7eF50fxuG?<e?%E#M9^0PT4R)*DZ4cVx_N={Z zZ`cRghuDYPN7={PC)g+3r`c!P=h)}l7ulEESJ+qE*V#APx7fGaciH#a57-aekJ(S! z&)Cn~FWIl!Z`g0!@7W*PpV*&cQfGH~9bre(k#|%bU5-JHp^g!b(T;JBiH<3b>5f^B zxsC;n#g1i;m5w!z^^Q%Bt&Saz-Hv^ZgN`GP<Bn5~vyKan%Z_V~n~pn<`;JGBr;Zm+ zv(xGHJEP9Dv*@fl2RH{ihdD<&$2iA3Cpo7&XE<j&=Q$TTmpGR@S2@=@H#j#tw>ft@ z_c-@E4>^xIPdHCI&p9tTuQ;zeZ#nNeA2=U7pP}<vU2a#<6?bJ_Wmm&B&^5$093%GM z0wt6hVS;^PB}~2a+gDsQ$^^SJeXna*)W?j+k+$+`Drhdqs?ncID5Shs@@$6wSnk_T zsAR2_l{s7cq}4*_bSzbb_hn3R`YS&)0baRo{5)&p=Q^cTBU!3XznWHVf-*By^S8Ur zdVYs#_3C+X$NP2;{TCh6euww{j+C&yRGMG?Izw3-@aKESQSUPJT}cZ&2{VAw2Yc?N zKF-jO>*PFzq2qKyJq(pKLWMaH<VW~kmQZzULG?D%>eQr`Pv7>1O(S{RVYeLj`kS76 zY4MxxPZ%oy^e)eDGA;IOAP49H_72t3s$u=7{ZOIRj%n+>ugp0V_yO3cHje6vuZA#G zR)Bhyxp`l$%%b<*U#O31weLzuf?jcygQ21$-s`$VY+b>e^rgSob+H}ZPb#I=WDdJk zbZgS^6?|DhsR5ERxDK(&Ex(p~*Z4Ot{q5H^|KIbz&)VW^*S}9h+GfOxIQXlc+<J$i zRQ-f%alXm4-|UlC3+-5DRqs@0)v*;Md(?woJ$HULMzN=ik{q;r+Fcc3`-;V?{z7%o zteJyOPtiiv2)S?jy?XioTmSDyGi_%y>)ca1qgjfzk-~lYDVypX+7WX)_Y|em7d~K= zl<H81Rnix*|B8NSekk;Jxx!Gj#5AVm*RHg?>gSAyJA`(Ab7CEH_Djx?S^KX^ZM3@H zCv+^vkS~FC<QL6hYe)NrxqQKVar0Z{+Ly{(-zi^>b<wXvqTAfu-SzwY{`fA)uJY}1 z?OWsD25Z=RH&^@j#kFsXi)|kHs`zDoPyDaB#|vK)H^L$hBtiKGk%3<s3PS%yfjv{O zUZh~PNWof>f}J8|*o|`^&Vx9Q;FP!f6wb5AL3Dp1Q9_b5K-M>5ubT-xvl+~?d^1JC zexXukoHF|OaYk{baTambaYE}>4aSMJVKovbTC{tK^pK`If&S0XokMpz-EYzT0^OB# zN6^*czeoQ;X#=i^sP12-|C-=n_YiP}>cx-6?fxIqE4sfx_d9f#wYdZ7pU~z`r++2g z&(fVk_dUAv#C>sD?*3Z3e#KyUtqU5ZmVdf=tZS5OtZRa6vTK@arfZICzH5<dscVI6 zwQHSgqic(6yK9$guj_#8u<MxXr0b09yz7$ds_Ta9w(Fkjq3en3Iksfl-ClRtopk5j zRd<(rkb9_mgnP7moO_~sihH_ymV2&yfqSugnR}&sjeEU&lY6UshkLhspZlQui2Jzv zl>4mvg8Q=jn){~vj{Cm*k^8Cpg~#l1di<WKC+#VE>Yf3f!Jc8Bk)AQ0@t#SZsh%00 z*`9fxg`Opz<(^fZwVn;0&7N(Zot{0O{hmXfqn;C<)1Gsli=Hc<>z-SlyPgN0$DU^p zpRHcEH|ULfv);0|;T`B5;vMcC<sIvt;GOK9=AG%C<DKta<X!4r;a%-r=iTVt;@$4u z<=yK&;63a;<~`{><2~=a<h|;>;l1s>=Y8mX;(d<6$L{m`!oH+0@2mQ{e1m*LeItCM zedBx+eN%kXeY1RXeG7bxean0+eQSK{eVcq+eLH-+efxX|eMfx9eW!e9eHVO}eb;<9 zeRq8KeUE%keJ}iGztivcNBwDk(O>ru@DKJ6^N;k8@sIaU@=x{8@Xz+o^Dp!-@h|tU z@~`!8@Nf2S^Y8TU@$dH^@*nk|@Spad^I!B|@n84f^56A8@IUrH!*ZH6;0^=>@jy0E z4m1J-149DC1ET_C0}}$11JeRC19JlN1B(Jn11kcn1M31C16u;y1G@ry0|x?!1IGd< z17`x~1D66<12+P<1NQ<C15X0agT|me=naO0$zVQM4R!?w1&0Pl1V;zQ1t$il1g8gQ z1?L7A1Q!RF1y=^w1lI>Q1-Axw1a}Ab1rG*~1dj(#1<wXA1TP1#1#brL1n&nQ1)m0A zgv=pl$RCP^(xGCg9vToD92yoH85$EBADR@J8k!NB9hw(f7+Mlq9$FPz8`==s9NHGz z8QK%tA378|8afd=9Xc1f7`hU=9=a8}8+s6W9C`*?#~OBrgW-5M8!m?%;ep{H;o;#? z;j!Tf;mP4?;hEt%;rZc3;icgf;nm@F;f>)f;qBpF;l1Gl;ltr$;gjJr;q&23;j7^r z;oISR;fLWT;pY)!#2)cR!jWVoAE`#VB7-7BBO@ZCBjX|yBU2*NBeNoNBMTynBg-Ny zBWoh-Bby>yBRe9yBl{u;BS#{~Bc~!~BNrl<BiAA~BX=VABab3aBQK)ns59!1Mx*Iy zF<Orfhz^bpi;j$riH?s>icXErh|Z4Ai!O{Vi7t<>imr`rh;EK<i|&l>iSCaciXM%g zh@Os~i(ZUgiC&N1ir$Srh(3-!19fAKxnsdtJeG}>V~yCr*pS%p*r?dp*o4^R*tFQp z*qqq>*rM3d*oxTd*t*!p*p}G#*sj>#*n!yL*s<8j*qPY**rnLj*p1lj*uB`p*pt}v zxG`>zd*k7FGM<lD<6ZGV@uBe%@zL>d@rm&%@#*nd@wxE@@x}3F@s;s4@%8ad@vZS4 z@!j!#@q_Ur@#FDR@w4#@@yqdR@tg5G@%!;d@u%?@33I}k@F${)bfTE3Ck7-2Cx#_P zCdMSjCnhDPCT1jNC*~y<CYB_YCsrlaCN?BCC$=SaCiW!uCk`c!CQc+yC(b1<Caxr| zCvGL~CLSanC!T?>vL@ZhU^1S}Cd<i2a$s^ua(Hr7a%^%!a&mH7a%OT)a(;4Aa%pl! za&>ZDa$|B!a(i-Da&PiL@^JE4@?`Q%@_h1A@@n!%@^<oG@?r8x@_EXbvZuVMa4MO~ zr>d#0)S%SR)QHsR)VS2d)Rffp)U4Fp)PmIF)Uwpd)SA@#)TY$d)Q;5d)V|cg)RENj z)Tz|j)P>aL)V0*j)ScA*)T7kX)Qhw^?M(aA(R4apOxM!`(u32((j(Jj(&N*U(o@qj z(zDa^(hJi|(#zAU(reQj(wo!U(mT_8()-hg(nr%L(x=ns(ihWL($~|s(s$Dj(vQ>6 zKu}sU?o2Qf&tx;@Od~TeGbA%SGb%GSGa)lMGc7YSGbb}YvnaDPvm&!Pvo5nSvn8`V zvn#VVb0Bj#b1ZW*b0%{>b18E*b0c#*b1(BS^Ca^;Ys}iS-fTFV%;vMzY*%(rc4&4) zc64@Jc4Br)c6xSJc5Ze-c5!xDc4c-=c71kJc58M=c6WAP_F(o%_IUPG_H6b-_Hy=G z_Gb1@_I~zJ_G$J-&YW}R{JCf@oh#<*xdFMsxna4HxiPu%xk<UHxf!|Hxp}#Txh1*f zxmCHfxed9^xox?fxjni4xkI_5xf8k5xpTRTxhuKrxm&rrxd*w&xo3Gp-kNvkgZX$q zn=j`Z`GNT%`QiCd`LX#4`N{cd`I-4S`T6-p`K9?4`PKP#`HlH4`R(~#`MvoA`NR2R z`IGrG`SbZp`K$RG`P=z>`G@%@`R4^=!Cvqd!i8iZU#J$k3WEwm3nL1n3*!nC3sVZy z3$qGy3kwR13(E>C3u_AN3!4gC3p)zC3;PNO3r7ma3#STa3l|EP3)c!a3wH|l3y%s< z3onZ1qO<5PMvLiUu~;t-C=M<TD~>FVDUL5rDo!oVD9$d<D=sW9DK0OrDy}VVC~hup zEAA}rDef;GDjqGKD4s5!D_$&KDPAw$D&8$VC_XMegSw)%<SqqE@lv)_E;UL6OG8S- zOQT9-OA|_yOVdg-OLI!|ON&ZNODjsNOY2G-OIu3YOS?*YO9x7aOUFtlOJ_>wOP5Ml zOE*flOZQ3-OHWGA%f_<3>@A1O$#TA2Eq9d%m4}u`lt-7xl_!>`l&6<xmFJchloywm zl~<P6l-HLxmA966ly{f+l@FGWl#iEBmCu$hlrNXBm2Z~sl<$`xm7kVhRLm7;#b1e5 z(v@PRUKvmsTp3mwSs7CqUzt>yTA5LqU71%|SXok8URhOHTiH<AT-jFHS=m$BUpZ7c zS~*cUT{%~|Sh-TUUb$7dTX|4<TzQ7=r`D>w8mz{v*=o7ks1B?SsSdA>s*bHrs7|g< ztIn*>sm`x1sxGarsIIQAt8T1rscx_Cs_v~Gs2;8!tDdZ$sh+Q1s$Q+$sNSyLt3Iqg zsXnh6YxbJA7Oo|0`C7HsRU1?rS{qRtT^m=MSesItUYk{$TU$_DTw7LKSzA+EU)xmM zTH8_EUE5bXSUXZXUOQDgTf0!ZT)S4gS-VraUwc%0T6<A9*PV5LJz7uKi}iYaKz(q1 zSbb!DOnrQPQhjQDMtydDUVUMGNqu>JRef!JLw$37TYYDJPkn#=Q2l8AMEx{aj*rgB zb>^TxC396ZiE_$c3%dm$=F1<7uVY$RFYR9f`XX~4uM?^#rFLdbwX${QMJMsTztsPI z4PR%dXb+3!4Lq-E;}sR>{z{K0T+Xz=)_=|)i6@-JoM-9e{7HsR)(O?)pAj8Tr^7KS zSd~HOOy)eZCugi`;eC*#2<^<Ae3xnU>gsKV>hO~vz%%5TR`zN)OVTXQhhZ<*lQ+}j zCp$BNKVn+3prD|ABpl<v<CPD?d>SMs<m6Y%+$?!PWI<K$9@_hfv`~Xq<~MlXH`=(q z&U~FDR))@uoR%|L)8@UjRGQnFSGmSAALU)zQ_-*9U?|Hh7kWPzxIR9wT>q)r+Sizt zt<X1T!+i+_H}T3Hn=$p6PYG5A?cM(0^#4HWS$&#s8g?_ouRW2Cp^R@Niy&TvcIFA! zvdq6NF}3*Z?gubqote+ueBRry=G+_?-syi0=tGA7Mt`M!nYMGNtXs*im-{m9q2AZq zV;aehv|nlWD{Zv;g>L!MsQjAl%XPXXXp26m@}WXMX~GkANQ)=x8`|V2FR-5VR`EKA z{#fqY&l;aL(sf<|)ES+%no%qGM0(@VEGe^kSL(2zb*s*yUt-RBX+J1bYEm!lyX<j& zLYw2!yDam}o_5#9qYo82i)GeNE2ZiaiaSaDq<P<z__ZtTuHG77b2Tl-b&bDyHSLEA zjT?W0JL;v48|C|^`l07KgvLy@{zA3qQpboY@=t%ytBsPGK7CLd2eb0LeOCaRt6H5y zbMm~pY4ujbv~lojtY^J-tIna@SkHQCx5-MJ-kO(sQ(6If#{JjTYpe~ub;-`54c3NU z+6M2dABr-AJD0b&?|P`t_^Y&$ZXnCtXQca3p>MLxdTHO}nr5F+dC^c#Kkw@kzjmeF z#Rw};)F;%aNkH%PzZUbdm&qzmpPuqE?ZSTVsLdyJ`d~AyjxI#=z8zQ6)#r&SdaM5# z)<#IDHl`BI^wMV83VLZjZwjC$_0!6ZXuY%_bl?BpA?;|ExsNQVwX)KgT{lBJk90a| zUyl1&FH(JH1sYyuxK7tcB6yir>PjzdPS(5o!7Gm4N=KWeiG&)8>fKjwHqz1!kb3Tu zwpmy2vYz!M>ym~l{mUBaT@(6(`dQOTUFoNly3&zxl*R^p_JxdS^6TZQl4*E{w7<dU z{dGyzS3k$F!Sn~XPJG6GkXJM%I_vi6YFV`AX8q6HTH}#COW!f2l~z`z`_34(v|G6< zt(R6$XRNb4*t##;NcX<K$8lfhzQ(V}+|2luS6c_xO`WLW^Xv<KpNOrg9Bd;UT{TFl zGSAV`8&Mi#^Nanz8%^oBrW3l07^}nQ7*?BP<yuE`pveUdkevH+K~1fLZ}GmXUe!A2 z%p-NySolb3|B&-%*+(rpW5QppkSo#%aMzKA_@3rxnMd#nLm@ASM4%@xyvgy1{Yav} z%u`FNabN$s|5j+q&aBCP(sq_p1{nqGI^S2X%$-??FUg!iR}y)R<AUA{N=Hu7p6&zq zjc08w!rE)E6V+L3=u>PX9j?#tKc$WI*bk-ggg@VZ8#S4eb^V8`PqF{%-S>gCk?wup zV43@Bz-rI_4=i(EZ8V0eH+WzDw1OLYX*K3^;Hz><v$n|vDNFyMA9!DRUcLKjoN8Qh z?yI+{u}sRq`?j%6TB($e&+EZ|x@qxkFX?@K)9P@!&F3X|ZRlp&zaYEyIbwyz^lEd4 znGBT#vTp*o(VX*ZGESd)yVBCmVn5PLJCOZIKdsC+^wR1{6Rk3XN779@P$XQXcV8W5 zyZO92Twn8ff2OojsVL7ewyz#5zK(OV-<FtK{B~Dmm{yO42r#WrCvBP<?0RX7?4f-a z_2%90u!r{H7`0GUq%@(I_9xT`)k|CA6X~VBLsZd8YuL@X%5I(K)%t$9e>5{_Jn-N3 zAKF|KaY?9N|26zCrtRAYKf+wpu!~QmHwzlYde+ga$1L{~D6O7E@M)&ilf3?%Y5S~e zG~1VHbyx9}q}5&5IKuntz3taIW7Jzg7{at4*J<COOsl8S{RY$OjT$fbPU@kz&*YbO zm;3h9`hO%j>mu-b>_>Xf`(@6c^m_M4OFI#z)w}OHGADZX?aXcJaWb7`4cW_9fh`^b z_5;qq{;~f6>otR67vbyJiTVx9wkN^r=zE4)*hzZQFc&(aPq5qVDZcRY4SW^yiQ$3R z^ME$!|JOVHC)7K|UQMxNI~u$8%#hyv2C+V;4DZXVr2A0!FTs6J5U%^*aGqi|{9E;T zHC259aZF903GLh36`DlMK6<ojg2Mhw$RKV*-Z08A7CVq9W4G~4!yLnW!y>~{!wP&6 zbsfHbx&>15E__qt0N#sZcqh(aFYzVp6~2MJ!1rK-;)&ro?)xK-Lh=m{=oC{vZe5W% z;5m*J=O{;>WB)!!hWnhbq}@v;ZPT47ak@Xt>;F>n>7KzW-<DL}zbN^4uadOg6D7~? z?+N$N{fjbwc7IoTfA@0f<xO{@j9}fGJ43h=q{XbH`*XZLS7t`Y;TYa#Cu(~%>g<<s zC_MinT>A|iCiQ9c&+*Nt&#2G9Ug&2PzH_900b0i)<ByG(3=!jH<2CF@)q2AeXkq`@ zcpWvGL{9T?F2uP6=W?8@aIVF<0q16%+i>p0xd-QdoFeB6+Md998s|Bj7ja&}c^&61 voOf|P!1)*_5E9dnmX5WiZ~aj;t^e`$r<?Pn^Y85XG0JPWG;8)>wf_De*XxgE literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSans-Bold.ttf b/res/fonts/DejaVuSans-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..66027ed46efce402906354f43b5061c5875cd7d4 GIT binary patch literal 704128 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%0Dw1`3(MR zE#G?Hx1oITrsn^s?;m-y%Ktm_e=ObK=VST!eCoU9(N-!idmK&8-{(_5Qm@MYJM;JX z1pa*2RT2-ynoyo6jDLNO=@0e!#8T$}r0*a3SLh%A(EOiD_m^p$(YV_?2R?uD{hf!S zPx^e^hhzQlXX}xAuJ1hTt_%DZTKs1M|C=;EaxK?0!kl$vy-M3Z`bAI=yX>rHdp)bE z{*lSaUCJl9%g$_e@O?Nh!<tmc$3rgTLul+q_tx6{EL{0%>Kpv<biNi2zXQW1uX1&b zayE!w=a;kcy&C1@M4(^J%J+hDnom_Zuha9hE@ugvG4Iy$xwl5I3+iW)=UL7<?)Ai{ zoW8&JR^UJ1{C#<SKIK(>v>mJX#4dnOedm35V@*E3f8;3hhY$KSFZKJ(GdNSjaiqql zhKF`JlFh3jdWQJ8b`3ej+LLJ{6S=0%yrzwhbvSv{x=n|e+sSFwp<Uh?dU$-u%1DlL zeAj7pBaMcZ-<^CVv%{#!^O4CFQ*SsXan!Z$pl^?BblTt}lb@a1<*sB|@~@Svlds*! zl6jxIFS}yom_A3f9h%$l!ul`taO$*eebezykL1{Hr#BqdXyft8eHRQ*$<aN!AAN>D ze~$l)vL0&|4TrFGlc9DA-G;oy(!_iB#)gd|NA@^aVVqX4{>_mNM;(_rJ@ddkPf5;S zeV;vhbZjNokYBqnzr$CE=6X}ztU(9MGpvAaU9S8!d7s+kh6V>_9f;eah4$yvy2Q_H z+_koTa!jmWRr{_o|5tqf$fhd)r_KM>bbpzX+8)2t{9pF_TeP=#PSD?0#cpJr`h4m- zKl646{!g2~&nNJgIhCtx@M#e0EBb$Wc^WuB3;VyDUY@|;mn(iQ`SL`j|JRVq{MlJh z|8%*`zeBpe>W#$D()iR1%ah#Yu1e!mFDwuKPp9z-{QdGIPOT~r<0!TwtRM6D%Tr$l zRQW$`{(gA^|KLpBQuuI|PRF&^HJ<SKL@tS|KWFLG-x(PCbEZ!Hcc%OMe2l-(r@p%` z%r`R9{Cz(4<;BoHnq&SxpTJ+{RD2ZgW$o_sX%Km^@;xn2vTo!O^Y{5QkVnJkV>HM7 zeLf9jhuIysRy-d+H`<VLo<cd%o6+7C&#N4f2P3x_zXz(%%qJf}A2kl-;RL-O&YAS! zOudD(&uH~v;c{!mqc!*+6M3-W(Hi{q%)6%d&%7VN-_E=T;he>8->epY^zFHJmRrlu z^C)tLUv4bwpSz!^o~(I>9?LkVhCloy!fS#Oxf5Gf&pEX0*C29F?Cv<H<su1QMU%{| z-MpTtFZ!LluVQZ(PC>M8Y^&r>%Wh7jTXG@R<Y~_G<Q0|Ax;HpulS@>;L}WJSuv)_N z7|uao*zfpbntKs9c9dk@+hAT@x#!rsTh;wt<Atqew~2WfPV=LhwiJF1x<N*yX&X*; z@6s0{8}_#M33*Fw&%V7`$-igq`-;~KoAu@`OWx(vFPHkCQt#PNO<z`ad6)Tgr~7eO z;?C#JwP#N3*Xz_#!-xFo>YHB5-ItO<SM=+DymM`Gfpcy2{ZoeAI<`-@+>_54-2bd( z+3_8p-#lh<PM^~Tp7^XY7X9RxeP^S1qf2>=OhX<=Wg2mR;qv_huWXS0t+ZrwgTL1c zzIQ|S`x`4BZSZo&)x_06O<^=XG0FOWR_pI?{8!foF9-e>sN~2F?#q13lD`Ohv5^;O zp_RPNcY-_{TQ7He_sX(_D`&;_%Po;9@@#aqtOF}}+piPh??y9aVsxlnkNbKAjZXZl zz~^8&m<4jdQgB;vKNI)o(Qfh?xI=k_a97A|3Vvto6v?EaHhCY)xY!EZn|#FX<^FNb zneSJmX2-hWPrUedvPu18$l-n9yRlA$JuCNl)8KU*e(+4}l+$7-NC)qw)L!pp$yHgj z%(!<`hF7&B!4=*($?-NyiM!d{TyLV}L~kM8Mr3(hN+O#TsZHKc|2i>T)~G+{bS<66 zi+)4;XOVNKv><Gm*Hc=?$I5wLCuzy`QSNHx#Uj*R$5mJBAgp`p=TR`zYbF=q9;I<8 zSAFnYLYx+EKJ|HmEY&nx_vS|!;g6f&9kj_EGSU@iqW3Ahn#mp7KHSIfzlHSENWV34 zo{SAJUhCfKUF*IU64<`l7GXPtF743NZwp51emRr8TZiqSZBYa3k@00Y(b_`WBY?HV z=d{&U>QC$aAV^##Io1}mgSJHo+ThKgEk46-YxN(tgSJH)v|hL$WNo4C5rVeRw$?UL zxi$aVuF7utAHuahN}H?v)<?9zYB_(z)&8vU59!jUy~k63kH1KL4V9JDaVzAsy2fqC zeP`ST)&|-qbzI<j`$+doy-&^7ern@{zN-CI$BV`B-Fx*u`j+qSPQ`7TS`qmn^}e>F z_UYPg`~$fbzY+`6@kSlnxJz?0hRe9bR{R-*It~K&-tb<>rH+k5x{O&HH?>^tGum!H z)z$HCV@}7rwsSD<ZR|1r)7@ZvH;T<nO*P#^pTHeL`<!ZhKWKYxV=RoRvHCK{+WL0C zontS_c*g21@21r3=q;(cO;_cJm&lcpDDQDak6~P?zM>5xpGc;=DfOl5jo9O<*<oGA zDrExod1c~Z85bW&{hgVbN*-2!)Kz!ttflrT_vfiCRzIuc*sz{rkIB>USwvg(jOEc^ zMyK}1`XF;4CqGL*7Yy@S$w1_uMp>6v-OoeMkdO8s?`QBIDVbcqSeN&8>I{@knO8|} zqA_~*ZNlkS86~nQW3p^YOr~tXm?3_Qe&ts6g`e0~I!;0!p{x2v$NT}~!s;*eZB-s& z|3fxp8linXz06_y%!{ZG<f!V)L7A)aK`*Ip2=fo!+T)k;w3a;ng{&v*xI3U6et*9y z?B})nX;ps@`*o4ba(Bzsez{U#=(vjg4SjGky8mbNtFY~Y@`mL(Am6Ya0@wOE{XO~* z_yPAwX`ywKSWi2G*eR(!-iN8D-OZ_QyrWW;-n3Majz=92u`^|e`=t!0@7JaLU92tw zJyxYpK9Mo8VZ`kub)(;;-tzNHeUI*3W@AG2DNvnhdUF$Thx5D(bay-=H=}DNxw$ea zRw$Fa_hgdkDUGAgSP$9TOE>Qb;OlAAH}2((r6O6Qt~-M~?xD|amPcbxO9^9Xc>tcp z=)4@lR{``=T<da*jE`N(vu_Y-f!7UQ=q9knEyWLbZP7_U>w?vpO^oBex^EK}j5i%? zaq?!|EcbGG=7-O8(=Afq&8F-#Kr0ymrn!u(bXdD(kq`2Ezo1NaYWb5Zy!XjtFnp0e zjGu9a<YqhtPLtgD%hDp&p1iM@7Kt9xA@&#Io<^FDauUz~lf0j&E{F|IT@ZapCMle) zsa=sG>NG&~d^y_U4wtOR&t)05-7@Tfoj~n^WaKO1ogA=)ehsh_>iCey)usS<DzN|F z$HmTYCgNUEeJ@w2AMbKqZV33{*BrEp4wLI6%j9~}tmFPB+)r_b<E{W(Bg~O;_e2Ls zD`zV*)Rq3x3#Ex)7PD*Awn@i&z4y*SR~au^AySbmQh7CQAz%tn@hrfitJsMD09-8F zO4imZJ_gSL;#C&oegawn;#u5X_<!UhrRhSx-{D6-$?jkg*Ow9YCD_9?r-sz6SPEFl ztjdp7w@Oy{D`Q|d(EPMq*8nZ2BFMK!nJITU_IpKNk$+t%vVR*cHhSd-{77HPKBe*a zp6fqzt#WEPuftuAOZipC$|rHlaG76KXk5-{R%l&?7=~Xv67yF%8Gp)B+0egEX<gj_ zW(Cl2P|0~Ebt}eu^Qiwq#@>nO)^*qw^eu(yv&HmJah946z@~Dq#)ih;kKW~6=F)bt z(bAp1_j;@}^=hI~>U}pa^=7<P>b>~esTblMQqM+@m6KKX*s~ZLrAiN>6P3S?C4FA$ zGgZUFIe=GRUeGWr19Jh>ndn>9QRa{RAKM{Qxb8{%b4+*LCSz0|>2sKTmwMMoF?wT+ z>M-<1ORh(lzS_vRCXVV9;w|$Y<2p-D^VG&B9%F2ThM^mWhx#wpmvP=gPEek)v(OQp z<kZ+mDU9ti9vy<bax5G_vk|(>Wbb^rmha*mAAc|Ps=BJXNOO|+A9B6Qq4`wVrReAA ze_%%}m0x=2%BuKCxzTgw#KdOm;SVw+w%WHd`F8#$(jV{rSuXWXl`CQwVQ*X^V`Hv` zKf+w8x4S`lY93+vO)qPH9pzVE2YJX-TV3k~dr0dX-8G;4{@#3mpSk+H0P#5WPTQG3 zHlMZ^I8&b^8QF40My4Mp_AA;@+w=tKYi`i)VcW-B$t}t+<0UzkI=|E6XnalgkX#YA zeT{b4ve53zGyV_ifp%B<V>ih|8J}R&EGF*)=06wU=a(@*V=UL5BwyzM$dN<ambfRO zYp2T;eRh%0v7CVz>(RFjlW=#-4V0rqb-A^Py5Y0$K}o3H8UI>tuzBBCgxx9yiQ5=6 z@4z=I9pl;fH6WkOGAsT(*KOsD@Hy!{DIGO`8$&#kc-HCjuC2C7{3{t5UrGFrq@$<h z&@$<Bi2SYHwJ-gVvVJNZ6FPpLk`l_1MPKNa`DbjmAILxGM;V`TPZ_WYucx06N!%}u z5;LVy7>=9i&9QrPGrGvA#0berETmpPmz+AMvsHZ+e%jy2x2j+E(%&E`XJx43ar6c& zJ&J!VkLG-TV>IW7M0_>nV$MPRcX9WKqjPubTa;Jj_AZt_ZVr84`_oA5PTF7FK>L8U zgN+qr*M6XNfZGMPK40tU8e2l$u7v+|>f;UEq?BZKLC&_+!vl=}4``FXrq_PrYFnkx z6R1mDD`38!_zP<Xtf^?<(e|t1q7Qf`H;Da$IDxDEJS?k~F_SzOOOMzMa)Rk4+NetQ zfM?=w^he67ZEU(OZ5|rhsa5u$&Nb9-4%{%Ws(Qg5_OL-LFZxB58?<*?yM}rsU;Ceq z741U@xIr0pENi>yn6Z8vwvVo<P)}if(VlbM4`gJ<IWi}HoQzEDlNaK-^1IkFdBM9| zewXnN>5*t7C#YSXXhHd&Vyw1ceBHr#oj^M<k5YZBV_U~p=J|3(;%>PiQAEDXRTHZu zpLA!K9N3HDJTL4AnQe(bgLGkghy5&19%eo8VQ;7Ozy>?fuKz4|BJ;!8<`2jF1YsA; z!|rtMe=iTmE|gonCuD)wT{674iMv7CdCTP_?5~GCT}R=G?5)9lm;38vNbGCE*U2;s zf0ur#@$W&;!jtFaG<OL+*O2!-##3`_|950$<Ux5WvPq^!rgI9Qk~O%z)Hl)Jvo7_F z42kE-Z@o6Mm^_Dg597AszCAX2p<OSI)eXYh$>PW_WO4i>?wb?09r5sURaRWm-Ku_( z8L4NzcBz8s9@eEa%~w1-$pgD{BxPKzaTM{J{q!E~7kv}HdVg|iw)>roWPW)DbA#VT zK9*M~?^sHFB@2xwf#v|a#qP1UoKL{j;8u3qu<{go9l2KH=-QRuGhT=r!$xwB((CAc zS*HH9Q;GXA&&m6+AJ(H+Zj+6XXJljaRR7w$Uj7)lOzv`v3BL=xjsI_DqxYiZSiEK2 zPnJJ=!*Ivpe>S*4nt8qDY;TWjbYEu-HAH{jBu%`*+|Pnn2e~Uc8{P9L7@n$7#2ZOr z##vH`y|Nuc>HBCm*{<tlZZnyOE`EnGyU6`lO2_V!_$893V>pp1dF~(ODs>fJsXP$E zZ6Pxai&Kxdpbp`R%x8ThE|NJ4%Jm0DWK(Ky#sJBScaZDgKPUE2!ak6DV!Py4%|r9n zd=->$_aU$ze^xt1-|NP%bWYQF*kUiapE%EeW8F_!m-Mj^HxCQ|>aREx6l(vZ9`0~+ z<x-VP%LK2Dk>N5vl=V<<DF4CS=p32(W6-)vhc~6>eR^Hiu1~E;t;2)C>J>Q>r%?Z$ zX)j!@=MZ{-Flal}0PUe|l8*T8v=wcyZIq6%z0|cfJg^P4ElvlIfvPq@H|qNOZ1CVg zupK|e9PNYdD8|GHTW@Y@_6g4&cMCdIpFi1zUCTYdRxI&u$M&7gvkv|4)<c&sAszA1 zjV)P=^5d)~4Pol%E@Vt;x&V5wpiePBk=yALx8O3rk+c1Kb)B2Ieop%j*cq0Ix%OVl zd|PY?JS#vFUbC@Nzs8RK4|Hl%^w~;m*5zP-YG-V=bn@Pj0p9C!p&~vC+xP*V%YT=} zhTrr2CrzxQT*bV3n73ZeCj8n&KXlwnG9mUexhg(`eDdUc=2p+6V+Ok)R~*kZbEb4u zEW~!{rE$RB%=s^JTgfA_PvjA|b!t6p2wl7esZU~!^xQ|qABa;99>(U`rSb7QKGqp~ zmG9*8-0K&kT;49`6(IH^<wai7-p84*>6u^1NCkGvDD3l#uww?s*2*w<FE(*I<cVYZ z43?{-%Ou17RxXOM{u^(=yd}kR{w?D6lcszLqGNmjbCvJGcY*)kWuW(>^zky;5BOew z<_R)<OW56VIqQvA!heKYA=&tk@OIGdTcsUqAtR`p0l1CnFa5nQ<P>+3jCJ$Ce#*EO zcQVKa<C)Ja!_}}Gv8NZ}-ebs%VPA*oV)K1JZxQa(k{x>;_ZQf38b{Mkz}CHov9O<O zO+Qfz+&k?$&mAgVjn548AM0KpxPKu1POjeqLD>kqIyz6rMix+KI*&+0{50%`nkeDE zByk*eNF(gGT5iTE*m1{#z}2*NjSU&Pnx5zGCO2DdiH?(ghK^jPfqLo}eU|+*;-&j% zJi)Vfk7Q<SWIi(5xBF_8x0%e39|X0_8QurwoL|FjEB-yM@^Tl;EzT~+OWGccT^Gsx zSWQgfeoA5rb#oP{?IKI!dYPX{cYjWNy${^z2XYI~f=z}l#BIYo>Kn%6H`qnh(EAYP zpXf_F?T}%*-i&MO&gzE#p<6p#@7)M%d?0>1>2D`(;Ql-L2K>YPLU&l0@4>>ue7&gj z0-MsH_aV$bUXS_6Thc4`1#Tq>T=TD#UZETMr@PUa$Tx=mg&Y4IJ^ndzhL}RyY7FCg zSO)X;jQ#Z2`*C-2AGjLETEQ*Re=)bl{YkvAXO&lGf1g+A!gmvEmAyhY^bcL*Pv66S z9tJk0LGMGDf4rPFdjy#_;eH81H}ntP&_B(M{u6l~1-S7s@CcC66uHw;LU|v+ua;Yf zK3*qRh8@af9p;u;cgAUV+N>ISAHw_-G5Ts8z0#cWf6sO3hW?=&`lq?kZz(^z!)?OY zIh(X+)5fpTuCKx?fX$OXpdNh;!!>BW@e&!PJanw1OU9=oJ`o+@qXf4kV>I=EF2fE! zP#=W)fi-0GfWp@Yzo1NvZ|#He*Qw*zDW4C$uDW+=1D$uO9Q46Mf;LX)W9jQ|lv_e% z=E^OK@IJPk`;$p?V4t`Cu6-?Nk4#)e*fw@g-LzEQ6XRR~xGwrV^{rsNS<9*UWVQBD z51n0aLiN2n0z2i%)ZX}<)ZWZQYH!`!Q+w<GfS-%sF9W}ueLr_Le)wnHmfBlqKYr7y z(`M`??G4rOG;Zu7;(mxf={>@k58vQ5$Hmr)J>u_&xqs#vsb><@X1kW_8PqTHWVQ98 z`><_>(w2kSyVdn5T@PZ7(Bhv*8XqlmU)I*CZj;M+UXN$J=>&zXe>5h|XYy!#9`@yL zn9~RQ8?K&JI9{ge9)<d;-KJ?{XK>H_Jo*=jVP8x1ZJExwkm=DIe7J3;pW9QWJ0B@h z8={}%-$SOO52vfY;XL9rmW!D0PLF;JCQHn1Mx5VB`{=`*V^F*)6IpjPSFfwkjB5pc z>>Es^9232Za32Dn1HD#Pq3N0f4f}&151l<Rx>zPeCrOj&bm@iOxH#HRS}QNzJJGl` z;%M9;j;-;j4D1Ja`&mCanl{ipG|w<!Et?Ck?YJ5SzepMA7r0zUr*OR(JP5v{T!VwM z-A3NG5<VYLes?(TC~yKm4tEXiKG2mik>1LADQ*}1wt*Gk8kvX<dUj2ee};Yfnc5k; z&S`6(tXI}{!?iITC&-%nV=nFglg>P7yeMaB!o68rn_>;EmU}YyoR48o79FB%?yL*w z*@p=3P~6tGu10^a?dlp8;cIZu!fhAack<oTXK~i7b>F?V8|HIJ_YiAm;aZyMV(Kw; zSw~Jk`>-as58eJ%d%^#QXCZXWQuia(cB6iN{7i(lx9XC>4cE+m%&l6}3)c9m)<}cB z>2Qy_%B8JrpL8r|ope2#KBny*y(RU&y73bzFZ(G~{V(i?|HbaV(;scUy;lFFpWR9S zxenL*Q`pY`wi}%32+wvL(yiT&;dzc9ajV*+*4lOGA1|i9+e;(re9YmX?V(5v6PLC9 zc>ETAcV#{2IUZx(`$LKAbLL=(T_W+=Ws*qjAl-8k=L`AK#C5`%HpaqX5T8RHe9Mh* zR=I4R#yL+C%~%PKN$|Rzp9Nrl%|~i`^w`uauKVHc0~O%A=%0!6C1vYL8PAhAc}1D0 zy37R=ARav9!e?ET8*f9tH%TJnIdL;yq`VU-?`q1cdwz#O{07q8OgR@&#<9rEKF8s} znS(fXY$D?a<l`%qiN)meHfeh!-(oADwMST|VO=5Hi^#gPs{BEj!n_XGh8p%`?HJ~B zDEG(OB`n9G+@C7<!Q=?b9*?Gyx<9P<{&@lRk^OT6D_E~waj>$-uP2S}C9g;&bw644 zIB|al?$9*UX$*9texJlW86>#g$N26H&UAlBC3O#)xI@6@n&yE1p!!`A_7fd*Akit6 z)P3vN6ZAdNvk-Px;fjORQKFEz>~km9;<C?;KIw^UoTspJ5q5Bw^yXp{NQ7&LlLOwp zw(cs<{dnvE2l><WbOmuI!DA9<X%(EUu=At3ZX2HYxKG#MI6tvd&rpE-g0mFeN!QIg z#_6EoJn(Y93AY>`%Q>66?jTuKd1<-o6v|l*j^w#}v~*<6z9VZ+9n-IQHoh7iC`-ZC z`19;hxvZh<Iyzip%Tikuk>#m*=#WnMJ?9Khj@L7~dOkOCx||dH9cNSlYv*IVX0n+$ ziwwkPP5w<ykNr8pog$}E=CQ_ez0->`IUmRFkdB<)TO3>OM3DXU*uMy0FO&6J;jqH@ z@BDF&Hrs5@JFpw?kkMce7zQo`XS%)F!wL`?#QB#&at-$1B*L=6Ex^v`;{NpXfh}zI zEc2DXrktd9ufw^S!1kSF{(6Q6JCQR(7t$ZbfoyO;n5p&;Zo9henEyS9J*4NFvRQMy zS5EitO}&e&agVIihQ4vH91YF^$|E!O5%Y(8=`VzXYt#?)!^UI@v4TB?5asL?l%KBm ziEpJ-#^tQpvfrAqP9Dbw$WJ_tUkBRxOU_Kr=l=Kdcw(NMA0H(3;?3n{#`qcF2={r; zCeD?g$KI2H(X!N@_)F}YF}5?7$<OrMGhvh1II{B~@jTX8^X1~$wd^-`X5I5qS()hQ zc$sIQf5qt#%amrZ49-{;qg(Wxq@sE1+Xz2tq;{n08_oy}i?I&L`i!2xzSw(<bCc6q zYsNl6|6ds0z<TUR<bDsE=07Oo&5}p|IS0KtGIKlqa|m_yS?Vz_8-A?4#5S;>+D%S% zr|}Fvif6_V9Kv3~+V)1`O_Z~-F^=U7*!!{lto4qT$>EvoIv-S>&7K(esXG$%3hqY- zuKMY<t`(0}dqvN1Ql3qT7k!x$FG*&drjl82G|%_%@xzu&d?y|1oXH#yds*8>?R&L} zDNl*J8@qZx^ZF0bbvg%pTv}$lCN1lH#q}2a*z3h@nek_7Y4L+|^4hQ1)4fi4sT<BA z)TMmcj5o%da}Vycz}0)s-t*hHHDF_tIMN(s2I=yHbhG_?<|GI3Gu}F`HEp`9*A?V3 z63j|-KM3MA#XSl9Gr0df?r(!@(ndZdO;B#-U3IT~M^(p@E4kLZ)zz?c1Z7frO@4I= zH~H&x{e%xkuQi><r@R)IyhGW-a)kF5uP5O>h<l#z>h-~(;qnU~7GLww@&{$Ba>M-9 zg?Eq#<Abq&73YKdntjcfU|f#!?&J9c7<2O!jK_D=uNg<%Ie$A};cfQc8-b_lnX&r* zg?Fzrl>2YIh|^7VG0&WV0nSGUY>KS`#E0ht3a<aoGi^1x|0?hobz`?V-P6II&av@H zax7~{$GW%6G4a=AQ0DENZM@yTS3mOqg(5OiZdO<GI0TB+KPvLrA;J%pPW|6GNSe3t zdlNf%J9zFO;fLdQu(0>w@m_4BkHjdMtDs)i;eW9FYx8)Gc<HDeUi<zf;{Q0(+oX2g zUO`<e*2~jB0ovwOU?1$UbhwwYM+(yY4t5O>&F`;)TO|{=!Y>r~D@MTUcIMS@R3R+; zX6zInV{pfK{05Wt*9hnMi35)VV0qojcvh^J&33=u;*-YtWpHn0sWV#UD$@P_E3Oj~ z9Z1>Cj#D?|Y?*toaT<=<TH$kp@%%39#QngHJi7`gd!UniH~NKhOlYfxZfr*6wHSML zRW5bpUL-M|v1?VX=oW0dEm9P^?#Ir@jN214ddU(+oxy>7kIdlOiB-sa>~=k4UZS?O z&38VR<{Fo<w)FSgYa*g{d@Vn{_x)oMnSyMqeK-ADR%=-(W6$_+WTWOA>%bc4y)xL_ z$nO=Z{AHZ0{0VShPwn*)InsUI*-rgs`#99S`iEf}KTIFG|8BVQNJq%$|F3TC`q6Sa zGlDw7)$8=KTV4Gd{^@BCb*((ZFuPvGeF(~<ev$FMtMRmc^*(H`YB$z_wf+ATqKyws z@7>`09V|@qtM=Fa`%~ae;A|8K<GR;y9tvo`PlxNWJ`X~_+V_X@KU6%6U(P&iA3Slv zje)DzhXi{Elfg#LxNeL;TaD;Z%=6O_mZ!F>^V?9?bT>U7=N2cYhw1eJWlFD~6@&x! zL=4Ico%#qmcRcP`um<FVLIr2;)-V@Rzcq2rgekl$nV&V6nHk^9J*<u0OV|eRl!EW` zF2Yql3qeVMV%$g4?jLtQ<V;Ct`F-Hd48k;@v7DnF%Rc5BuPe`>pYiSs@3G*ocwAl1 zkm|Ma3;lo0eK2vUtO?<#i+rH2`&W64x-f9RJl@&47;NGC2V58I<@$1<@~Qvl_#KNo z5oj5H1|9|)wvMnfadmF@3D=i^C&3WV<skk8eSha{!v4s04(=Y@vv4(Ca4+vf%b3$} z4i&!{gl*#fi3oF`=!de_tKeDFN(%5Nob!E$hsH^(FXt4VQ}Yjon(@-p)V|hoT3LTi znli5Ixx?ryo#keL>vY21hD%>_JRkCR{1juorL;|kJeGKh=l(csq~2=7I`w$Ay^4D~ zZiesbwNnYM!EYGIjBUXNTJQYcZ$oDU?m7kUPt5RkJHH0~i8nkQ8kc*WPpQAU=Lgq% zKLe=k@CV!zz>}bR;O5}|im-0Df5(mDDleUrF?T~3)PT+zoVwujz+df1Ew|=#ad3Sp zuA&Q2e|2l4D}Izo76Q$qA5cCaKfP9H*s1_(zx)nN3J~V2ek#)vkO%aBbO7T+n~Vd$ zs0D1nsK>l=9f+|<_$Zj+J}!>}>P%&HmV!a>B2P!_>Q=Cf>wA4fjv*~@{s`U&Z9#8v z3Al-{QZRw*ao~49#dfhc)<3k5{Fg!Jn%bV}u3jGud+-ktggbj{#npZUoFja2j&Qxg z$;Q<-cnE0Pu<gR@DfrC?%L7cqZk+^vuFoRY)YchR%Uk%Z@Ji(^u!6W@TQ}nRB+dm- ztAmXTLibSD8a^%7k2yp?r}Lo^EjV<Tru)A={BW}WZwULpz5V{P<^SK%#)pxyYHiPH zfQ|y9YmL8;#rZylLe~+l3~-S31hbQgWAQ}#U|SmMT~NKQrE6P<N2;_|xUP{MOL;7R z<^A6Pe~s$UynihGKT{@s-fRJ(+mmY$u8~&xr-fIokLvT{Ld5}dfpptnZGD{|?2~o| zT{G~}M&}XuU8rEaJyXB`z<c)}upd@e&xLSC;w(Eev65@{%yln9&vJ!lDmZU`m9EX( z{;0lt--osLQuer}*cppK;d{6--Y<0rkxtKj&5&jK9yrgin4UFJUfzXZytLvSn2Wsx zXX!8CUB5FqJNOLm2%agIcqg;IF<gdmJ=nX7@atqS?|KdMZs1&BGxHzLy6-UWYTmCp zm;3&_d)1S;<2ieF75=0JBfWDuw|}LKNDMark=`ucIXH*Ci!l~9((4QFT)7PSFX4T> zT<<QqA$}Kj5ulvc2ABfhs{L&8wRcKmKj#eNU#Z)s?C(}kC%9qS2xmjRz0z6thvFBd zwt1tt{|wx~x-;oncbQL_@?*VO^C6D<>3)gcTiTZ?S6W##j{3)Vw>iv1_cG#9Yz93K z!?p6Tb_w{|`H;Ez>3Jd6iR`;N^m%Lu+s6!D^~VNGn=Ab9yS6iD!5LQO&71U06Q~o@ z?>y;#T({IVmmNi`XRT}P!$Ci=@t}3C`&aaD9Y>&(wFUbW+IF_@cA9L|GfviC?A4R! zoG?znYrgdX+Dp$;DRi%n@?000EAv5DZ!G->aD57x=VCW1$k)EfV&8Y+yA<Jjuo)k+ zch^fg@;>nm>~mknd$D?^xrFyPZ;4;c8TsdUXL%s+Cmw-6`)t-%7_*6il;NMePuq|E zvUhnOa-H;v^Ns-fCJC(@J);@ZcQMfstZP2^e+u@>rz;`@ndb(G&X!rxmh4#%<!mpo z@j*VkGm{zH&AWoZJDGOoly{Lc*;C{ka8BkqxcQR9I}Dk;50H~s&K@f79aXvK`S<Mc z_SbI!cxTYYdFVaP^K+)L#G5V`yZvNFJcl!V`Rr2$vZEXHTS}Sn`RuLU#@@d_o^pBr z-2AKDqokMaK~i2jZ-iW*MVrbR{e~Ier+C)ti|>T6=DaC(9P#c=eaRZ`m-MYKy`i{| z<APYH)R%nA<V)|_)R!)ZH%(1-zu+8dzVy`hwdpH*wr`m2k)ks)7fC;7qde_=EmuX_ zNRLQQ-pf8qn(O@m{)GP|f6^PDwD|CR&ixDTw*cN-92@V+^?tb;jP=f!?084+pEAF( z85iOg0WR;awc`wkriqf~YTu9VLXGqqQJ>8M|Fdw3@A6B`UYu_eT*nym@AEjjVSL<s zdH0615?)>2&Czn~0pD<cC48}EIIEG%J42Ir|K{MBjDI@ja~~kKkhyFvxStY!5a=^4 zrr%)uiu1}}v46c6;L^Sw5*_8|b(+h<I*nvmofyEa$J{u=yP=$(nWpb_dP8JTJfCmH z3}Rg6@|->&e!J}q*T&dy@oQ=OpzrGYpy|+eP(!dcQR7|I=&dq>Gs`3NJygy%j;Qe- zD(|31!}m|acTW%U-f4vQS(UH8zv}7xsgE&sc(0Q8m-C|hUPH7$=ZpS}@9iDPJ9#Jd zG|n$=^WQDaNV{jA8@#JZc&XywyXSn)OzOga$Ms;YzQ?&gcy|*we7DkF#acS}cklIm z%Xl~cy-Rh&dgI-nIq^*1zq|(-&O`SvME7r&Inh_i=Q_YUnVj9X_c9OW#(6h0ab$Hn zRPn9lFaPO3{br2*>9<ul^R-F(=sUmWmddsMeVShw=DUr8xEHAF2Ja+OR(mfw>iF*_ zt9<CmCEVLP$|_qZkLpkS?VaWHerNBcz9)r0*8l#~{i9ZY(06z1T!aq$Gku{Q?@!da zxA&yKB>ZXKvG|1dF7&<Ww0nDhns;F1vk2GodHOze+C92l->aU+x7zl)1@w(t_qE4I zT;IFy!FiToyij*@cz<e6*k5^O&q3eL3G0*R#67Wd<Q{h)yf3HU1^qJ&59>ATmtj8) z`&;OS@%i?8UaWB{&-+&T#~SlK=C`atHOAHsT<tTp{}NyD{^JJp^f2C4=lw|R@9n%Z zV2Cm=;Y{3izIULu&vx$?{QoT5GxIp7@df^4{V@1%=efC^Z@<iEKC<2Iiu)wIa*0<T z8(hzHyvBVK!oKnW@3ES%@>SR3{n_>`{#V<&|DCozXUej8$5`KI((m&vQm75hyKu9k z$MBuh;rMeNjXj!Dv!irAxB$CuDQP-lx2?uLz7ae3EBfnlo<kdXH^@KJb(x-x=bi79 zy;rckAGddn^qZ0oc)zx9mCUA}>35SR>GN6Bfn4`Q>{Dz+w?5wzdK`OUC1-K6nX49X zCX{yq+*h#~)J9J`d&U^_=XYxRW4pV}r9i(EWOHHSh4#LcpE-lNHg{H8u#L@jhiAI2 zZ}SEHmJjCz0(t)1zU5ja4`tPBlZW|=%A#epIYxNKQ0MYGcd7NQDw9p?LFYj_S5X<6 zXJRYc_p0oi)&IbEsqB20e(y=YL8afD;@eYNhpb<m#5_R1KTr$~_kG_<LA)RR4shmQ z(L4VSfbSS?|9=74^V|Q&(2sS_|H=Gn=anP(XUvcR=*81A`c>~?XN=$*tZ94N!S!zr z;#alr{XZRckTSLn%TV{tYFPrmKExlzbsuor!GP_l?+QK_xGT8kn_U%m2H@;}C2x3E zECUId&#a0sUW5qm({0D}`9!+y6xuWnUnWeCpMLGzlRS&6<{pQ?cH67<Q?U-6`l`N< zY2VbG;oRZX#Hnfbqq#l{q`PNxA42^nfI)$4?@+3|wjRZIXY|`M={8^bJVEC+b}ky* zITn1&RquhF^~Q~WHTK;Io^z~2uSEd;KF`5m-}CX)Gbh-L&8pvZ8Ko}Z`!4!kvb~$E z@8<TTt`z$1mOIt0dCm7cCb(OO57OiCe9nnyV=n{Oz6+yncwPCKUbC*C^Cf%V+2eaL z-tAli){a_6d52k{-;YV0q%LXsR*YLuU7lrpPbRiR-J1F8`SP&L`kk5hK*|7W<i&Sq zyw&)Dbe`#H{qN5ZzOYu>^fISir^ipfrXPL$W42mibL4_}@J%u7n`JiF)p>3@bbeb4 zHRd$w^P9Bm^m$DBb*=eJ)!Ze0oE_>qef*_gXP&_Pb^&cQAMlMMo6j&WPM_PPUsuHm z=IG)4C*41NOdRq$eU5&JYx@lX*2wv%e~w7I=9~bH94V4nx2|MK&*V;M@6>hBKB*PZ zzNrz=Z1XQx>a;i72ii^=NPB2QqsJIM)@aYvX#9Jn`0fqdra_fkJIPLELr0{Zg60}s zY;l$teZc5aqs12U8H=-3snbq*I_-@fuW_8tMo%)@#b{TfJv1+;mvV4=TiQN$z1!06 zv+HlwKVzoG<ZA*-?=bog4b3c1^@mo-jnI@{*AcFdLzcDBKB+m-Y@@|WogPMe8MRPn zpI*aX>1{^uF!~Q@dusG#Xb;fdIohb!TYIOK(KbfkQ<_;W1E48r2U4|%X45(yq*y63 zD(z!*pVEwfD9x-$?dDAsfp(Gx$)})M)J!L7NUL>{V<<x>Io4>q)Dc|wPu&GQ59vC| zP@|WmW^$dAS_I9tn0Xd6-)Mo+LZd}Smm7x%jjk~IkkOS!R~cPxbdB+U#Au1pwMN$) zeZuIIMxQde!RSV#Pg{958U2&d%|@TG5^goR&C2tv<yC6e&)IdET|aNvZyL9^jlOI2 zeWM>Jbs89LXtc4>BaAlFI&qFN+QR4wn!9tN(UXmyVzisl?nZlSsT`{f$0T(gGj9Jh z`mKg$e65tWZV#<UQieJLJzjd!g2&V1JE6r&>Hql9;ydLe+H?@KJ^l71>1wnWp(oLf zN{1TFF`7$hPm);{XRgtCM&}z{V059;MX48vx!6)IG5UbfrAF5neZ**q(X~d`8-2p) zlSZF1y20p1qfZ;%Wb{u)HyeG%%C^<$b}PdxMnBL{rwMg<l5>PzcQJa3QpRR`If+r( zo{`j*v3xSRYb~^wUH4A@h3h_y_mk0GTcNpVp_65<h0ZfN-{=CP3ym%^y4dIvqYoHe zYP8t+JY#&eDy3}Xi#{Y@r;A<p(Kwmq$xhHz@(AfF4QQ#ZHgda4L%VKA4R=M8DD6wC zuC%YxJoCvnT41!$XpzxkjYGRXCEXa&cR{nLhi;5$y>5q&>c%L30Xp3LbE%nb@KpbN zqXk9_jTRYQZt)*9y29u~MpqhLWpuUCXN=ocrA}+*@3d7)kL?YuNREc4G?acjT23{2 zyW7*DyFDGc)00<7chi~OX$!qp&DmX^vFoi$>Dx+GfA$d7;XRyIM%zGpBK2-)78<N4 zQojIIJ=W9oSWjwTG}k?8<DSw#`2+Nv<k!&ij1Dz=Nvb72!|gi9u16ZpP1VCc&p6~8 zEihVWw8-f4R4#EIG|nsR`XQq$jjl4fnr8=JJvIJoQk}Ve#I8&1dacp*sebrBVg66r z^;1SS7~N=jJ)Js@IGe0&f3oY%MxU{AZZ-OXad_3}2TB<u)PU1WQ#mb+wl@E^Mo&>6 zT8f&Xjed|`)Yw*Np3!`x1x5>v7D0Pc=RZKRc&7BG&h`2j+M+jguCyJapf{s$H?%)( z(HqU9bfEbRwd)*uY;SVWnE6Hvj20R#GCJ4d&oesT=mMh)jV>~}+_*hxbcNA}jIK1g z%IIpNYm7c(w8ZFIqw9@6Vf0C(PZ`}{bfeLyt+bnr{>kWOqaSD};~hz<XT3f}{dvx| zl-@jN`%522`Uq$iHPeTYuGhy<hkd9krR~hWKdJgqOG<|ty#$_ps2@$0Z?wQ@q0u6v z%Pr=EMpqbp$mmL=tBkHTy2j`uMoWyYHM-vD6Gopj`jpWPMmHM$Kq=BGZKkE77wwk5 zNHhZ49{;|kY5P+C7r35fKB`gsifYupq8hcYs7CE8s!{ujYSg~6#^OI>w8ZFIquVX? z6{8=hk7?AtrrZ0PZqKF%u9a*X_1W}5y*`GgUN*I=v>hWZ+sc-0Wy_`?_Q&TuqeG46 z(0j9~VU3w@w7_Vg(ITTNOSU~7vQ3t3lO@|^$u?QCk!3e=mK)Cpjjk~IkkOS!R~cPx zbdAwRjFuQ(YjnNQCyYL6^eLkojBYggw3T_2(LWj8Y*cG3TeQZq<pYgLjjezlVb`Z< z9LD%vlFb<Be1<(EI8Q_m?2o2Zx)pjpeRU30pCIScSGh)$&xWRCxD2xP9Yp_pfopBM zL85KP87QOLc7tTS(I<>PY4j<h8;ow`NjHcR5|gsMAeYdNJE0BH;g^utaHu{nM%bts zVdG^a*E3}#*E1!T>(S7L$dzZ$kvw~j<cZEQ^7u7Pr8>*Vvsp%-%`)<AmXXI(hW55u zMjo<1#kI~d@<eADd7`t7JkeQ39?u|+sk4kcY6fbvj69oV<T*Oa$g^2So};sjJV$34 zd5+F9^04_=Ky{XpXS0kvo?LpZvy43Kf4%-zdD<)^&t@5UHp|GvN+;B28F@C#$g^2S zp3O4yP2PNyH{ayVH+eZT0q1;^H{ayVH+l0--h7ic-{j3VdGk%)e3O^oHlxh>CU3sU zn{V>wo4olZZ@$T!Z}R4wy!j??zR8<!^5&bo`6h3^$(wKT=9|3vCU3sUn{V>wo4olZ zZ@$T!Z}R4wy!j??fyrB7@)nr91txES$y;FZ7MQ#RCU1esTVV1Qn7johZ-L2MVDc82 zyagt2fyrB7@)nr91txES$y;FZ7MQ#RCU1esTVV1Qn7johZ-L2MVDc82yagt2fyrB7 z@)nr91txES$y;FZ7MQ#RCU2q1TWInYn!JT3Z=uOsXz~`CyoDxjp~+il@)nxBe5IV$ zEHrrwP2NJ2x6tG*G<ge6-a?bN(Bv&Nc?(V6LX)@9<SjIL3r*falef_1Ei`!xP2NJ2 zx6tG*G<ge6-a?bN(Bv&Nc?(V6LX)@9<SjCJi%i}klefs^Ei!qFOx_}sx5(rzGI@(k z-XfE?$mA_Dd5cWmB9phs<SjCJi%i}klefs^Ei!qFOx_}sx5(rzGI@(k-XfE?$mA_D zd5cWmB9phs<SjCJi%i}klefs^Ei!qFOx_}sx5(tZOH{AUvN`@No8!-NbdEpEQLQ!0 z=J>N5o#W4PbdEm@eK-KBbNt_$<@{S};5x2#j{jRqs8r|pzok@Aa);U+|F<^BpNqEK zDRV9DTy&;h>nvj~wW?HS8FS&ORA(7;c@8SoS;kz^S;kz^S;ky)Bo28!CG(8uJmWdf zc+NAP^Ni;_<2lcG&NH6#jORS#InQ{`GoJH|=RD&%-+0b9p7V|8eB(Lac+NMT^Nr_x z<H;9HDAj!9Ip28BH=gs2=X~S2z<4e&o(qiU0^_;BcrGxW3ykLi<GH|iE-;=8jOPO5 zxxjcXFrEvI=R)JT(0DF1o(qlVLgTs6crG-a3ytSO<GIjyE;ODCjpst+xyX1fGM<Z! z=OTFSmPPPXs%^9go_d{UG~Z}}(L$p|MvIlgbGIyp!&a!;@QW#fQnle1QwF7K!!NNo zODxV3i?hVyEU`FCEY1TK=K+iJfW_gv-=uxO;yhq+mRg*p7H6r&S!!{XTAZa8r`W8u zVzbtY%~~rqYpvL<wPHAAOR-sN#b&J)o3&PK)><+4Mt?%pS}P_Ojj7gJF}WyJYps}E zl&ZB>Y}Q(_S!=~+treTKR&3T<u~}=yW~~*AT5H9k)>^TswN@-@trd$}YsI40S}}Hx zQnl8Kv2&EFwN{Lsqg1W6Vo__YSkzi87PZ!jMXj}BQEQDa!WmU-tyt7rD;BlZip^Rp zHfycethHjZ)`}gq){4zqD>iFwIl6AEEJvFuRXgoL^LfyG9yFg7=Ci_lR+!I2=JSyG zJY+sA&1a?gtTdlh=CjItR+-N;^v2Qh4E+#`(5|=I^)}Ph+e}w)GhMySboDmV)!R&0 zZ==UflWnG}x6xy>xz-ikZRDa<pH16LS8p?2z0Gv>HpYU+R9kBsWq_Kl-e$Ubo9XIp zrmMG^uHI(4dYkF$ZKkWYnXcYux_TS^A8w|rx0$ZqX1aQt>FRB!tGAi1-e$Ubo9XIp zrmMG^uHI(4y42(?HF----cpmd)Z{HSc}q>+Qj@pT<mF55l)u#EEj4*dO<qp)A$zIG zTWa!_n!KeZZ>h;!YVwwvyrm{@smWVv@|K#sr6zBw$y;jjmYTe!CU2?9TWa!_n!KeZ zZ>h;!YVwwvyrm{@smWVv@|KyrWhQT#$y;XfmYKX|CU2R^TW0c>nY?8tZ<)zkX7ZMq zyk#bDnaNvb@|KyrWhQT#$y;XfmYKX|CU2R^TW0c>nY?8tZ<)zkX7ZMqyk#bDnaNvb z@|KyrWhQT#Nm^!-mYJkwCTW>Tx*bi+&a^#$x7+h~yFGum+w*t3J%6{`^LM*Ff4AH7 z_eD$fqNRG#QoU%YUbIv%TB;W<)r*$uMN75AQthx*J1o@>OSQvN?XXlkEY%K6wZl@q zVyRxSRIga7S1i>lmg*Ht^@^o>#ZtXusa_*hdwGp^xelrp!fR$Byhe@bwOR<TnT7D0 zSqQJ0h46-@dc#t^VX5A*RBu?SH!Rf~mg)^l^@gSTh+eT<J|fjlsIEVML~G(hs-049 zI=tN0UCZe?PvN8MuI2Qc(NJA?EvL^+gX$_lx#{Y1)79mstIJJSm)j~qIsHoGEHSF< zuI2PArMm7~PQOw<y6#$Ts|4k??pjVSB95c$uI0AwT5jvEDJxsb%9gUSrL1fzD_hFS zma?*?tZXSOTgu9ova+SDY$+>S%F33qvZd(rPf5zkma?*?tZXSOTgu9ova+SDY$+>S z%F33~vN;jCD3$3%wS-Vst)bK&l-h$*dr)c*O6@_ZJt%7|P}W$Wtg%2@V}Y{90;Tq# z)E<-)La99{wFjm4pwyld)e=HkwT4oAP-@SKQbK$v;ayHs)e=zl^`NZWLfP$tvT_S$ z<rd1yEtHj8rzyQcDJ!>5Go9%}ndv*t=(oe6%=De+#<RKcY;HW88_(v(v$^qXZakYC z&*sLnx$$gaJX;vg7RIxM@oc55#7-++C5Ey}%$QN1Hs;gDeA<(Cx5JJbrD_j{7oe;g zL)rg=vTh7z-5AQcF_d*<DC@>h){UX88$($)hO%x9W!)Icx-pb>V<_v!P}Ys1tQ$jF zH-;`Zo~#>ly~5~2MpqhLWt4SeLRmM4t})8GG1nzV*BV`KlyzhLpEUZE(G5mfH^%>I zD;4X;T>r`FW}~bd<HNc!lyze$>&8&ljh*&bBcyd$H-@rq3}xLI%DOR>{S_#y$4+}) zJ$Bmb>ao*BtwAW3Clt#Qip2=U@`Pe}I;@D&qgWB8=2;Q7Yu4_#X6+7&H3(&05vpUM zk6MFJ*6yHKgHWtNDAphpYY>Vx2*nzNVhuvE2BA7e`q&uZ{H<N<80lkUq>oyIT(fou z#TtZS4MMR7p;&`ZtU)N&AQWp5iZuwu8iZmELa_#+Sc6ckK`7QB6l)NQH3-ETgklXs zu?C@7gHWtNC~J36*6y4>Y7IhJyMtm4I(^g{bo!_@=$s+UA|o@Yr6Zsx^84X4SwU|P z&6WXBc4MLJ#zNVRg|Zt9Wj7XjSMmpFvBo5~0h!;RXLdr_*@v<h4`pW`%FaHNo&C&j z&<RS}+0Wds`9jGTO1@C?g_19ne4*qEC0{7{Ldh3OzM1<i-wN^_&9fQJ2JMq#cat0! zL5r1=BcbHDC^ISTNSm}AljPN&>pb(xH(Fq{&}fm-yC`RpyogC&^h?bPN?uU%f|3`M zyy}SN1tqV>QPl}hdL|T|07WN2(Fss=0u-G9MJGVf2~czb6rBJ?CqU5&P;>$mod88A zK+y?MbOIEe07WN2(FsuYlA!1WD0@jz_L89NB|+Isf}#_k=maQxNl<hGl)WS<dr46C zlA!1WD0@jz_L89NB|*^%Q1+6b=maQxNl^BZpy&iBIsuAKfT9zi=!C{m)d^5^0u-G9 zMJGVf2~e~_<EUzb#!=M<ja$%H2SIrXK-r0gvJ(wuCmPC5G?blaC_B+mcA}x|L_^t$ zhR!$2PBho-L_^t$hO!e4WhWZSPBfIAXec|;P<EoB>_kJ^iH5Qh4P_@9%1$(tooFaK z(a?=X*@@<wooFaK(NK1xq3lFM*@=d-6Afi28p=*|;}(q8MNoF4p<Rr!6WzE4eYt(( z7WA_AjgQuqb0{n4P*%>NteitxIft@x4rS#W%E~#Em2)U7=TKJ8p{$%kSvhZfG<m(y z_@c(wq+V=17`m|W5NLkmq0kwPFE;;6j1Gq`Y<wv+zj2OTk1+qsjOLop<<R`bSJ?HH z=0Do#RnQrY$3XKNkA*I5e6{*Z_&1P?bS&fk3yuzz@J7uRzMc%cxuBFUaI^w5_+n*U zFbXUIJHQW|O6&+olaT;>Ic~(6ygH|XT_Sbw0{cYjy(Ut>0Fb6ZJ1`j#uR(=K7H*@u zB8|@zX#$TX%S4Xo2<`!UM4B!XX-0UnVPLz+k?=WklgLqAH>XT32y1bd$kBu!(@*5s z@t{<sWj5F=(i(nkc8Rp5%<Z~>sbDoA>^Sa^%K`9ezgwgO{5ry~BjKIk*Xaw9<JXIv z0Iw6~h;&YX9l}oq1Hw*1j*}`xPNs}qdVzH!T?y;DiO)h06gd_2fL~9_(;FVW_o2Qv zfIT98SEIx_2PhCZEf@SCa>kJ&{qXNcInP`oa@NuOBwT-y{?vQ_clbni7C_E(D9<@x zi<~<dd?a!n_vgdo{B<H1<N(Tj0r?ETZ@?Cs8oz<N0A;wa2{;vyeh}py)C%+i69DBJ zOuj?lH-zgUq#Z)OLx?++bVGXqcn+n^LpO+Ayb0_AdxcNxf}_EC;4V-hGJFPr*Kl|Z z-!5_~aV|x^oCH6i#`Or|kDx3g27<|ebR*V_Tt;~=%K`XZhTmn&Kq>e_B)2XgP40L; zJx;#*3Gpl7a|M1^3<KnO#S-D?+C)YT22;U3U_E#Td@VA14p<HL@Hx~3=nvp`)$L#* zSO>O)kH8NiW3oU;K)J@`fXRS(V^;I&Y|@RTd}DV3%5ybwuO{x*#J!rhR}=SY;$FQD zYzOeX`UjD5#2ZJval{)(ym7=EN4#<Gh+H$4&!D-0@bLq|41i4Iw}3sMLgd;epcg>C zYe{$QCP3KF>w<P5TjV+coxub!2doD0xNe`w1maB~-URL^!ein+U<H8B#9d%7pG0@T z(SUT<4+O-yp7__3esU{7{*wob+|Y!BbX~xCU=*OdH<I6tq`Q&$H@*YD7GCEDq?<yz zDWsb+9^4KVf^}dwfcI2*O#MM*T1U_i%m5{T@M(lkuM4ulFhJOJ@|sRw)3<{!L~cp| z^0}!$$OTgYWxomeZrTKPiOlE%_VN>-T;IHhPnr_`3*1|B0PZj0H<Pq8Cy3m7G*~Ed z8)dn@F2L`Oj(~W1T<3QdDahg{99=-XA_0@Z4v{-ad*?4fsmNV}MP`w1Rxhwm<X3e; zJ3zd<iGR<Lfbz`F2KfCt2aE^ri2R1Ue*=#>b4BiL0y=~K!iEAE3pR+{*9DN*eVat) zay@s2$UNfCTPHG~eCIC|S>S@HU_00YDnu6c2gASwPym*I^?))gB+f$O+z+4o$@Bh! zU@W)?5a<3~U>~2CCwx&h7zQQ)_$-3YqV-@0fX^cMEUpXM0pczu?qcFDChlV5F2R2Z z<y!I)_(9}>EI_#*K=uc6z+`Y2SOzu#;ypmTrNmoGyrsljO1!08Fb^qDac9sU<btW- z9<Tyz0=vLo;Ycz#8k`CSg0bM2U@j;DrC>MMC-S?xpdH8t!@vYk0G5FDU<cR(D)@A4 z6VMs-2f1LX$b$(m2doB^aYYxfSLC5}A}isyav9)$l?#prr-FfCEchju3ravK*bVma zN!Gfc9mobNL>?Xtc8RPZ?V1XaN64pyx+z&NvbH}U&RWtvx)6NCXPT+6$0*M_^8WoW zFc!Qf^7v$tKfwDB<hP#m>nY<C;7NEqITyhDsqG>gi2p|c<g<~mr?bEgJ~Lkci1R0S zZypRr0rGtYep@K(mfJ<PP6a=RY#Yx{p$-H~L`u7W6@0ScR6yJ^c$aks@GE;q<oUYb z9+B-$0P$ZS{tNiOcplimPxMXzABpT32F8MQfO5P{{x6q^yfP5n19phK+7GN3c`XOL zCh|IYzWz(FSLBUe;A@ec<gsfoAl{pbeIjpVg9%`h$lDzOao!>AJ97cy?+ydoMcyOb zd*u5be((Phknj8O+}#-vwtJVz2mQf%kv~)Z503<UL_V4;^6}Ata(u$|r%k{xfPA0s z6WKE!z~{4pfHHjc1E2Q(|H!)^_{gU7@#D|^H<OOg(9qD}TA{(%oh57#cCtI!O~_^= zJG+7)*`4f8$R^Wdb_GFNX`2$Hm6BH4rkb{?rj-%|p(#PCDM1hfK@b`hga%Q+&zZ@{ zu2nx({quYMzP|6xz2`pXdCs}_&Ye4VCtdQqNd6aTf2j!cduap{ky|^NNZ_Xp;wBi& z1i4<O?d5V1`!ac6ruHlGApa`^Q0vtDOCr*cj{xe?24em~%wMQKNxw-C{HQ~#$gAmK z`LERZYe?j^7EFjtrJxY)=o5LJKCd(O*V*<)GJ@#9w8)#O$N({K22cay-kcSgChs)4 zrl~WXi(-V)g?^E@(vXcJQ2#AzyhYx(hA}1bwhj8dO`o@0(St#Z@lRKqAot&VXh1J$ zpP_xm1NzO>q7wrc6?upFck&Sc<9w$X<a{>)#J@|Pcd7F(HQpuHyVLx;4{=BaIo~7Z zy&#BtuLC2P<@YSeJ6nftez%C&_tQb_`^8}F@7JRZ1DF)~dm=JWgi-!2aejV4+y|W) zj?g5Y-xNqi5t`A#KS!Q`6r{tC5XLdXzqW3}124iLUhl^kri2HPAfG{BBOgK3U=ZXm zW<@ipX%b`lPz<)4)HXXoE^`>fn$x23*+a8fw^+AWcXWd`enVVywu5yi>-?|BX#9%_ zT3jKh`2`b+NC7on)O2--wo@&dL9LzWx6>%5MT=*9Jh3~+VMeqs(*KL&q9yc+wku=Y zbwae=+C=-3fINv|)Qh&e4f5|n|2^3LWiQB?#P%fm?@7JAviWB>h)qrbZOO#%od`F4 zC<1-=Nd@EDmu>s9kN2hDzC)tf85k37zg+Z+wt#*MTEIB=w^4^K(NgH2LY)K1dB7kK zMaXerqiA1^$AoC9#TXXtAjWnuZ3lOXb_g{Nq0b?GqPcU?g8__yK8F^9^+Q?b^Nx1t z4F7C>I>@nbT(m`A5VI(R2DFLhVf-F9=;xuIhkhRVEsg{I7SncE8mM<z0JUKJhcSl3 z$#-}@$dyKXT9Rl-m>3l8NcO{#evoeoaZ89>QVeP@=|(?>!MM_cq8(+!19BZj+tKtn zx)ZbfbMA>~#-wN&t)d<42KkSp=5cLcj7tka9&fp5nenIveU_1D8GV+Me|ZhazkCp* zm=w+D2D!3QkcLK3e+B(kbYfbxmGP(pb+YN7lM1%yP&20&!=fEu59%G?j&Ageb^^Ii zApV3g%!rno0Q%+@VOF$N<Xu&c0nzeuL7vq~VEbzF=Chnn-TVpBP7GjFw1OVd*0hPn zXE)6sL=74+DB4=`uT2GGTgUcwU80@D_QGP2r;vVy^e-F|?PNEaK+aRb=m71f%!qbs zx@bk@K8={ud|*7M^@(<R3aE8PBK&9ub&IK0OpaofOVZGaZm_;S5%gc*336{B--c#T zH(;X}j4Qx;X%ZSSA=<`a(KgX%Q$N@iOaOg@elUh0x%oV$mC?Vf1N1pF74;Ys?JO_I zd)Aa_<pOGMCdcM3(JGi<MK+32gGtdUS+69%lK7Ap4WP!?=<~I5FpetfRWX+;)~krE z>cgyP)wEZqAPu<)p$<*x0CCkLAa^(pHazg65X6V67jDCt`k(XxIk%8=O9uR)=9YT2 zq8o!42lclSyVVUJ!XVGq9t`o%Zl$6QEc5wEtD#N}V>yTTb7(&|37w*ymksjO7GYSl z^I1QiI_LL`b^$pqpx*_I?Lx+LVH2ovVV7uif_$+2^#oA=>*V={ACq8w7sVqP)V!!3 z)UT&b{h(;y%msD6IU(A&i1`-F-zNUsjP2XRHKd^vqoRGsjbYI)W^5O?qEEC-QZOJ| zBYhidM7z|BCebcSL{PNL$#r=#ruc>4bdaCVV%m3^*Z1i2J#v1JT33+gijZi{smKTQ zz8^qXv@4TP1mdo2!-Qy8#er>CwTRY2jTUOP(B}tUw2Jmaw*QcNKV&Rd^YiL<(OL!6 zY3&j1M;T}a<N9%jXg?wTC!M0Tk*kdyZPfWGW8<@mb`9IEsTJ*K^!XWiel{ywdl5!O z`*|9C2x3ySU-0u6HKOr3MEfPRf7uJ#I}$*?4*GRax1$pSm=Wz)$;bwMe?{M4wV(&X zV0_mm!h>88b1nU^W!ts%{WZ&-<nE+T=Y(j#Vf$}7MEfl{f7>Y9b@aWi5ajDhMXPAP zGr>H5H!j-s%=P+F(QXKU{@o3t-53x0-bCJ;%0;_58^qo`D_RfvdfdoGt!THf&gU5I z)_4Tb2x4zbLOmu$>ot*#G|;a%fI2Yd-YyJa3^StL&bHghdwV}dMZ3dBI@tDm#`F6@ zjEmNn59;+zi}r_jq{53r(e6w_ShTxLQ1`9|(fVoYCucu7?~X$|$aVLGX!q2hS+skJ zxwi;xySE2yA7Fi;9&H#B?T;RGh;|=8@1xIsjQdY4|EW&2K@*H&P%Ss1U$j4`U>H-P z-JgwOQ15=W-`|A+jA2H!2NIA9ay(Fo5E{@1#`C}sCPW(&*hoh{f~Z3ax-ft-%!u}2 z0zAk@F={~EgTy^J1oAy3NCI&Wjbm1{hm(<pTm(=H<~!^L`G?6rO#Vj_kP0sf5kdpn z&;x2bLXAhM@hCMOO-C!b!G3vkQnbg&`xxtwvA-Xq{$tc1Nd)_DBm;ghhLJGp(TsM{ z9;fc({Ct8jJYmBF#_<HTpBNVHNfWd^Sq#SXWEVz78%;zAjUeu+IHaKn<bP^Lw5OTp z)6M9|v}n&Tj%Vu7DcYC~Kd3Xtn8#*CdzQY>Hep<}=i)*9bA4d$&nF@m#Eust4DybT ziS~jC=J7%eTG4}1(Owj!ARmnV#dgtNBF9VAoS=Pzwuy1kUiM;0v{%wV+bgr8{iO)B zO}bHsVbNYK#(-#lO$WLDO5AI-y*44*6!BA|qP<=Y+TUP&Zzh6#ZxZ|Fv}n^A@S_b= zqP@lPTfL&aP2Ahmc$<2EBj#_6iO+i4Og6eidnW-wkoVnW1Vnp}KJR%!j`vzcn~eiG zW+y~@zge`uv;OxM(LP}N2OXkI9VSKBx<uDQ7#7_~K@BEEH`CCFDbX!IYC*e$WygT% zP8;NLPKzGrLpxahLN*3Pcjbcqt|8HPN<=;A7w<tUW<=k)96h4%A|UTBO`?A>4&?Y^ zi|7f&CNQ3aanW}Tf<C*Eceh^Azm$$nP%|-K^xes^J2AWWi@t{&jiBF`Y5Q`w=t;CC zHH*Gy2FSfv5^6yIulUg?dU67Y**g&d42ixEW7&so`=+2lblU{`!k!X+zhba$fe&pU zet#SJpzi+E;d7C`|0t-F5)bmEP%ot%^=L&m1~HCV(GQ^h0gRW=QThQz2%{10=*2K5 zML#eOY4C%X1F3Z&?O#nrImrFhevE;<sVT@tF_?R56FNY?RQesnJ~_w(YVsLPKd2GZ zJZK0Lq8}_E=3rtDCeOj-IhZ^LljmUa9NdQyOo@I-9BiZ`AH*Hfj8ROB?xx*MyPN#( zUN8nXV>r}{LWIzOHuPW!6QVB^B*BAh6r%=B=s=(7ixT0656opz81!F6e-CXQ+C1d+ z(B`3SF>Q-!TTI+y=De6OEoMxM8Pj6MbeM@`q#+jp)S?-k=okHP#&mcH4PeZNlmBq? zrzId2LDYfqrHx=p^dmgTMlov8gbomM1TjYtb7UNBq$3~XIkFBd=)#2POW4lmQGH1v zYCxVP-5A8U=;`E0CnlX7>EuW!M>;vu$&pTu^Z|@vM)ac+kP7l0RfrH8z&wv;KOCKc zFd8w6Y0;1Ip$N1e(+}E@p*<rW#Ajr{k8;#wLiA&)aV$BG9RRhDOGX-~cO3POYXf<X zBhOOuEG5rU@+>9KQt~V%&(c<OV-Vw*72TT%H+-l?A85~{Ju@Fcw4)cpqAz2<%NWZt zFPQH#>Mx`IvNrT!2os_&7bL-hY!ssgP3RZhmjU|v7)uuQv#6g%{;WySS1^th&FBQN zD@HLb`pS5ufW9mJC`Ub7(Tzcji=G`s3%W3d8PRi6;YA_nlS7{z`sC0jhdw#8q930K zH+(2U7>#I0FNQHG`UxhO*9qi1p%#6j=hBu-zg+s|wu0Qb)LoSTKN!y{#<PmHJlgUY zPafmU>kxf4eOD)=22Gd{Jzr3W5E{^iY0*y%fN>O1tAH8>jK5%9^fk1vVJvHAMfWFy zdH9L(4~V|j1M08s5`A3~SYOBbI@V80fDPJC%0@A2(1Z^3VFXj67iNI56jJ|W`kb7O zd<0Pka-Q6U0ntyP{Zz(rD)~+&->Kv|l{`iCE23W!@kO+qCP+dN!srHbIz0}|>2zYw zVEY-_XvZj~MK6v=3K&zdALXb=D|#>{dPySKRzh0|<6lpn^|@%ou;?37QH*ZUc@Cim zIz%s}PH8O$MBm8vjcuZDa)Y)_^a;j;ag<T3jJcMLi+(0~&t$%5Qs=Bf^kPu-a{8Ay zfbne3MGdI6xnJ}OK?0~-;ei*#R*Z>W85TX14)v27p&8M6{-A%2ZC{%by^8oM>Q_zk z&->9{&Dg3NLH+7k(Zk7b!;b){7akUUOFU@XG9)_B3iPc-px;*doXz^#*{DS~h_4~O zCIjW@6a5^vokOm3sef)E+Au2mc}18Iz1A!G`8F8a`Lth<j~>x4B=3bIqSpmMy*hGy z-G?sGzY&KJIx#N#MZ{i2%taHT*Ar9U3);WgfI-o}#rVI)SiYT#3{d0S0n~tg-)2k= zCX(O=H5!O-m=*myO&AjW;xx31ehJ$zVOt|P8k@nKFD(RpE~VyW$;bt@FPjnla^f$i z*5&o0Hzk66-=)@fL!j>W;z8ak=yL`6u9z0RISl6Vea8EJ;=kVm)~`$leXfcFF;}&K zZC8zAR`eEXwG@KfEe#;Hh3zdvp#Kj9N$?;W#i#)_e$atFj9^OiAI8B(I`R=h1KQAo zAxwyVwSc&*y(k26R}*(NaaR*}HE~xH$1@DQH3=SMqZl=4LI?UVf+^8|6bBpW$VU)$ zXh9c-Fd_Pn1xfHA8^x$W6FSg`5lo5xlQ`H&M?Qk6LkqevfHBO7-j;w=cu|ND8qkIw z3}Hg_p9+%TK{kp}gC=yK4<ncn{Tkw~A?_ODt|9Ik;;td?8se@Y?i%8*nG*eHaj=n& zd<0R47Ia|%6QZ{h*G^o!7ljC+0d45P5QzJ^APF91qZl=4LI?UVf+^8|5eFOT$VU)$ zXh9bSFoqe?f0=+(c+muMbnvsI4Lumbgy_E#B*BAh6r%>j{;C6gpzp7yM87r;Hqw!g zAnMS9E(~A{Got@G0jcn!5Fs?71AQ35l<1vtu#t{@1W|_;bYTEvm=XOq2}p$(g$SVm zZRo)eCPe?OAPF91qZl=4LI?UVf+^9ji-V1H<RgeWw4e(E7{iR{T?t5q7ljC+0d45P z5GF+bogfL>Xhb`DF^oykujl%5eKOL(b>;d1YSD~N^kWp$qTfKx8>o2$HE*Ei4b;4W znm17M26Emof+^9v<6t8l`3Ry8E$G4k#xNuLjfwCe8^x$W6R3S7aW@ioBXKt+AQfH| zB7_DopPTwHf+^8&j)RR15O*_iHxqYr8+tH=3DJ85$za|*=hJ(bH_!U?9_HOc?H=ac zGYaN?OFU9Q&RfWN3psBg=PlH}r5D4P6#Z5c$sp&g<h(V2TC|`G0~o`M=(i=pgKUuV zHgeup2V!sQKp%!M0pfcTU?Uy$=`BVLnm~Ln@x3FM68-i#5PLhZx91~>I<%k*0~o`M z=yxO_6<!n~ga)*s2Sb<;{r7?-c#w@^)Sw9+=)(x6MDL4(jdbKAh&r^O3j-L#jOc$z zKq|Z_L<kLNLl21k1F?UY68%mAv3I5;A3@Zi1zjNaPGavQ_O3W2!2^!PT^x(MI2Ly` zqZ9q$xZTBZ>*u)jbKLqlZvDje7oi4C=s+JvK;F9<!`<Y)o4j{tqZq{AP3+yo-rWQ8 z-c8=SXGOm!9x2FxALXb=D>}hA?jimj;_o5;USj`c)VVi+W|05hY0(GBJHQwQ*fv1> zz_93lOhh``M8A*ybsuB9uU+&%F~>hOfH4iyK1koed~~7j|L%VF&ja*%z=tB#q7~hs z?gKNT4|ze2p<axL{vi1u41l-?iFt@IJVcI%h<k{*hlqP<O7w>r&%-t{5JCqgL?2EC zZNsz;H;DcSb9;ojJ<<a9^P}W@l<kjF<IyhBABzXuAFIc-=p$~>_n$UIANoH||HoTJ ze}Zv5k&ju?pR5J7o*V=*qaKu_AIy1lQuL=7*Heu3Df&Id_@1KgQ;hMc8Z@E}-59_q zrbK_*L=xQa!jB-R_jD85(St#Zf!fc6L?5HZSTANpf3{ro=cxT$SoG)VJ5HW);$A2M zZ7<eiNc5NJGtnXX%RZ3n6~^_-xafaj`(y%WpX?X?RmSovwO{SVFsSj@6cnNvjO8_c zPBD(D3DIAt_8W;{oNopYMg!VJpQg@RGortpjds!h7LP8`XIOuSI`4Ff{%!{9M1PMl zyf+~FY%Qilf4@=mzqg3~L5uJ^9AaqoV(5wJ62nNqkQinPf*8Y;7?xl{3<vFwH2B1D z7Kss;3i^G)#<Uo&NilXx5+lAC-D2!a%+4cX?847odd2vni4bPRNN5vd*93S`58`%X zc{lp*#`<pb|584PO>D=w7`rpx-5JLo)Yu~(g{VUt`Y<NOmjyPwC`KLH(1$TGk_7Zm zV(dv?6r%<WXhR=n#MqOu?P((&g$RPUJ&D`11sx!E&oRu1u~!_3-^&YP_o_n^h}&xb zBbWfOUx`DP7<+rf*rymF5Wmlu@DC(`Z8q)uC7@4?1+=G_VBe<%(2RaD4v2>z?Dqrf zF(}4Y6T$xeYCC98rB5pPQ#(QZgHjL%`}JV@9O4Db?rAX&^@F(`N}h!#GC=G?`Ys$7 zV^IM7^rWCkjKyhSUW@5}7;T5;g80K)(GTh!9*<P`z?=^6z?2wi>8Jy-X+2^bk&I@{ zh;by_j;sOgN3y=ek1o(J-GdNVPoEa!s5Fr0D8|gQKI3SXj~)=?m;})881f%8B1T3c zSkGw2uo%a(ek^&8Wt=?AGmfjpm>4{-GnO*OrITWKJ*XEWvj~hQlYYyR!1}TtF_u$f zc@VVw;*fzxP(O<tE4&C}RE(8PAb&P}vdNVb0&&NC#Nb($aY6$+F)c<ed2-p7%knC= ztzwL;sF5egMKPMhSe*veR|ha9Mt&=LL7fxpFe64mBA7z~xz~h1%o=k0nTJ0JwM_h4 z5o2AP7$*^Xa#)O0vc))+pGEB;rf5=()7X9*HBY1FX$@c>oHioH>FH<@;|yw@Q3S?N zoD6amGp>?yjEk|pR*Vg_2Z#%FiBTF9V`CA9#o!r_v1vk#AnU;}n$Zom1!u%4O9Jg> zjN{BS)SyR<vl!D^jHf&u{bFp+#*i2lCW_H6MkULYELW=KaWO)~^IXRW&4}@}3=m)C zMKc&fbw0Yq2z$^e#umo3H6FBYCFblTv|&_?8kTuJW7PDCaSq$h8584NexA$vd5rBm zme1=Iqc#<_7!u=r+Ro?a1&sLu@?4kzwqHo@3yHmuG1if{j<~uSw2JZdpcvms#-tb* z5mO%)<D0a7D_4wfXJAT<hEXxTL;S_$x;TIakn0l0en~Ov!MqyNK;Om=Oo(x*8^m79 z*e|2zW#qY>?U%QpUyLR}I!46!E_J`l_V3xqMjd)U{VQ0%q6Qrxw%H4oo7M7!7~fAu zBZkGeG6_Xs{mNc3u1W#xS2c^#!p|SD{(~_we%Oi`F|MZV>J|)%(V7mHTPMZ%Q3gVw z&W~or_%Y-E@wga234+)*V%zG$@=vqTE5<cG42tnHYW%DgjIG^|8j!c0n09LaoVK5L zi}8yDq@q=fUkbt)6{CY%9bIDlDjs#9?zKrE$F=>K730_R`!#v^Ol|zS8Pj5PCL$e$ zs6{&%Pbb@clZ*^BiSb*u{k9F{`YmI;E)L|oj`r(@#ONZn%a1-WewQM~jiX}Rl#O1H z?<TcAiCHmj_JA?oOs*b5GU(gWh)#@)aSQqR9B14@j$6vXwp+R|A;zs<)SwxIV%$dD zZAGB%HgeuJB}Q)xI>fl$264Cdit&557=5E++(o|rSuyT4#rR{f8262c@#je~hN$%r zaSyTn(6ks2CxAW=6Z0_n9v%{7I37OKV^EAol8^yn9--|KYCfXc8N;KANJk-R(T0AE zi}9F=6j1ZA5Xk=++a9Ce2suY+9|@xsw2w@R@i^^|`%n(rA0GhmPtg7Z?N5;B3GzJA z2jZWk{YftZXhJW>#Tbo8I%pql1nr~bc`5~kpzSGgJjFiXzSVe|xTmT2^spGu#32LJ zdZryCm=%NjRb$MLI&@$Nv_DJxvqfk?Hzve*E)k52`&r|;HVlgKyubr$Jx~AV$vYm8 zT#$3T3sYjez!+bk&I`>L72`!4wde%vFVW|v3>2XTJs1XkC)hT@cqV)(2K^>l(2H>~ zUXBA};QrZone8vL{bjbl+>Iejit!3DuP}yJyr2g6*v2c2<&`cBVgj>b{Dt+&HZfk! z263;3(1;H7gSfvYAPt2GqZNG^72~xy(C;<cUnB37Ta4F(m=fa+YEGxak2=tAdH~Gf zEpoo)K>%!fs{_<~Yf_B2$@w<*-p)rYTEMoq$Hd^i-S}H7$oaPr$oaP(kaI>r{h3^l zbA~?e5ckfk81Dwec&|u|S?bOXit#=*-Y*7y|DFhP{e47?56Jxibw8-VkeJ->o6?FY zF|}l{u7%N#2{CmyXww6zMYEXPFq?)CA+(?mvtpXWne;WuXT^bas{sRII#_qG?Bu7D zpK<(*^PmuQ=)?e~#r#47(#3S8f_gjUikX-q<{pgk%d~yD5u;*quWlv{i@9f;n0u9D zNX)NLfA20a?I391kFoAY{C?wN?$4N0#>6~;90wGMd7uX~Vt%zr%v9R={(yN<x0nal zh<Qkcm<w56M2yET=3;WDQS*pGkmE?&xED2-5VvGd%%c*;JUSi2Vje^7jAXDaqX@NV zMK4A%E9SAuVjkBZ=F)(eUN5M<EDo(=E_Z|R`l#XS7c+}7WD%Q1+X}|EG6jtwPj)k= z#mwmx^LXl>kcJL1bF)FNRg5Vw4h>?iW)3HgidjI8HT3h-XKkODC;7!J%*CLXC)0jP zF{Z^lH7I6LJlI~u`f0slo}K{4dqzOaV)_&}VnWOkmP<OpnAT^5IvZNW4AhIcu}REL zVKIY@p{!fXGuy>Ht4GXoVm9}RSy3luC3!;qVpb)KSxt><a)ntA4~w~FNX)Zot7#VV z+#<|~c^>_1Z4g&GfGIK0j{|Mzrz0QKI)7Ts3u?r?FeGLj`M#cp2{FGB6!RkD>&g4g zF)<s6;U3AnxE$oX#DiKf8>x4xPt42Q=oRzwE-{-%#r*EDnBN-^^9ts7#e|s6%<22H zVqR4%W(zfcK>r_fi}}NN1VP`c$#Hcvh-(dq`6IUdXj1qGJj84ZiTTqwF|QdEvz_=~ zq=?DAgZb-5F@KYWJ~4kw%<q!KyuL@w8>rchn-W33o9n@PPcE7;B<3xxV&2N~Z3*z9 z4*i%Gv)7MdF>hyFcd-0>V)}@^vrtT)$C>xop#Ht&yO*B>VKM)h2F7up7sUK26}4dd zU^d#s{Btqd!I<u+@BQR|phnCG-D2_{ZVs1=`Dm+{Bk5v387JnmrkKyshxZkeXDH^2 z8DhS~SSFgqd?iuLztA>0BIaLH#C(nMy++=tAcn+zogA-|>-8QCV@k|77}FbUe}nCB zl8fuJ$@SQLix{rC=G)z3{*Blf*54uLJIx^W-2@QJb<}*f5o~{VOw9M<LHm2Ozc(P} zEX%Xxd%ssquBGM&6JlveV(C+289}kEKCzrFVtpY+ELWUZJGsS*4~fNd4{MhivA)<X zRzj0lyN-zUrDU-Zb1^K|?rmc2(J0oJZH$YRG$7WV*<$ULCe~MI`^t=1$*J(84xJbk zYj2kK?!b^(`%rTqYV6Yn)_HDV?Q0_p^6fh<mQ9RZj&8B`i$fvW!L|jAWdY0kC!trY zlteJ@6k@qvS_cqwV5?YPtraVkn1g&`9nA6}#2rH2Lq^1Mv+T|W?QU|p2QiLWu@3cv zu`XnPEJ_#4lLodeZWimXZcK}HIBkcse-5W#8skgzgZUg0KZp4oLCg{P2%rwF=)*9k z#5$7LBR$AP2+d&ok!(Mb?Mv9cgzZb%zJ%>d*uI4AOGd>?7o;E`VYFdT_(zbD2>KmG zzoY1PR3o}T-lN%mbTYhPTt_#d8)IS}6A#*tDMB6EF@$NcGHj49gZ2#CGic}i!8+Ch z;*TW{&m*kk1k^u{_Tz{@E(Gcy*9Gb?W&2X<FZF`@OX;_i`b)>e@=~Ao7|TmOZyl)P z9Rl?;ZICaM_DtF{Y0sqoG7pGfMxJHVUoIg3axcigoc879Up^+5kNiH`eYE>%_w`~* ztSsWQ@==dIjEl7*0T~FP6+>dJG(rEB<!A%*;hBh)?L!^Nmm^4o2aGp|{yB~40`bSQ z{dnpf??nJjV0_1qiFE?wJAw8Sicp7k3}ITVTpQ%er9GGST-tMI#o`%@wTk#v<XP1( z7SCC%Jo4vxLH<12^T?k!Ce~{5ucn=6F4k(=SNCE{tbF40^HGmJjEi+*0x}RnD~7}> zFhT!<a<qZ@tRZfV4|O1)UqC)TasB|BKz;w1SZk@jmiD!@ucdu0@oT5VT1Wi4eAJ^4 z<6@nZfDDAtiXpKIP0+uP`h{(v{>j9h>_Z*McZwhd`KUz~M#VanxKoKcmAF$oF(y_~ zB8V%hM;~UzI?W66pVkKQpH9Ei>34b^$bW_)4Iz-{j482--C(`ATdWecbB|$_v|voE z^^9fxj9426#R?Q+T&z+L%E2|Jl$ec4pvFeVyOA6`Q?fQCBP>=hU97SMFt#(v#XX62 z7HwxSmhvvKHaCe?VPi_HO8SPV^R<9jRm4=0r@Bt8up6ynZHWhYx1_-j`feEzYij~n z-%89@#&dQmLSof;#X5&==M<w;taHhG9%DVP2IQ_S0`cdE#k#-*aToN7bzutXp_XUG zs`H@{Lt=eB5yX9+xqpMWZ?ubbQ3l9YUx+qLi1p1}Q1e?RX#W;{znv{sgIlccFsAQ} zh;=cs7ZZDl2aM?w>NUn8ALMNu#I#tKCWF40GR{lsb1ChYk@qs{UKT<J#>Bduv0d&( zIa)xz%csO@vO&(KI<dY>{qM5;-9`*yMy&6ppcwU_&lT|?=88_Snpyrn^}kPzD;XQl zj;t$*yK+FRtJrpx549K-tHpzI42tywa{izRjQ@w^{$T^U#Jbu>9j3%;Ww|vCMPmKP zgdhE4{Wt^NV*Ml^tzxyYt*u_HpYrpkJ}{PRQbE3-B_NC*vD)2W-tA*z{hYo(?-lD8 z#bB(zWURj=|1Uem>JS9bFV?T<^Q$&Yh;=QoJUg;}ZKDpuVs)l~I=`XqH~jpq4-FU; z>$*fx=Q{db7Xp2*YZ9xg2ITpj2`^~Bp5^PA%k|W`fqi&GE?DRO(&|n|A%dXo#uPL{ zEtBU)#&MGk`rOnZ*3IO<d0MQVW(<gR3%PG8#-v!c((krZ6ro(KUN;z9FJs{OkkvaP z*6l&i_l|VX?+)7Tm=f#v2}pw<)cAb^+R%d`ObEAKNP-91pno5++|ycp9q7Xdro{R~ z9BiZ`A3@Zi1zi}x7-qz}GXbgaq7Wf8pbb43!h~3N36kJJHi}V$CUl?=BbXAaKMpq1 zk&hti(1I=uU<@;2-JO6`cu|ND8bIvb9heg99szOpq$3-|-P43NbfFJJ7{ioU_Y!|^ z0&IBTMLW8|alLmK<6;f4eSqx)Y#+!+ABHf7DY5>T0*=ccec;&qkum*|G2Le(5p2IN z18lo5fH2xHfDue!Myx-@fqsMJ8RYyJByNyxf2QA`X}>=WoIm$d_W>KlXva8a#TrUP zt5^>vz=M3Tcy?$#oD2FtOs--24U>1c9-SBleIH3dHbP+hkMx1~N8{lJxgMq8qilP$ z2h@Bl0T~FQ7X4z4m`FnaU1IT!(0aU0tS5+jf^qO1(Be6u^<*j<#TsP}qoZOy)d1=} zU5`Pro}u0|9b%2qZ;bxWdO_Q>#6R1K8L^)8pb$;y6YKe0FrV=dX2p7eZ7(pU7wP*V zHD03cOXQw#qXp!6nQ^{M&6nH2`YYskr3kd~{LJFnne~@=)Sz3e$pkR2SLyd^k63?Y z8_&wDzfOzw8hu_H6Kkqgtk-SO{(7HSZxkYk7O?%zWTc}J<a(1jZ%&FeO|EG-@<IOT z8Z@E}{TKmpZwV4Xj<<4A3~IgAfKK#b7!zRpZxj1A_1_*6>u)~LKH~+k?|8t^cgguK zdEO)TJ;wjus93X%W42qY_v6uwF|q#6xc)vU)(2q>i$j7K6o=+ThdA_9)L>E^Mlrg@ z!QYuX%w}=$EX-krKtBiZjvjG1v%z{?8)n4u1^Rq}b(aV9am|WjC)#!z5J!9ly2P<F zd3L64=YDbQLfbC<{9+-7#F4<y1b*&XglTc?76N&{R14M<>A!mrEblQQjxV>1Bgrj} zJ#BI9m54EMe5F+!$@JTsxV`Jp4d%E{GV0MOj(r7wuzg?Z?>j3Fy9jKz>2K4=9>%md z_KQafGC-gG%0b+I#O>Du;`W;q#{%ZHz(zXqLHz~fU(f=^y<h-im=VYR2}p$(g<!n< zH=qr(;@~r@BgG9LiV#L4+R+PYrcm<$6Uj(JE&`}UGdj_aQA~^Dz<8t}1AdgF9<Auc zAjUB(j;|)d4IhdSMkCtMi(yQPBh^GQ(vXV)YSD~N^kWp$;y5TCDae2y<)}w1h&`Bn zc5pG+7YDO14rX5*+=C%Zh~p4J5<JKTv3y>49MS}0-N|4a?p!bqKD#^Ijp8_znupSU zs1HR5L$$Y~7sHqo$3he2SV-(bax4sh91EM#iGIw8V^Id!zNiS~TGaSCV4jP{#NkN= z^Y_%F6<rtybr;7Y1?k8~0E}-j^IzP7UND!%#4nx|$6<+Z!-pa;*25U<VeKIHFk%mz z6vyEvh&?<P0o0-yo#@9Xrp1vKj}&CUk8;$b72O!bIA+Ch1hGf7i{r=ykn6}!^n+YS zl52^H0BXVZCB&w4eAAQQfma+y(f25F^E}#dbUuQpLkpPiG4#zKPX>K?Chf==#-uoo zrR~^6keBBTj^pTa9DR7k;5cpoW0(@h(t1pY!&`(f8bK~ExxD1^k}H#3naM~)E&`|p zu{>9BEF<4?AN=UUj5vH5Al65XEMiwAgZ?XMTS5O7s*V0D<3OKm`exIfBS=6e`Z0=W zaU36y6l8$d<I7QxR<NDt0UwY4xyfikuQ*mEp%BzwrPdj19?N+hV4tjJJgak2hY@k) zGp2mD<+JTXADS@;`V}yqf*>Zuv4-U}Y+FN|-wnp-Z$&3YF)5C<HmJQe492sTZEFWG zE{=8aNJB9i&;|OPWWo*dom7i<41xNE<SWbt`3k93*pEqZoSX<R7~9Fz;WNMEWNMs3 zjZ>&`N)hTojZ>K8sRC-8N{v&gaVj-V9mKRail|YPjS#3&M2#Y9oJNh)G7tbYPV2## zI8LX=>C`x#8mCj^^iB+mgJ%McGg6TcYMeohGpKO}HHwqr12u|U&<ARiP@{wzCDbTs zL^r6hJ`NsGV?8z2Q)4|fHl%=`fm{$D7!XIPA1s%Si(@18H?qF5OB|bg;s}x_Nd90i zX2nq!0P{GLv7Xr>j<eio6Gu6D%lWz41UW01Lj^f2#>G)dOl4RcA^L_U#ql+kzcwR| zsyYmbqq<cbVe*BE57T!Gxwh0`SR7ju!TQ!T_}~Y5wuVuUX0)Rl{TRkLrp0l#iA1Cz z4L<l0Kp6FCMmxIEk70~sS{yYd5|M&5_~1tXVbr4;?dV27hB1z5ahzi!5h+N64}Js? zMm?I*j&Ag07~_~0$GIjFk%Bb%;70&q)T0^g=te(=F^*|*oM$2tDM*74egqIkJ(|&u zZuDaq<Cqplt%*dWAPqkF5kMIAXhu7_(T`z_V_F>Nb3D%<6vqXe3l~g?<H9r$SC@+h zaeSTQ|BWQ1A|2T%L=YVRZxHj17IdHo<h>{vwAK5?@lEo6iy94a;`k2d=f&xu?j^X? zBaX{D#nD8r?-hyTiX?F~CyL|y^tqBTwbY8^hc)78CFV!u|1r7S0^+#F7DqcZeo-in z4&tumy!>@o9KT5u$93fVUAZ`TR^Yg)RUAF!yJbimx8aU>ar8Ba<1U{#?qMAF&WPha z`VMA`<9@b3*es4=`aDL?$JjPPu8~f0JRTIs6V!dOO&m{A_i19E$rZ;~oH(AvbL4xz zPaH4QisPk_I40cUcsW%Zuh8c&W8!#~oUgTr<8|`BF(8g<Qyg#Ai{o!zalDfuj`wQB z@&2SZKCs0p&EnMa#cAe>)6pQ#xM^|j)FIBD*|y85I1>iN`K35<?p`m>B(FHXk|xgN z8F6wC?A$L~ocpu=z$S4XR3}b%mpBiN$ACB&wu^I7n>ani;#^Gb!vf+wJVBgkK5-sV zD9$74d*rM*mkf(Dy<438U4rxIRB;|d-ebt0LEEvd;^ckTxs-TsgE%u=#JP-dEN2Y9 zIE;%ki<lK|FxHiw;>^y#tT=Pnc6>mbCzOjb*Dp@qznrTWPab1gO^wx!;>;%p?@!JX zN5ok$CC)Vi;`9%Ra~<2)v0O->le5Kn3jI$_5oZzWrzK)SoTt;jxLKSVYQ<UFF3wH; z;tZk;XBCOFoN;VU7H5TxX>o=;;`|zIRrIf7ookyjOzo|47!@bi9cK;OYp8!tlQ?-D zJI`aC*POF<Qk>`aiSvSCabDOd&N{Yzy-1wjaAQWC7vY<!;`|oAO?yMRIKSf+=fx@F zyu=h|BQB%fW#nn%XA^n8XJcHPR}6@=8CN!o^D5eZ;1}l)!{WR;8&l$JWjsG&-al;> zXM4Oje~~E8j$CnG+bGV?QE~p3_AY96vED`O?-;}N<hZ_5oIFc&-q0Y<?gSK~10x{s zjpVt}2Ws8e0{Y&>`c3q`DIm_9lhGy4o^(u$^A;2Ixy23QZfQn0hA}P9TjP;}4ERxw zdN96QiMw?W<CqoaZHY(&akquhjDB(U=Asr8;=J7i`{;J^-Oku=C+_wpbYcMHx`Tar zM=}`W9pt(rghnvWJIHs(7^wIABzQpn-#4HQwD%>#4Ihe7i&k`t^AGg-Ln_Gqhinvs z`hOtjA7;dPX9C!EXAt$E-<|Zka}bQ}&RKEZMgF_U&-KT7R{+%JIh^w@w)GdH6U5$a z!;gCOVp5#<B!Rm3gu!_4A@4oY;=GqU_l}5jfNcY{=mI(Zn2$bj-bcOriqV1rQ0q?_ z2!Y&#aiG>9IR~lpXAg?d1h(IwhAweFkP7lVK->e=8zS#e14hO9U;?sH3t}H6&qFpC z|3g#ae3<+XH)24X!-7Kei1U#|co7D99~l<sqvU$jhe2^ZM%-g#;v9)b27+k8kT@SF z&*QW`PR+;3#WOAE6Xbs~AM_a|=TpQyMUAJ@QG`0QgSe*{<I~i7It>AIU_zYF6r%=B z=mN3NknfopagGr`=0P@y8zbLX8~QMUDRJ_C;Cwa}#5@}WG0(PuT+a?*4CH!_T+b2r zoEL=%p#g2^!4Rgz`8;vYdytJ{)Sw9+=)(wz8;?V`IA2HsIbI;g3qzO?=Zk_Qkmp76 zyhxrG$@3z4UL?<p<av=iFOuga^1Ngt9r*~N4lU@y0LCyQ&WQx1A{)d_G@t_mm=Nd7 zf+ToQFV0uI;D0AaBq^0Ii60_0!f%8~f_NoPc!a0#$4^s4_R@}1QIY>^(GHti)?_E` z`MG6XOzoYyW&TYN-JV-ESza@@Y)QO+!Q8S#zNr6tZaGeN)t{ML-bwa04xL-xdAA>> zetT|t7fCzj^10;%+3A?kx#eBOJmw8CL^Ho2qIno$bXk)<v_H))>k_BEHn(hut^Iv& z*%Vt}JhyB~lFql|B6%FLkABJAa-1yCZ<|}*Nsi{%YoakbA8@pB!rbyM5<KRBx#a}e z;~2hi7s<1$#2qss%cW96a*k9<nQW4vgvFLr*&qk;^Dy!7-{CB+C&HFx#Dt|9RZ=P? zvRT};=12wc3t7sPa{jZW;KN+ik+o9#l+tG_e+GzjeTu3_(lc7sPo=HYI+KxBFh(_w z5=Q#ZRrFE&O!}>pEo9h0|B^^HH8z`NH6xpGSMX<unDxx0j5wPSS5mzsvdty3yfSo7 zRoSLs*iPMWkbRiPbGW_!9D7+=xH?=_TC&+~=TvN1XlIs}+XX7B+Ab)qF0I;H8d&Js zq3e;VtG{IH<})iRHrdNcg8!hSuk_54bzAHW!IFwirPX#xRjFN8VTZP?FE86*2P!w0 zlvOaY?WedVGQnz^qn+23RIsv)$&@oCSyoxjpC8{v?cuqwZ93bZxy!o9(XVC?sw1e* ztA(6ZM~JK|t*S1otgsJTcsOg@4kkAGLq9qcHH||*ZX_Ec$<^s;bAm=s&)D2IR#tEz z!W<rnoZ?{)@zMO#fs5D^(bHlphkPM@EBRT)VJ{VxuZq*Hl=ce#<c=>G4u_6jv?#z1 z-MVFAb>)_-4W%0^t2UJ`tSDvkifu*^JE3APr5#^7>Sd;07V5NH&!6S=KAV@FI<2?e z6QBKLRhd?j_Z(&$jO>>(PUKKzUTO~o*uIfDs?%G&c-2c_Yotvbrs$sh=sf0Mj9ZAA ze=+`}*|>PIf85-or$h<Ww%uzxUW{CF=)drvs=i~+fBywey?{P?skFKDsEeSQa~Vg& z6<Jc3(vrwos4g*8{2LuM$73UZ?wDcQi>;bjek9-KNVfSGm&$E(yj88zxl8D#NELNV z)lpY@)NzlVd(mpq3u5$qSKGskLR}UsA{YKpB%6A5sF!agS;K5o7fVH*1!`6s*rMJ_ zT>Mls2uDVtYHfQyZHUCF^Dvq{mO({F#~!`#mXcY$KGe}#u+3SrAoA9v`l|D{gcvoh z4fHLUo1cp<s$~o3waTK#8fJTR^cz_!r(Nx()DOovU%{3&L~dlu+4NI;NmZQRC#oex zdnHx2P(_U}Hkv?W2I`oWv5&TpLv4-j2iJ#l*s+4juJ*$QMz)2#v3+tjORBfJDycVS zwP)1v-hM{0{XG8`9=!&tBe*594^{ry(NW84zr>EUi`m59?y9M!wtw6_RC{!uix^K8 zYwGAk-|(Zk%UD;Hw?F!^*Z0TII=1Jc=UenVi_TDuON}ym*3Hl8?8yF5SFG5)|8a%r zD@~n&>Z-2JRyD)ul`mRRohfQ2m63T@NA|>-L~Mxc?`TZy_^I<)%~xHgV@F8MT%C#P zm_*O8YTjAYtJ5E;r1sf*V$`kA{4tn6Qn7uiX0zj!pn{$%uR6=r9+=--vDeD{9#gM_ z*g3v!KQ%jbv!h1tVk~ML+n#IDy`frE{(pQt)jU<-=&|1%`59f`_O<>=$08hgCsOaM zC37=Uw}SI~>XZ7atE0LFjgDVcSNmMOmSa~mHFouSQ?JkHH7+_*b#+zm^6F}#j_3S& z9NiD<c2B*|qx*RaS=5?~b#<nw*Mi#j>gHHok78%{CgSGbSEH3;*HAUP=txw2bkD}J z#pbBCeDa)PM_av5s2R+kVQQu}<N35B*uKt3_s5Q}qw2^$Qpa0WP&3%}2&-2?^zJ~7 zOzmwu@@EBW>ber!&o)uf7B$!C85w;AM6bwdzbNY6qck$R=zG@uc+QTTV}ZzCU+^*S zhYRQ#-Se@%8|&fXnjL$$UBDex>@17EzvNO)y`p08FY269uVXd(=vdWRp!RX>^|qC* zW!uawR<D$gr0Phk8L8+H|3%-u)T>^-%S6w)?eB7;V~(8(t{vWQqI*ESXQ}sb^$r(3 z?^PXj)@*<7&yO-XyN|net7D?>*VMVJuH3Qlf81VmZL{aLJ%;mpQOzng`W>(8A3d+t zwN-uMP~%iHiM`rluOxNn5Pi+5d+q4^%J%QS(LNivH!9(5QPrdGt<kf}6*+e5z9W|L z-*Kh-$FqulNL8=S==<Tu56`!3$zn_^WVPh+ZlLzmYS#R668G8#k!?A&+1$q!uw@+| zq<ysdXjwpn+M>2Eh`bt4V%aa*#I23wismRFPUSwCSe0Ad#pgxVP9Q#yT<U6<C54e1 zS!7$oYhg9@RPI%@=JHe3RB@`ua$451u9jEQwrs9m9=+5YRQxLV=SJ$MeZK1Uqf(jG zETSV@#aaRRv**T~N$#9TJ~e(f<605Pn-}S&`l&sqMw*Fy{w$zs4jI<cORcHawfxK{ zZVkPn<52rgjW&<iJaQC7ey(J@8bS0(L`SrosC;Uxh?R`XAK444lA4{0RHO2<J(E46 z`m3rZM53Z2Q~N|6Wi^)hEb4QYsvRAN+W+h3@~Lw`%|Dm_)V@{waZRK`7Oksji{_1H zRiEC}Ow_p5-ciS19aA;F9M)8YWo(Nc6}3NeBWv^fEqX4fW12~iRgsaa{%R&_k3^4- z8vV92QOEeBN9W_t4i{0;3M!X6ZfZ~EMyjk~&t`F~RHkT)+9T?`QfK~hW-x!oMbCS+ zzhkk{y`YXyUgXH0$jqZhB$`isLf&>3>NuSgITG{7BYFhX2-SI^D#rHN{Lxo6)tF=B zQD?I{%VNi2ey^z4pE}3XsMT4Z)>H-c8d2w%I!bC=?DeT?sB<TJ4OkoL8_TNtZNGnQ zBGv0C78mRHN!O0(K8n@e{s^kGRqe~@2%}dLwI8B+qvulemGIGPQuHdH#rv9ihYZcV zuT|4GdZ!!v+!uYHpTD<>zV~c<->LRS?0sh2JAvq@gO$7+Mc;9^jhk<cep-sYXU%_l zQ?ar4<Q+dBt8+B^C{o4E-}TPleMIjbqo0Y?J5qG~>W)a=pGWTj)xBQyu0*|0tIx90 zSyV;t`lFvnW1m){&rVc?dRL0gwwf`j_kJ~sXsy_N%6zWqeWi+vR#SU8IvSNFx;Ovv zd#o!m78M!$WT-xos=NOx@|+!64o5~+!Fma!h{mdzb6JmlR@wIXPi*w_#~}JH|IuR* zo6C;--?iQTS9gZhoI%mgQe}}ntnMclG9ooIHPYzkvS?+suJ*vj$ToG)8XKkBkMn1r zy0<<$(l>S=s%EI}mDC-2^qh)5v<*j&p8A}tYN~s{OsYnoamDtn+V9Khwf!UT|HM<L z&-(%Q|I+iI=(8<#%(lHRi=AQW2uD9bs3Z4zJ`YlLcYGccJsbXW&x6z`qEDwj?p}QU zI<f7Y{D#Om9D9PGV$^eq*dE*QwYKfk#MrsK<Gr|gUsSKD|HgBrZT}i2`dmppms3}^ z?Vpd$U(^5pdagA8gh9O?{@;79<l62X_P_UBN$p4VB<6qZxsrN*x#M%C`PcM+=DCvV z6P_3RXPzrX@8qJ_d-YmZ*Zxm_uB6@-KL6)R^RKtqQzG@=zkqw<kN@lC1(C6;yOP*d zIMy%v`8;|j@xS(TN!_oiG5_QDgy?*tcTE4@r%UQ7+&|j8>Qhu~5B_gIWpZ)8s`uiL z-p%~ypE9ZU^8eMROfEigZu^vJ{<H3X@+p%m@~q^Oo-(OdhI;Dq?|;gqp0lYZa-ZfY zllo--?|I6ko<U^t{AraO&v;_b^fGxa@t=Ekq&^q!_+;_F_3X&C!?Pp%zxM1%y*GaR zv!mFvn)zo!(dRw?j%P>eOr3vj_Q}tV)ayr`M<4e*```QQDE4&!AHSpQ_{1mn_nrUD z6CYJ4_C!McJ@4oB#7BMlQQu1XY)^dDQyq2n|5u;*xOl!2`^L{d+LNEx6PoZ2cUE4m zI<aq_xFSzw)Y?Lk6_GD!sqeL^FV%hcWjZ^xy0p|@Us_&y_CX8nPw_3dh4#wwb3(yt zyKHl)vMO8}us2p!ZniV4O1Ik4FM-8sM80*mCHk$qZOgb^^VRu!T8SMU+J|4=a~=AL z|L5BAOMajF`+?icJ5sr<+ErqQt4ac;n@g(BvMV>v2SmSR=yK(kR&6e;j(mr%tlAEi zR+aLF!cA2r6-?dD+}V3{<9maANzHACEA5hsbL<e`y5mcCmFvTNZ?KGAP-1W3ON}lf z!@<(ne%i31a&w4q6%Y=Ro$nf!R#bC@7DRT*f`dpFuuH0|D>sytP|p>p+^}VHX+^js ztiIE?v8<f0DyFK8kq-8n%8lW(+5HO+ij1VHG*nd?*s`HCk|t2b*C)%?ZwZ&GF}PHP z4?DQ|vg3yGEde!>v&+K4$}M3Av$<@pkg5>*LMGqvtF*UNGf_1ix4pSk&Ds_Dnq+m* zZO_+mtD1`{tL*AhzNbla8AF|${zpoyIg*xrMnP9}*F_4Q9puDPwYTeFv!ga{sj4We z4s!C*F;Hn&SGw)$E$h!L-4IqSYJM9l%Q>gjgf>)G1j^J7t3KN0@{_J)edX5D$PA+2 zGK~!2!;_$*GR$G%E1+sv>Zn8p7Ci%^+wAIKNqM<zed*j@V;Fo_l%{RwSy{n(QDtwg z<OTO})3(Fsgi1G-P-tOvP}|RObICcpDCr(3+gPSfw36~LrydI=EeQl7Gmq@!$k$X$ zsu=T@@{%f-+FgOt>atB0k=?y1`dX!vIzvk~kc3xm#fN*f+Wtr-HEkCKB0H?4-2T`E zbA4jtn9s)WD$38X%eFbqUFvdBRa#N9IeN6zLbc6~RL3Ru@+jq;E3Jy;IlHndP;D>x z@Di~=%~;J!ZE!76FWUu?UB;2goqN5kFXfe_vTorRsN=S^vMh3HsD7n2VO}wINhrk2 zt7LsSr+?+#C5Oyvx4UAm8|svV?O;hY`@Xc|!@VC#NxAv6J790A2+R$5eyFa<;Oxi@ zKk2Ae^Tl9Z)pm%(rcRC$n<KZ0bk%dOU$$&Gt7H?`WnPCBl`i#SQ-PoUq>3HZNGUE@ ze0RFEe4`pvc9y+jb)Mf|vwDU9q|AaWJ7<lZU$A;zjxWn+FUVZO`U1CoQjR}+^;*A8 zL_ubr|73gh3Oh6JWc!4iJfGXnD$Fm)TC>Kry1>p^m7klFMO#kZ^4zt)oV=CxGWzAM z_S?BRt8)A#^{<X}olBLIwMHddl~u4jo6MQZa&mM0C%auMa{PJZWN-y`rk$Tz;LlmU zHaD}t&R<)Qzj{p;Ieete%gI|&K$WajSxkaN%U9>0T#&Oe+wZ26pGLRKUy$j`T9sLF zg4-t9YNlLZM?w}dN^;m)>s048*_pYy_OcxR8h=4n<|-Ad_Rh+@)vK~xD^{<~^JV&T zR_EEvvY1NdvRt*}7#n+Gd2VLTD!1*+T$Q;}O(#}Fg+-?`zdKy2!^*6@tb)v3x4kAm zYk7`ZU_a&*WG!dZ>^Sy4dxBOnEnl6tChNqtG!Pdn;dY&rofVk}6UgNMmq$hxnSLJA zReAiY3)mrZLpdpDO_tlvEXY}-j>w9F)eKi1&($j;XTVzaC!slcbK_OVNVV;Fb`Yg{ z&+SEDR%R{<IZ5(VEPH92Gl{b+t7b!Kh}T+m?8P0uG)69?(Q7AfOuQze7Xi-bl@+{j zqivBz-j;Y}Mc&?`SGNzZ1CcNNbCp+@-pJ*H%OmeZ(MxY&YbjU2YIU`*ta4SVi^<t# zypgK674A+dqwjfkbxAqJ=%ubHktnW}CFOLRyD0J^-|jl>ioF?zs><kcc2!xJi-}#b zg}2D6vUBI&hSmL#npI>5B#6yGRrzrIF7-<bZmxvYA>O6Rww9Kkvyj*-^<JjN%T<{# zx^JGFdgR);A$)Y~Rv~O}QhSQ`y0D9{!!NX5uE-si8f~?`JoXC{|NO1fr~Uni&*wgf zyRF!@Ozp6Zk<piYy89s4{CyC+;WOO_xzu~Z{8c=1(4ud#8zTEXa@U~-_Tf>pBe#j$ zofB@?zjCh>{go2#m0a`Vh@9#FrF*5w4a2|jUda`G!TwA4O0LiGUdg52bffo5k;DHP z?v-4zyRyiA!DqNvirjlwf6Tp7<kyZq-Mv!exXs-wZTss@+ubhle$L0T&+B%H3(xjf zM|R*pf4k&bu<dXopBoo^&bLgiipmc!GoSgE$@RJ3GP&k%nIiAHpY4{(_0d}<`?K6K zxjy!m$^K_<nOy$Nb*qkFt?u+Pvp>__k!${D@n5++a?Ra<al862+#R{Ly*rBB0sYf= zN3Q5S=11<1w!hE*C-08b?f!Nzln-xw)aTBRzwwFQ(tNrbAJ-?}_<Z;j;1h0qT#*Mq z+Ya*6+|Yz$zl-UOJUnqN<Oh$Z)UU;Uw%-|C6nSoU7SHY$A^HvM8lHHm-^dHmw*7a} zKlwKd7oA;pR@tI5KHJqS3<X1r=00F<|BI9AOCaj&C;yjU{Ny*0_2@55e{g}E5?$K< z&!kk=HKGiD$J!DH|63z*@&&$7vJ=0By|e5hU*tEjca`1bOOhzN%O3J&Ns>KfFZqfj z%igk&?90Qx{rD@u{Ut>XkOSqb{JPaaaxlNg?dDhd7BYE{EarDX50^B47xYM3BI$Az zU+p?ZGUQk}PL}d}-s)?T%Xwg*#bamn72O>E8sh|Z+A1DFt1s`K$m4VM1=_Xz6~{^Z z1=PvR<y0w>)8uqHLyFlGo$@oOmv74La-~ejx8yRpM1CZ{l6Fm(i{%NqNUo4K<W0F$ zu9611OP-e3<;QZZyd~4}wp=5>kw414@>{-gzCoIJg!?BR;tt4t@_-D=pXGjenFpE= z%aA-M*YQQODfzBED#P*!hxae?s(gpvIWFUi>zjG(TOn;cTK*b`UHwv%`byqbPL5aj zs^z(Sf#EzkUuvaCekvEr1yUzpmr41n+^QLxsacvsb82z&zWiPLg67h8(&FU<O|+f0 zU9>N1nwFsLs_mwINlVmr*Y?o9tR-oCYI|v4kr{bMOV;+*_R;p$Y;8YnfwsSvq8*?e zsC`vS)eh1Q)((+(<uT2z9jYzV7HJ-Bv38htxR$0Jp&h9$(bBb}w4>!Yd0sn4%g~P1 zj?<QEUM*8wrY+ZeT9&p#Td8GhInpJ+(~j3p&~mj^TAsFA%hyiS3bZxyp3KU)yrB8D zwc0xEB&|^UKU|%4pcU2k_V09eUBE!f)_c#HnFBU3Lzjd|2wu9o1rbm%kZw>wB@~k` zDFG#vR6syN2@}CUQRE%(Jbv}}{vrFUxtz21o_Id%*^7H@Ml>f{5G{$vh*m^v;&Gyg zXhXCm+7a!E4n#+y6VW+u9npp8N^~Q-=bg<vNAw_i61|AtL?5Cr(U0g)3?K#)gNVVz z5aJ19C^3w9k{C`rmA8->L5w6u5l<7(5Tl7P#IwY6#Ph@p#8~1*VjMA^m_SS<CJ~c~ zDa2G_8Zn)iLChp(5wnRo#7o4>#9U$?F`syac$IjKSU@Z!77>ey*NHcXCB&P=Tg2PM zJH)%hd&E*=8L^yLL98TJ5vz$c#9Cq<v7UIJ*g$L~HW8bNEyM@JR$?2mo%oRWh}c2w zBz6(IiI0g-h&{w!Vjr=eI6xdEJ|#XQ4iSfmBgE&#QQ{bJocMw`L7XH`5vPeSiLZz= z#987Tah~{^_=fnF_>TCV_<^`U{776RE)hQwKNG(YzY>>;--zFdE5skfpTt$-FX9@R zM-n7SQY1|>BujE6PYR?+N~BCGq)KX}P8y_1TBJ=nq)U2aK3Re+NtPn7Bd;fKAa5i~ zlQ)rN$g*TPvOHOVyqUa(yp_C-yq&y*ypz0(yqhc_3&{+bC4Dj=Lo!EJBrB2kkoS`J zk@u4ikPng%k(J3RWK}XEW3n1qovcCDBx{ki$vR|RvL0EVY(PFtHY6L7jmakDBV<$Z zQL-7?oNPh1Bp)MNk*&$c$s)21*_LcawkJD~9m!5)XR-^~mFz}#Cwq`R$zEh{vJcsp z>__$|2ap5FLF8a^2>Ap#lpIDrNe(BUB1e!T$x-Cf<TK=Gat!$_`5gH?`2snXe32YS zjwdIO6Uj;BWO52Qm7GRSCufi|$ywxVat`?t`7$||oJY<lUm;&5Un3Wg3&};~V)AwJ z4RQ(jCixcmHu(<uF8Ln0lw6i~IPVm>oLoV!Bv+BE$u;C!aviyze4pGvZX`F6o5?NY z2YE;Hj^!QCJDGPR?*zG(+(vFEKO{dQcaS^DUF2@^WAYPn54o4zNA4#NkO#?6$<N3` z<YDp%`8j!%JVqWTzaUSLC&^RfY4S_*EAk9^mOMwEC%-1YA-^TRBflqqATN+Vk{8KK z<WJ<!<S*o}<Yn?V@^|tI`3LzYd6oQ&yhi0w1VvI5MN<sLQXIuo0wq!sB~uEeQW~XG z24zwfWm692QXZ90m7q#erKszu>!};48>!ONO;j1GELDywPgS69rf#8brEa5cr|zKc zr0$~brV6M+Dnn%{p9-ju%25@mO4L2nz0`fw{nP{0gVaM*WvU8Qm5QjCszz0(YEU() zT2yVS4po<`N7bhqP!CfLsYX;|stNT7)s%XaYDP7uT2L*i$Ea3RYwGd5xl|F=hH6W- zquNs)sE$-8sx#Gv>PmH^x>G%<o>VWYH`RygOZB7rQv>p5Qv<0%)L?1|^#nDP8b&=y z4X2)>Mo=TEQPk7aGt_8m4D~Ga9Q8c)0yUO;ks3#hrzTJnsY%piY6>-#nnq2hW>7P! zS=4N54)qfCGBuZ)N6n{Rp<bn4qZUvLsYTRc>UHW3Y6<lw^%nIu^$zte^&Yj9T1G9W zR!}RcRn%%~4Yih9N3Eycr#4U<sZG>oY76xNwUydNZKpn@KB9I|JE>jNZt7#|6KW5& zm)b||rw&jDsZXiTs6*6Y>In5Yb(A_r9jCsaPEaSQQ`BkdOX@4?40V<|N1dm>roN%R zrM{!Sr+%O=P(M-^sY}#P)X&r})UVWK>No0l>I(G-^(S?e`ir_o=g|aB(iBb849(IU z&C>!c(h@Dx3a!!_t<wf=(iUyg4(-w&ollpbOVXw2>*(w08|WM9()3Mq8M-W8jxJAE zpl_ycp>L&cqi?70pzoybqVJ{)=t4R}XK9}f=#b9Q73oU!J@mcwef0hG1N4LRLv&@j z3SE_s=$NiXSEp;xHR)P(ZMqI!m##<GryI}@(+%lHbYr>+{RrKZew1!TH>X?BE$PST zR&;Cnak_|ZL${^d(e3FDbVs@q-I?w}ccr`0-RT~5Pr4V~o9;vRrTfwS=>haWdJsLB z9zs7s52c6EPtwEbr|1#%NO~0gH2n-cnjS+xOFu_HPrpEqrC+4S(c|d}^hA0RJ(-?D zPo<~P)9D%XOnMeQo1R0zM88bWrRUM}=~w7i>DTB5^g?<Oy_kNTeuG{@ze&GEzfHeG zze~SIFQu2!%jp&LN_rK&nqEV%rPtBx>G$ak^hSCUy_w!Ze?V`gx6#|_59yES9rR9m z7rmSQnEr&`L+_>c(fjEG^g;Sl`ZM|veV9H%e@-8zkI~2JFX$8WN%|Chn*NghiatZ1 zrO(ml>96T;=x^!o=<n$t=nM3Z^hNp-{S*B&{R{moeVP7^{++%;|3UvrU#0(|uQ7QH z!H^8a&<w+{49D<{z=({*$c)0MjK=7U!I+H2*o?!tjK}0NC76;-Ddsxndgcb^My51# z6H|sM%amivGZmPdnOm4!ncJA#nLC&}nY);~nF6Me$uL>QX96Z<a!f_05_1o8FLNJr zKl1?dAoCDYnW@55Wg;eKsxj4>8ca>57E_z4!_;N!G4+`S%)?AWrV-PaX~I0hG-V!T znla6p7EDX#F{TyMnt7ZlV%jimnRZNjrUTQF>BMwqx-eatZcKNk2h)@3#q?(SFnyVR zOn+toGmsg?3}%KfPcTE7Va$`vaONpy1T&Hu#XQYC!;EIeFwZj2G0!tEFk_h)nQ_c` zW&$&jnZ!(HrZ7{PY0PwH1~ZeH#mr{rFfTDLGjo}F%zWk*=2hl3W&yL1S;Q=6UT5B5 zmN0KJZ!vE(?=bH&?=ef6Wz2GB1+$V_#jIx5Fl(80%zEa1W&^X4*~DySwlE(sTbXUl zcIHFoBW4G)li9`WW<F*<VfHY4nSIQD<^Xe$`IPyLIm8@hjxe7yN10>Hapnu=1ap!( z#hhloWWHj~FlU)_%z5T(<{Rc)<~!zl<_G2i^CNSSxy1a${LK8q{K{Nreq(-Tt}uTv ze==8@znE)m9!sz!OR+S|uq?~5JS(swE3q=GuqvyuI%}{dYq2)#urBMd`D_WcBwLET zj=i3}fxVF}&ECY8Vau}R*z#-z_Gb1L_Ez>b_ICCT_D=RL_HMR-Eo3unmi5_y4cQ!9 zk*&nu!`{o@$KKCAz&^-6#8zgjuvOWJjoE5!b+!guldZ+pX6vwZ*?Me!wgLMv+mLO< zHfEc!kFZVIN7-g<bG8NBl6{PA#kOW2XN%Z2Y+JS++n(*fc4RxTo!KsISGF75o$bN) zWP7o_**<JvwjbM{9l#D`2eE_MA?y?EP<9ymBs-jaiXFj@WJj@2v(K=j*)i<1>~rk% z><jEz_C<CaJD#1uPGl#sli4ZkRCXFWot?qXWM{Fn**WY>?91$2b{;#QeT99MeT`kf zE@T(6i`m!NH`pcYo9tWc+w42+yX<@HQg#`;oL#}LWLL4P*){B1b{)H(eV^UHZe%yH zo7pYw2kcgM8@rwTko}0=!R};tvAfxi*-zL#>|S;syPrM49%MgdKVuKEhuI_S=j>7T z7<-)kf<3{WWKXfD*)Q3z*fZ=|_8fbj{hIxT{g(ZX{hs}Sy}<s+USuz^Ke0cvzp%fu zm)YOg-`OkdAMBs(RrW9T8kffr9LZ4}%`qIyaU9PHoXAO>%qg78X`Id(oXJ_7%{iRQ zd0akMf-A|D;;!Sa=WgI`<Vtflab>u&Tsf{hSAn~kyM?=zyN$b@yMw!vyNkP<E8q&b z44376F5p5g$5rGiarbcda`$ofa}RJ2au0Epxhh;$F5+UY8dsgG!PVqyakaTRTwSgn zSD$OZJ<K)a8gY%eCfp-jQ|?i&8P}X^!L{Tb<63d8xyQL8t_|0gYsa<cI&dAiPF!cM z3)hwF#&zd<a6P$RTyL%q*O%+Z_2&j~1Gz!mU~UNa1UHl$#y!am=bqw5a3i@<+|%4M z+-PnL_bm4u_dNFkH<o*m8^?|3CU6tEN!(;^3OALT#!csDa5K4C+-z<R_Y(IqH<z2o z&F5a>Ugcin7H|u>MciWUb?yyr3HK)V7WX#y4)-qi9=DWR#x3Voa4Wf0+-hzOx0YMS zt>@n7HgFrcP26T~3-<xHmD|Q`=RV{<;&yO5xn10D?qlu~ZV$JY+sEza4sZv#Pr1*y zL)>BR2=_U6lsm>9=f2=ha3{G_+-dGh?knyLca}THo#(#hzTv**zT>{<e&8-}KXMnj zOWaS~&)hHEuiRzsH|}@t3ik*1CwG<mi@U}rUn<6vJjK&I!?Qfc^Sr=|yu{1A!mGT- z>%766yv5tR!@Io4=kq1_l6)!tI{te82L49AG=CFchA+#P<ID3E_?!7#_*?ng_}lqA z_&fQ#_`CT6zL3xGS>ERZKIC(JMZOY$4}ULzAAdjp0RJHW5MP<E!dK-ZKIW_O)%hBH zO}-Xio3F#y<?HeF`3C&Md_%qw-<WU0Kf*WVALX0z&G{C5Oa3vw72leFoG;?r@NM~a ze0#nF-;wXccjmkBUHNW&cfJSTlkdg%=KJt{`F?zVegHp^AH)ylhwxAEL-}F+ll*Z0 zDSiY$k{`uC%|FAB=Ev~Q^3U<l^DppY`4{<d{CIu>KarorPv)oaQ~7E9bbbaulb^-U z=I8J)@h|gp`FZ?&{uTaJ{xyC9zmQ+VFXmt8-{6<<Z}M;PZ}ac)@AB{QOZjE|a()HB zl3&HI=GX9R`E~qy{(XJ}zmea>Z|1k~AMjiGZTxorL;fRv2fvfw#qZ`n=0D;0@O$}v z{C@rbe~|x_|BOGxALftnpYuogWBhUc3;qOul0U_t=D*~>;?MAB`E&ev{%igl{#*V# z{(Jrh{sR9af04h$|HS{y|HA*uU*><~f9J38fAD|uSNXsAYeJqt2&6y>w7>|gzzMt{ z2%;bfvY-g6pb5HQ2&P~Ow%`b^;0gIc38AD=O1MtAUbsQHQ7A3kB$N@#3gv|ILIvSw z;TGXm;WpuR;SS+W;V$8Bp+G1UGD24Hg+K^}oKR7yB-|t1E8HjCFFYVTC_E%o7ODtU zg-D2nYC?6PhEP+eCDaz`2z7;eLVclu@UYNOXe2Zinh1{wO@&8=W<qnJh0s!XOlT#v z79JOhgf>E3p`FlP=pb|yItiVHE<#tKo6ue8A@me_3B83rLSLbu&|erJ3={?lgM}f& z6T(nonDC@9TzE<tA&eA82~P{p2&08D!n4A2!t=rl!dT%&VVp2tm>^6PCJB>;DZ*4? znlN3MA<PtJ3A2Sc!b`%-!dzjVFkg5@cvW~!SRgDE772@m*M&EPCBmD+Tf*DIJHord zd%{v-nXp_~A*>Wu39E%Q!dhXSuwHmy*dS~aHVK=BEy4%FR$-g4UHDM=NZ29l6m|)_ zg^z_#ggwGuVV|&HI3OGpJ{3L_4he^aBf{sxQQ??yT=+sbA)FLW38#fGg|CD&!dc;* za9;RY_(u3v_)hp<_(8ZJ{3u)$E(t#gKMTJIzY3Ry--O?VE5aYbpTbq)FX3A9+m3`t zij+u;jL3?d$cus~ijpXcil~a3sEdYZik4`Lj_8V>m@k$PONyn$>%{BD8^jyM(&9~G z8L_NbPAo505N{T55pNZ56K@yq5bqT467LoZ#6mG6W<_5N#8AwM6~#*8J>tFMed7J% z1LA|?Lt<sIida>Q#H0}~Ru^lCHN{$DZLyA6SF9)27aNEViw(s_Vq>w1_=wn4d{k^E zHWyonEyc&gR$^=Maj{5jBeoUWiOIi~5<7~W#Li+Dv8&ik>@M~Ydy2ip-eMoIuh>uQ zFAfj~ii5<#;t=r(ai};<d{P`PJ|&J2M~b7wr^RQ)(c&2KS@AjXdGQ5ttoWihP8=^z z5GRV0#L40majG~?oG#7~XNt4L+2S1WCGll(t~gJeFTNtaD!wKz5EqJz#Kq$4;v3=; z@lEk9@on)P@m=vfajCdWTrRE<SBk5|)#4g)t+-BHFTO8s5I2gO#LeOs@dI(IxJ}$H zekgt<?htp1yTsk%$KogA9&xX@Puwpa5D$u<il2#x#KYnd@pJL0cuYJlej%O^Pl~6+ z)8d!nSK=A*tawg5FMch4BYrD>Cw?#fAYKrE6fcUG#Gk~U#b3l<#mnMv;_u=W@elD& z@v8WjcumTa2#J&^iIy0Nl{kr)1WA-6NtP5zl{87049S!%$(9_+&0CtcO!B0BsYKq& zyj6KyrILBe^H$_-lS<`{%-fPTM!HVAUb-P~iFBh>TDnOpBbAlPN#&&q(#?6>rCX$1 zrQ4+2r8}fMrMslN^ETvdlnSImDI;YiUkap9%1IUT)=QP7d!&1%`=tA&2c!q3hos6< z6{)HeNwHK-sxH-#YD%@F+EN{<u2fH|FEx-JmKsWpq{dPc=@F@^^r+NKYA&^qT1t;e zt)$k{<5H2-MrtdyliEuiq>fT2sk78Y>MC`Ux=THzo>DKVx70`KEA^B5O9P~V(jaND zG(>tr8Y&Hwo|J}5Pe~)Bk<uvXY3Uhhv@}L~R(ei)UV0(#vNTqDQ5q+WmnKLPrAg9c zX^J#enkG$`W=J!oS<-B2j`WiBvNTtkC(V~$kzSQvlNLw|rA5+W>2>K1X^Hfv^p^Ct z^p5nd^q#a-S|%-*R!A$QRnlr{jkH!;C#{#>mo`WnrA^XiX^ZrMv{l+BZI?cjK9Y9i zjg@vvyQJOH$I>U#9%-+%PuedXkPb?pN}oxGq{Gq?>2v9*bWA!feIcEYPD-bw)6$pH zSJD~jtaMH~FMTb2BYi7<Cw(vdAYG7tlrBn_q@SdprC+39rOVQ9((lq0=@02o>8kXX zbWP5a37M2BnU)!ul{uN01zD6OS(X)9l{HzH4cU|}*_IvIl|4CME+LncOUc*C*ULA^ zH_D~uo8&TbS-G5CUalbDEZ-vED&HpGF5e;FDc>dEEf>gzaz@U|z8uJ*oRcfcmE?Qm zd*%D&`{f7Z2jz$4%5oLCsvOC&TurVn*N|(<wdC4z9l5StPp&UFkRO&C%8lg4aufLx zxvBi9+)QpRw~$-PkIAj%*7D<Wk=#aZE4P!|%N^v7awoa7+(qsxcayuzJ>;HpFS)ne zNA4^4ll#j9<bm=ad9XZ0enK8950jsihs#gNBjl0tDEVpm8F{okMt)X)PJUi~K^`l= zD36oJ%M;{@@+5h(JVl-=Pm`z1Gvt}_EO~a`40(?HlKgVsVtKASPo6KoBEKrXCNGc| z=FO59<;~2yATO3*m*0?=$ZyJT$#3T^kl&HtmEX&oBrlbh$;;&x@=AG?yjor(ua(!y z>*e?J=Exi5jq)aWv%E$AK;9~Elefzs${)!)<el;^dAIzr{E56r-Yf5u_sa+5gYu{H zXYwKWuzVzMk^H%QR6Zsjm%ort$S37f@@e@?`78O1d{#aupO?RuzmdO{zmvb0e~>T8 zKjw{>FUptXpOWv5pDO<>|04e?UzUH9f0wVwf5?BzSLMItYf7F%D5OFuw8AK?!YRBW zD54@MvZ5%eqA9v!D5hd5w&EzR;wkw`38kb`O1VzCUb#WJQ7Nt5q?A$0D&>^&N(JR+ z<rd{u<u>JZ<qqXe<u2uJr9dfEGD=qQl|TuVoKjJ#q}-$2tK6sDuRNeUs63=pR;nmf zl}L$|YD#sbhEh|hrPNmHD0P*3N`0k)^03lSX{0n(nkbJbO_fKLW=eCVh0;=aOlhUG zRvuT1lr~CRrJd4V>7aB}Iw_r%E=pIWo6=qBq4ZRGDZQ0GN?)a)(q9>%3{(awgOwr5 z6UtC!nDV4DTzN_vp^Q{UDNifUD5I4z%CpLI%Ja$#%2?$^Wt=iznV?KmCMlDZDaur3 znlfFPq0CffDYKP1%1g@2%3NihGGBQ`c~yB$S)eRb7AcFB*OfPvCCZ!1TguzYJIcGt zd&*K}nX+72p{!I^DXWz=%35WevR-*#*`RDxHYuBxEy@SVR%M&AUHMS?NZFz6RCX!5 zm5-HAls(E`WuLNNIiMU=K2<(b4k?F~Bg*H>QRSF&T=_ydp`27sDW{b$m9LaD%30-{ za$fmb`9}Fx`A+#>`9Zm${HR=1E-61LKP$f|zbcoN-<02#E6N|rpUPF`FXft=rxGfu zQYx)7DywoTuL`QDN~)|Xs;X+Lt{SSTTB@x&s;hcxzFI;psg_c&Q?FNVP;XRAt2e1- z)Us+hwY*wEy;;3Qy;Z$Uy<NRSy;HqQy<06%3)PI8Red#3Lp7&XR4b|XsQ0S(srRc7 zs1K?Ssg>0#YE?B-W3`%EU9F+kRBNfV)jDcjwVqmEZJ<7^HdGs_jnyXVBWhFiQMH-c zTy3GYR3B4Ysjbz=)grZx+E#6+wpTl-9o0^1XSIvkRqdvBS9_>E)n00EwU63Y?Wguv z2dD$pLF!<2i28&&R2`;1sSa14Qb(vG)lurx>NDzSb&UF~`keZ_`hq%EeNi2!j#nqB z6V*xTWOa%<Rh_0zS7)d*)miFnb&mRy`m#D#ou|%MUr}FGU&~vgE>IV$i`2#H>*^co z67@~>E%j~n9ra!HJ$0$NOkJ+7P*<v})Ya-5b*;KiU9Y~cZcsO>o7Bzf7WD&ltGZ3y zu70R~r0!66s=L(P>c{FQ>K=8kx=-D&9#9XepQ@j!ht$LB5%qKRsCrC2u707OP*19- z)YIyh>R0L+^{jeMJ+FSPexrV?ey4t~{-9n^e^f83m(-uspVeQ~U)9U%Z|d*r74;AG zPxY$$mwHXh(+G{!D2>(_jnz1f*91+}Bu&;7P1Q6_*9^_nEX~#&&DA_DUn`-N)JkdB zY1eBvXg6x5wVSjuT3M}}R$i;1-K^cB-KyQD-LBoC-KpKB-K`a9g<3|-YQ7d|p_bDs zYL&Emw0pJtwEMLOv<J0^w8~l)t*RDju~tp1uGP?LYPGc5S{<#fR!^(1HP9Z`8fuNS z##$5Y5v{5AsMbttuC>rwYL98HwAR|=T9MX9Ypb=>+G`!Oj#?+Jv(`oHs&&)4Ydy4{ zS}(1))<^5B_0#%m1GItKAZ@TVM0-LTstwbg)P`$MX(P0e+9>U5?HO&fHb#3^dro^^ zdqEqky{L`T#%mL_iP|J>vNlDVs!h|TYcsT&+AM9hHb;9&ds&;S&C}*<uV}AouW1Xk zh1w!*vG%(5hPFg|Q+rE$TYE=)S9?!esx8x&Yb&&s+A3|ewnkg4t<%<P?`s>hjoKz{ zv$jS1K-;Qq)3$3LY9DDkw4K^6ZMXKZ_KCJf+pF!<_G<^UgW9LsXWAj{uy#cITsx{A z(~fIjXeYFj+9~a{_NDffc1Am^ozu>1Uu)lJ-)i4!-)lc;7qlO>i`pgaC+%nL7wuQ= zvi6(yyLLtUL;F*^s{N&1)AMvfCv{4vbw+1(PUm$&7j;RObwyWoP1kipH+4(5bw_t~ zPtVs&=q2@1`gQvC`VIPxdTIS8y^LN~FQ=E+E9f`tx9GR(x9PX*cj$NOcj<TQ1$v>L z(X+a*2YRUI^on{V{T}^Z{XYGE{Q><!{UN=wUPZ5}M|!MR)2r(>^qP7ty|!LQudCP7 z>+22lhxLYfBfYWSM1MqYsz0hX)0^up^p^T#dMmxP{<vPGx6#|`?ez9~2fd@-N$;$8 z(Yxy1^zM2Oy{Fzw@2&UI`|ADl{`vrYpgu?+tPjzj(1+^7^e6S<`cwJ{eWX50e_DS= zAFYqkpVgn!pVwc|$LcTY<Mi?R1bw1DNuR7w(WmOu^y&HxeWpH3pRLc)U(#RJ=j!wH z`T8sRtNLsD0)3&rNMEeKuD_u#(cjeH(%;tK(cjhI)0gVY^yT^reWkuiU#+jv*Xrx^ z_4@nz27RNxN#Cq*(Ld0)>f7|~`iJ^Q`VM`kzDwV&f2@C^@6q?_`}F<#0sWx<ss5RM zNI$F}(LdLZ>c{ls`WN~M{iJ?MKdpbMf2E(%&+6y&^ZM8NH~P2wcl!7G5BdfDNByFH zN&iXzS^q`<RlltNrvI*A(f`o@)UWD)>DP=rgD^;gGH8P_Sc5ZoLoh@`GGs$BR6{d# z!!S(4GHk;!T*EW+jS@ylqm*%-alLVaaidY%xXCDElr_p3<&6r)&BiUpt;TJ}?ZzF( zoyJ|p-9~{?Xk?76;TwSw8abn)QOUT+xYxMPxZildc+hyrsBBa*sv40I8`X^JMh&B; zQOl@p)G_KB^^E#P1LI+%q0z`_Y&0<*F`62W8qJL6Mhl~*@tD!dXl*=h6d7%dwnjUn zz0twwXmm0<8(oa9MmM9o(ZlFz^fG!IeT=?FKcl}fz!+!@G6ow%j3<nt#xUbaW4Q5@ zF~S&Wj53}!o-sxnV~l5w=Zxo#7mTsSi^e!(yfML;XiPFD8&iy_#x!HPF~gW?%ra&h zbBvdamyNl`JY&A`it(!Pnz6uGXe=@o8?PI07)y*djkk=qjdzT9jrWYD#xi5MvBFqs ztTI*`YmBwVI%B=@zOljBXlybz8(WMIjIG8tW4rO8@sY8^*lFxCb{iiXpBQ_Ly~aLc zzj44gXnbmXW*jmO8%K=Kjibgf<GAsKal$xhoH9-uUm9N-XN<GPIpe(XwegMdt?`}l zz43!_!T8a*Xk0RWGJZCGF@7~J8^0O98&`}!j6aR5#$U!YGtVSU(xgn<WK7oNOx_es z(UeTtR7};>Ox-k0)3i+6bWGRu%zU$iS<)<JUT0o!-eBHnmNsuP%a~=&a%Oq6f_bxf zi+QVgn|Zr=hk2)YmwC5YU>2GgGi&;0V1{PStY}s;?=kN+?=$Z=A21&@A2KVORm`ep zWX5JSv$|QstZCLVYnye<x@JAIzS+Qh*lcJvG8>ys%ty?o=A&jav$@&AY-v7bwlZ6r zkDEni8?&w1&TMaXFgu!^%+6*Pv#Z(7>~8ijdz!t>-ew=Oui4M+Zw@dAnuE;2<`DA< zbErAYe9|0lK4p$DN1CI|r_E=~(dHQQS@SvbdGiHxtofoj&Kz$}FejRm%*o~ybE-Mb zoNmrAXPUFj+2$PcCG%x-t~t+~Z@yx_YQAPJFc+GO%*E#G<{Rb`^G)+D^KJ7T^Ih{j zbE&z^TyCx~SDLHL)#e&=t+~!zZ@zDCFgKc;%+2N&^8<6Mxy{^eerSGV?l5<nyUg9@ z$L1&I9&@j`&)jbwFb|ranxC16%){mp^K<j4dCWX+eqo+4PnxI9)8?1vSLPY>ta;8n zZ+>llV}5IXXMS(~U|ukPG%uQ$%%9Ak&0ox4&CBL*=I`be^AGb+^Q!rmdCkhR2#d5R zi?$exwUYmXlqFcAC0VkiSgNI2x@B0VWm&f6Sgz$+`Bn+5q*cng&br>Z!Mf2ZZQW#* zvC3NItnyX`>t^c~>sISF>vro7>rU$~>u#&SDzq|I*7B{u3ay+~(W+$KW8G`rXWef- zU_EF(WL37RSXHgaimhr^b*qL|)2e0Fw(3}Qt$J2{tAX{f)zE5WHMW{qk62BuN3CX7 zbE}2b(t6BlWwo{*w~DMbR$Hr`)!yo0b+kHJovkibSF4-V-RfcWw0c>+tv*&?tDn{1 z8ek2y23doxA=VStP-~d=q&3`n${Jyfv_@G^ThCadtufZK)^pbL)(h5H>qTpvHQt(F zO|&LildUP%RBM_w-I`&|v}ReetvS|9*2~shYo0aVdc}Ixdd*s3EwmO{i>=qKH>@Sr zo7P)-oANeWZ(HwJ?^^F!ORZ(ra%+XP(pqJ$w$@l{t##IV>wRm3wb9ySZML>pA6Q$h zZPs?{L+c}Jhqcq%W$m^;wmz};SbME~)_&`Nb<q0M`pi0H9kz~GpIb+*W7cu&3+se+ z(mG|Gw!XB!vd&m%t#j6S>uc*9>s#wP>wD`5>w@*8b<w(H{bc=Y{bK!UUABI+ez&ez ze^`H7SFOLSYj&PZ*rZL_w9VM8&Dp#y*rF}jvaQ&vt=YP5*rsjSw(Z!i?b-Qu3A?0S z%D&FN-oC-U(JpP@WS6na+U4x>b_M%p`xg6F`!@S_`wsg~`!4%#yTC5AGj`VY?Z6K0 zoL$kbWZz@oYu{(zZ$Dr^Xg_3EwyW4x?Z}SpYIb$IhF#OHW!JXr*mdoCc73~n{jlB8 zZe%yMo7j)oP3=eRW_EMCh27GA%x-13wjZ~P>^62=yPe(M?qGMcJK3G>E_PSDo88^+ zVfVCq*}d&Pc3-=n-QONy53~o_gY6;q6ZTMhnEj+Z+<wX)VUM&&*-zWg*rV++_OteL z_Ve}&_E`Hxdz?Mqo?uV3C)tzjDfU!*nmyf~Vb8Q@*|Y6A_DlB5_FQ|OJ>P!Ce${@> zUSKb@7uk#L*X=j#CH9;4TlU-bJNCQwd-hU$nZ4XzVXw4T*{kg}_F8+Lz21J`-e7OE zH`$x*E%pcYR(qSh-Tu)2$lhV^w0GIN?T_tG>^=5gd!N1EK42fTKea!z57~$9BlhR^ zQTv#E-2TEoVV|^5*{AI<?XT=J_F4O!ect}s{>J{+{?7j1{=vRr|7c&dFWEoYKij|9 zzuK4W-|XM*EA}7upY~PzFZ-I4=MWC*P!8=d4(o6Z?+A|QNRI3%j_PQR?ih~gSdQ&D zj_Y_%zEi>}>6CJ=bFO!8aBg%;J2yFHoU%?ir@T|ax!JkJxz)MNx!t+LxzoAJx!Wml z3Z0CTb$lmqLMP``bSgRbIQKgDIrlpcI1f4xIhCC%PE{vzVyBu@-KpW!bZR-ZojOik zr=C;aY2ZBUG;|s{jh!aWBTiH2QKy;H+-c#obRKhBIjx<?og$}=)7EL{w0Al<9i2{2 zXQzwP)#>JRcX~KIonB6Fr;pRu>F4x!1~>zqLC#=ji1UOq)EVYH=?r(Caz;2Kol(xy z&NI$vXN>c#^PKa%^MW(hdC?i?jCUqD6P-!UWM_&q)tTl@cV;*<omtLoXO8od^RhG7 zndi)RUU6P^UUL>W3!O#IV&`?|4QGk-rt_Bbw)2kjuJfL=)LG^%cUCwnomI|iXN|Mg zS?8>G-gh=Q8=XzgW@n4@fwR@w=4^L9bUt!+I6IwP&Ti*p=M!g-v)9?@>~{`02c1uy z&zwWfVdseRxpUMx<{Wpva85WUom0+f=S$}+=ZtgKIp>^rzIMKGzIDEHzIT3bE;v6r z7oAJaPtMQIFV3&dW#>2Ncjt=phx4a%)%nZ0=H|JCOS+UxyNt`aoXfj{E4q>^yNav2 znyb5pYr2+eyN>I+o}2HMa7((S-0R%y-5cB+-O}z&ZW*_%Th1--R&Z~2Z*gyRZ*y;V z?{M#Q?{e>U3*16C<7Qpo4cySpxfR_??mh0k?tSk4?gQ?F?n7>6w~AZUjojF+=2mxW zxHa8cZf&=YTi31U)^{7Y54#QBMs8!biTjA#)P2-#<~Da*xGmks+*WRD_i?w#ZR56e z+qv!C4sJ)cliS(t;&yerx!v6!Zcn$D+uQBq_I3NY{oMiXKzEQk*d5|N;SP0&xlg*o z-KX3U?nrl(`?ULvJK7!NKI=Z`KJUKZj&)yj$GPL(3GPI9k~`U*;!bs^xzpVl?o4-< zJKLS(zU02_&UNRx^W9h6SKZg#1@1z3k-OM^-F?Gd;=bv=<-YB{<G$;@=Pq@Zxy#)Z z?n-x+yV_mju65VB>)rR=4emyFle^j7;(p+6b+@_O-4ET5+#T*tcbB`{{n-7)-Q(_c z_qqGs1MWfhQ};9XkbBrY;(qQPb&t8n-7nk|?n(EQd)ocd{mMP#o^{W;=iRT}Z`^O) z@7(X*AKVM>kM2eHlKYeUv-^wtt9#k~&HdfI;{M_O>0WjJa<6%L9^sK5<<TDFu^#8~ zp5Td|<jJ1msh;NPp5d9E<=LL&xt{0cdnLS*UMcT7?|SbB??$h*cavAfE9;f>%6k>O zo4s4STfN)7+r2xyJH5NSyS)Oh(93vP&-Vf^^m1NBuab9<cdvJ!cfa?5_n`NXSJ|uL zRrMk-_NsZ+y&7Ikua;NatK-%6>Us6O2HwM7L$8t7*lXfF;x+Xi^_qFjy%t_e?=i2H z*V=pBEArZSZM}A0d#{7n(d*=O_PTgoy>4E2uZP#u>*e+K`gnc4eqMiXfH%+^<PG+Q zcu#mky<y&y-f-_JZ-h6}8|6LiJ>!k`#(2+q&w0;#FL-0U7rk-bcyEF?(VOH=_NI7K zy=mTbZ-zJ1o8`^+=6El8FMD&ndER{Q74KE=HE)5p&|Bm!_Fnhi@RoRQdT)7ed+&Jf zdhdBly=C5VZ-uwgTjj0x)_7~Zb>4dKeQ$%e(c9#0_O^H*cw4<~-gfUp?;~%Ax6|9@ z?e;$QKJoT=d%b<$e(!*H(EHT;%sb>A_KtX;dq=%v-f`~>?}T^KJLR4BzVyEG&Uk0N zbKZIHYwsKHTkkvXd+!JDg7>3$(YxgR<o)dZ;{EDf_I~qz_pW$<cz=3Vy}!I``FZ(7 zKABJD)A>w3o6qI*`9i*!FXhYmO1_$}<?H!IzL{_3+xbquoA2f4=a<MYnO`dZy8P?& zZ^*wfzjXdh`DOCU=9kMapI;&W=KNcPz8(5?O1_<=eGjg3_oB9adiLOo(vhv)Cizvc z_H0q{z*X+qG5O7?u3S+%N>$r-?vwmVWruF<2T5)JeJxf^e&MvJZSt)Y{lvEad&x#^ zi;|CK+oeO4<SFXM#YmWZmB!zR**HzuzIYJh|Gism|G$@9jA^t_M>bABv3>C%RsVM) zQpbN^i`D=40b<Ahy_Bmb-vQ9QD4nd_@jro7<KOp6o&J4I*JxAJhwha8!Pe~8xm&yT zZ1SZC$-vdbN;+dDHPe-JPETD;%(-(qk~M3Qox4c2{{393%fGMX+W(n|-1Ywi9h2`4 z>Cr9umDJ8{**ZmSlP~6AyA=;|o&Wy5ZvP3`I_U}ORy@#klGW4Ql0Vpb>HB-6@2~ft zx5z#I6R`Et_xDIoaF3#1J(Dj5>6zRxRNSK@)xJkZu09r@{4dXnFJt|5@jZ(NrGBU6 z3tfu(^zYs+`5kDb=YJ!%VLFH8TPBjF$PNFKR_^nkfNhx0p-(zAO5fGDc#s<Xd+MaV z|Gt(R|K|hbe*X#B#_7lOD<0^^e_zsme_zrj=_T!-UeYF5Re!9iNxG{3#RJo%Px33^ zO#i?CRGR#EO-ld&MqCqI`u^!CHT`#n(!l?`ZuXzoga3WaHc!_&q<9dU|L@)vhy3p) z(=GY`)b-{1_vl<uSg`<OA;t{GEJhz=fHB0F!&nhxC5)9ZR>4>mV}vorSS=kZA%7+0 zuY|mnkhc=@RzluN$Xf|{D<N+s<gJ9fm5{d*@>W9LO4XS9$?w%C|Mv9nKhrr>#+oZ5 zcV*<RjNFxxyE1ZDM()bUT^YG6BX?!wu8iE3W2Q-Q&i?=Atb+AcLGCKZT?M(TAa@ny zu7ccEkh=<US3&M7$Xx}ws~~q3th)-%cU7G4s>ojz`Kuy-RphUV{8f>^D)LuF{;J4d z75S?oe^unKiu_fPzbf)a$R8npg!~cmN5~%`e}w!I@<+%YA%BGY5%NdKA0dB){1NiU z$R8trjQlb3$H*TCZ1wc1?^ryfcS?-xF|x<V9wU2<>@l*($Q~nmHDs@b?A4IH8nRbI z_G(ytHLSiGR$mSIt5r(Anjuk=^dT?$-%GA?TzrTtYF|7`_4{@!N`9;JZ?%+q{`<Ok zHOc?<5@R}>OhG!EOhG!EOhG!EOhG!EOhG!EOhG!EOhG!EOhI}!G6m_`$P}b!BU6x` zjZ8s$HZle2*~k>6XCqUH{DsJ0i2Q}fUx@sL$X|&3g*my=f8<&2`=20PQ6Xkhh?x{( zCWV+uA!bsDnPf1N3}%wSOfr~B1~bWECK=2mgENuAnaJQwWRO3D{2AoWAb$q=GsvGs z{w(rmkw1(4S>(?me>UV3HBY{ot8bTd!C6coiwR^gfh;DF#RRgLKo%3oVgf!U;9~+l zCg5WNJ|^H}0zOWFj}zb{zmNPr^83i|BfpRQKJxp>A0U5#`~mU@$R8kofcydS2gn~F ze}Mb}@(0KtAb)`T0rCgPA0mH<{2}s($R8qqi2Nb)hsYlye~A1c@`uPDB7cbdA@YaF zpF{o}^5>90hx|F@&mn&f`E$shL;f7{=a4^#{5j;$A%70}bI6Y}AX5?fD<XeI<gbYQ z6_LLp@>fLuipXCP`70uSMdYuD{1uVEBJx*6ev|<jlmVGa$d7U$gK{8)av+0pAcJxs zgK{8)av+0pAcJxsgK{8)av+0pAX5qXE93lE#`;kbWKa@hP!eQN5@b*kWKa@hP!eQN z5@b*kWKa@hP!eQN5@af4{gsiw3i6{Y$e=99pe)FsEXbfN$e=99pe)FsEXbfN$e=99 zpe)FsEXbfN$e=99pe)FsEXbfN$e=99pe)FsEXbfN$e;|!pbW^M49K7i$e;|!pbW^M z49K7i$e;|!pbW^M49K7i$e;|!pbW^M49K7i$N=jZU_Aq@XMpt#u$}?dGr)Q##{C=P z{*7_}0_+)pJp+(u0P+k#o&l&c)pA1e{fq<t{!X|yLNQ+depRf+*@BEvYzY2yBz=0a z0BIH=%>ty^f{IF~o;|x3e`nx--jzN>S>QAaoMwU3EO43yPP4#i7C6lUr&-`M3!G+w z(=2eBElkfrwlIB$vxVt1oCQR)fM^yF%>trXKr{=8W&zPGAezl&<OEX1U;Fv*qCnCt zNSXynvmj{}B+Y`PS&%dfl4e2DEJ&IKNwXkn79`Drq*;(O3zB9*(kw`t&89a(Hj9%0 zkY)kWEI^tCNV5QG79h<6q*;J83y@|3(kwul1xT|1X%-;O0;E}hGz*Ys0n#i$ngvL+ z0BIH=%>txZfHVt$W&zMF0Gb6TvjAllfXo7nS%5JMFlGV9EWnrr7_$Il7Qo5^SXlro z3t(jdtSo?)1+cOJRu+KD0#I21Dhohmb1~DeXOEtJm3Ezz@1*RTe6Q%=kyyD~ujKoH z{(dPGC13W|zFYgwMRMG$Z|B6)79Zy0<oiU6e_k`$RVscZ*YDo>?`?)OX!4)GEY|Pd zzGM2AjLykl|3A5y;#_o<_Wg>O>P5-6Px^ExBtkyAdGaGF$;UMAl)R$<PRP_wz5}u- z*=p(Drd<(Pw?A30Kly0qWW%F)24sWIRKrd^nMR#Eb}ynD7xm{b8>&I4&Q#UpzXp9f z%YT2)KQqzr7ygOGqW_%$x&41u!Y30*m;LuTieK6N)1UwI*5ZRq@%!mE$zNwW{=F!s zUHfkRia2~0JtX-7_4f~xZzxNa^!JA`U5l60t$0c4IjB;V?9rbb)S2s<u8Zo^sVAF! zA87ZYLZ*12`Xy^aeyUfpuC~d4$#j_H`{g<o$$x+BKhx6wziG<&%=BvEhsA+d{O019 z=`;Y7Y*fG&Pq&b7k}f%gcos0pMn0X)p^z<p|35#&^A10mg`dpAPiEmKv+$Ey_{l85 zlLdIP08bX+$pSoCfF}#^WC5Nmz>@`dvH(vO;K{;KX5lEa08tho$^t}LILa&>WfqPy z3rCp+sIqXBSvblp9Ay@cG7CqUtp?Gr2Iy2v3%6{wv~bH-OAEJbwX|@_R!a*PA0E;# zNYASe59z~0`tXoG(B}hvKG5gGL;CQLK0Krk==p%259s-To)75xfSwQN`GB4e==p%2 z59s-To)75xfSwQN`GB4e==p%259s-To)75xfSwQN`EZUtoTCrk`QV)o-ud9258nCU zoe$pm;GGZN`QV)o-ud9258nCUoe$pm;GGZN`QV)o-ud9258nCUoe$pm;GGZN`QV)o z-ud9258nCUoe$pm;GGZN`QV)o-ud9258nCUoe$pm;GGZN`QV)o-ud92598>Adp@}5 zgL^)VqYvZg!#Mijp${JVFpfUB=)*Yr;G+*d`rxAvKKkIJ4?g<fqYvZg!#Mgdjy{Z| z598>=IQlS-K8&Le<LJXU`Y?_@jH3_Z=!3&PIP8PNJ~-@y!#+6dgTp>J?87+vFpfUB z?1Rfbxa@<=K8&Le<LJXU`Y?_@jH3_Z=)*YrFpfTqqYvZg!#Mgdjy{Z|598>=IQlS- zK8&Le<LJXU`Y?_@jH3_Z=)*YrFpfTqqYvZg!#Mgdjy{Z|598>=IQlS-K8&Le<LJXU z`Y?_@jH3_Z=)*YrFpfTqqYvZg!#Mgdjy{Z|598>=IQlS-K8&Le<LJXU`Y?_@jH3_Z z=)*YrFpfTqqYvZg!#Mgdjy{Z|598>=IQlS-K8&Le<LJXU`Y?_@jH3_Z=)*YrFpfU< zlYQ(b`!JF|jHC}E>BC6+Fp@ruqz@zMgZ(~?qz@zM!$|sIzYinn!$|rtl0J;25B~e$ zzYqTV;J*+4`{2J1{`=s+5B~e$zYqTV;J*+4`{2J1{`=s+5B~e$zYqTV;J*+4`{2J1 z{`=s+5B~e$zYqTV;J*+4`{2J1{`=s+5B~e$zYqTV;J*+4`{2J1{`=s60R9Kye*pdm z;C}%A2jG7I{s-WH0R9Kye*pdm;C}%A2jG7I{s-WH0R9Kye*pdm;C}%A2jG7I{s-WH z0R9Kye*pdm;C}%A2jG7I{s-WH0R9Kye*pdm;C}%A2jG7IP6yz008R(sbO25V;B){^ z2jFx7P6yz008R(sbO25V;B){^2jFx7P6yz008R(sbO25V;B){^2jFx7P6yz008R(s zbO25V;B){^2jFx7P6yz008R(sbO25V;B){k2jFr5E(hRp04@jMasVy|;Bf#R2jFo4 z9tYrY03HY6aR43%;Bf#R2jFo49tYrY03HY6aR43%;Bf#R2jFo49tYrY03HY6aR43% z;Bf#R2jFo49tYrY03HY6aR43%;Bf#R2jFo49tYrY03HY6aR3en;BWxG1mH^mz69V) z0KNp^O8~wE;7b6$1mH^mz69V)0KNp^O8~wE;7b6$1mH^mz69V)0G<TkNdO)M;6VT$ z1mHmc9t7Y)03HP3K>!{E;6VT$1mHmc9t7Y)03HP3K>!{E;6VT$1mHmc9t7Y)03HP3 zK>!{E;6VT$1km{aIv+si1L%AJoe!a}A@ntbu7=Rn5PBLy4@2l&2t5m-V<B`bgpP&K zu@E{I!pDU0F(G_R2p<!|$As`PA$&{-9}~jIgzzyTd`t*^455!9^f81!hS0|l`WQkV zL+E1&eGH+GA#^W<?uF335V{va_d@7i2;B>zdm(f$gzkmVy%4$=Lia-GUI^U_p?e{8 zFNE%e(7h147ee<!=w1k45<>4n_=^yF7DCTL=vfFo3!!Hr^elv)h0wDQdKN;@Lg-lt zJqw{{A@nSSo`uk}5V{pYmqO@L2we)HOCfYAgf4~9r4YIlLYG45QV3lNp-UljDTFSC z(4`PQA%s4K(5DbSA%sr|;S)mmgb+R<gii?J6GHfe5I!M<PYB@?LimIbJ|Top2;mb# z_=FHXA%sr|;S)mmgb+R<gii?J6GHfe5I!M<PYB@?LimIbJ|Top2;mb#_=FHXA%sr| z;S)mmgb+R<gpP;M@en#5LdQescnBR2q2nQRJcN#i(D4vD9zw@M=y(Vn5252BbUcJk zhtTN|b$^IDKSZ4$qP`EI;~{i9g#LxlzYzKtLjS^l^bd7zh&ne!og1Rg4N>Rjz?B@h zk^@(A;7Sg@B?sS<!~AoYe-87{!MEh#TXI-W4(rLmx8$&{9DGX->&t;tIdCcmPUXO< z9M+!$r*hy_4xGw?Q#o)d2TtX{sT??!1E+G}R1TcVfm1nfDhE#Gz^NQKl>?`8;8YI& zBnN+zgFnf^pXA_Aa=30eT(=yqTMpMPhwGNZb<5#8<^H)&@FOwm*ckc|LqB5ZMhu;Z zp%XFmA%-5rc)nvi-!Y!=7|(Z%=Q_r79pkx<@m$Avu46pcF`nxf&vT6DImYuG<2jD; z{Kj}*V?3`hp3@l5X^iJI#&a6uIgRn0#&}L+Jf|_9(-_ZbjOR4Qa~k70jq!ZOcs^r1 zpE2(L825jS`#;A0ALIUyao@+d-(%eGG4A&m_j`={J;wbW<Nl6uf5*7LW8B{{?(Z1) zcZ~Zx#{C`R{*G~f$GD&4^nNZZNcA)si}#(AvG^YhBxCVESV+d=mTNK=H+++^xX+i2 z#ryurSlsMP#^QbNWGvqIPR8PW?_@0A_fE#*eeYx}-uF(%;(hPJg7i8iBl4%$DT$Fk zy-rDt{ONT{V&qS+QxYS8s;5be{OR>dV&qTtG>MTvy?%uS>GexStUtYeNsRTU`c+tv zUXNtNeADZZ#F%e-J(3vnO|M51W4`J2NMg)4)te;7eADZb#F%fYH%W~7rg~FYkm^k` zV!o-~Br)cj>P-^kdZl`k#JFB*U7W<YUa1ZxF|JptLrIM5mFiGoL8?Q^i1nvBl*Cwn zszXVP^{4zuVyr*ar6k7sQ(a18tUui+DMTM68PoNl50b>``p^eS;&grJgCueKx#)i+ zar(LFe<X2wUeW(Z;`F?t|51qkM=~OBy8n^H$eY&tNsPSd{znq0=N0{rBu>vO`X5P* zyy?D25+iTA?@@@pM=~OB>KBq2c~ifT#K@cag(ODa)Gs74@}_<viPP(ezDE+L*Asn@ zLi9b7F}<GXdn9psJ<<0_;`Dl=-;u<~oBD(#M&5KEC5e$Y-A74c<W2cgh<-;hB5&#^ zk{EeYKas@9oBD|)PVXc1JCYdJJM|MujJ&CjNMhtoeMBMp9Lb2hsgFovoafX(Br(o& z>LZdE>rMAjk{Ihv_fe7<dDDHABu3tJAEglejbudL)PE!~)|>i|B*uDE|B=L4Z|Xmi z80$^_M-t=yPW?v`<33CMM-t;cOZ`V7`WwlJ`z+m0Nn)%&-A_qktUujPNn)%&^({$^ z^{2iiiLw6Fw<IyvpZb<U^f!_b>rd;BB*yyF`Xh<4{?xZ5G1i~fBT0<)r*%mZWBsXb zNn)%&^({$^^{2k25dDp0#QIa;lEhelTGu2o)}PijNsRTU^-U6E{b_xZ#8`h?-y|{C zpVl{p=x-z=)(_62zmXhAesC83jpR7i56+^$ksL>Ua2EZI<T%z3&Z56ji2g=0B0o5b z{zh^f`N3KAH<IJX56+^$ksL>Ua2EZI<T&z!tLSGGqMwnBxZdC@`WeY_obS{ZBr(o+ zS|=qj@}+fB661WQby5=Je5byk5dDl~#CpML^fQv<ST8t@enxT}>jkIL&q$6VKRAtk zMsghM1*g%^C`3Oa8Id2HMn5Atj{M*>`WeY_<OiqG&q$6VKlqG3MsghM2A|Q#C`2D4 z8F8P3&*)<$$MKwj&*)<$$8p}lXY?_W<9N>g;d9!@NRA_a+Q%qFA0rvlb)%1w#OZZM zA0vs={ODsOak_5wAqvrlNXB&j=tCrNdfw27NaFOqK_4QC)A^$hk;LhFLmwiE)B6T} zh$K$uk3K{p`Vh&8`Gd#kLnOzMA3P4g;{ZGkz~cZs4#498JPyF)Al<)9J`efR{ky^- z-M>pl<WKkSk{IVN-M>p>oWFGcE{Spez-9C|lH*uExQzZray-3n(cdUUUn3cj7d%E^ zBRP(BgU9G=B*&3A-QP>%RG-n;NaFOqL0=<@kr!M>U!xFxjbz02PWSba7<s{E^fQv< z$O|r`zmXirdckG%H<IJX3ofI-Q5dBAg2{+=gUjf1B*&2-Tt=TGIgb3`GWs0JapVV2 z(Vr+pe<B(2KJXO%iRAb{@5A{5Ptl)9evbPDJVk$^5dDc{#CZcx(Vs|;<30f|1Mo5c zF9Yy0051dZG5{}wbf2#<051dZG5{|F@G<}|1Ng}RoD0CY0Ddw6=K^ppfS(M&xd5CC z;3orcE&%5O_{jjA3&6PmeiD6zLi7y^u@9Y$>3PS#Y$5h#3$ZVojOq0cQ5S`%i?Cmt z{5(C6A?hOR!xmy6HW}0NkA2uAPVXD+!zOX6Q`m=1;#8-w51Yj4^~XMJ5~n(aeb^*U zuRr!-3$YKIjF>mB5B6b`<H(QegMHZKIL-s=8SKL*$B`fP4EA9QqqHxbjA@<-ek_8X zNAP12^gMzei=gLG+Lun=pXx%C_D_;Hz0aexkCMdc^BJXm=_F3;wkYjO7e;AcIvLaR z9Kn}G;6VfqMDSw~I1r`%=;VFr`l7T?lf>!yjo`~7a3F#&i{Q&5a3BH)BKWchx*tLJ zBj|nv-H)LA5p+L-?nlu52)Z9Z?<44a1ig=-_Yw3yg5F2a`v`g;LGL5@un2k|LGL5@ zun2k|!G}fgVNu%GDU6`|5p+L-4~wAt5p+L-4~y_TMbP~Sx*x%ZMbP~Sek_9SN6`HU zek@A+I)xGZSOoo#p#Kr{KZ5>8@MRJ7KZ5>8@MRJ7KZ5>8(ESLyAHk1B(ESLyA3^sc z_^}AOA3^sc_^}AOA3^sc_^}AOA3@(E=z9cz6u}oo(BlZtSp?q@!8b(k4H0}p1U-$Q zrxEltf}Tdu(+GMRK~E#-X#_oupr;Y^G=iQ+(9;Nd8bMDZ=xK!gxd^@?f^UehKNrC_ zMDPs}_U9t_h6uhP!v0(Y-w?q!MA)B;;2R?B&qdgui{KL??7v0u2@!lk1fLMWC&bXJ z7<v^$uVUy`484k>S26S|hF-<cs~CC}L$6}!RSdm~p;s~VDu!Og(5o1F6+^FL=v558 zim{IrL$_k+Rt(*Wp<6L@D~4{x(5)D{6+^dT=vEBfilJLEbSs8##i(Cn)UPpgEQXH7 z(6Jag7DLBk=vWLLi=ksNbSy^w8bi-w=vfRsi=k&R^el#+#n7`DdKN>^V(3{6J&U1d zG4w2kp2g5J^fd}&=vfRsi=k&R^el#+#n7`DdKN>^V(3{6J&U1dG4w2kp2g6!7<v{% z&tm9V3_XjXXEF3FhMvXHvlx07L(gL9Sqwdkp=UAlEXF=l3|)(%YcX^!hOWiXwHUe< zL)T*HS`1x_p=&X8Erzbe(6t!47Gs|&#y(SweWn=uOfmMEV(c@;sHbAoQ!(nP7<F-s zdMZXe6+<^;=w^(4rWkc`3>}S87st@k7<F-+tHw4h{!KD=U^+A{{%taLVDTU{{pZ&t zgn|FO`uleu3S-n|=zAq`T9?JxXF~rgIiA)lG3qk(!;<4^T^6Hmj!`$qsLNv1Wijez z^v?>>KTF26E=2z<iIE@sOz5K}$B`erKp!nRj{M+73|^q0R)~IDGN%491~1T8OO7Ky zcoBmaF?fM~Tk`jiAG|={Ejf<-;05|_h3LB_V_L7F@0P@AU5dV25+gr&fxcUEJgpaF z@B;m}<ak=Qq5qb|$PZqiA6JNeTrwg*_MOm=OOB`YJo<7;oYuwY&m}SPW8Vq=x#T$V zW8W#pzEg~Sr~lX8nYh`NoaMdc>Z=*Gwvk6Owr0k{n@kc0Md#eUx2hd5I_LH+FXI3< zgoMR0Ep=<AGa5;5b&owsCYdA<NCE+~7-AC^lQ<hoLN>z~a1s)1!oIKBNeD~!1sa~~ zyr<q@ch@{m{sQzo>N;<oy7#N~d%v&hobPg8*Kl5^6#1MFabBl<<a0j6d7bhZf6j;I z>^sfbcjEj`<!mp{*>{?AJ~ZciXwJUVoPDP`=R<S$o#yO2%{d>Mv+p!#-)YYI(42jz zIp;%j_MhgQ56#(snzR2j=X_|Mo8zDDh4@TKyxKS&nzQ>fXZLB&>Cl|rr#ZV%b54im z>^^1KJ;Ux9cF(YThTSvlo?-V4yJy%v!|oY&&#-%j-81Z-VfPHXXV^W%?iqH^uzQBx zGwhyW^9-A3*gV7L88*+bd4|0+?44on40~tTJHy@?_Rg?(hP^ZFonh|`duP}?!`>P8 z&aiiey)*2cVebrkXV^Q#-Wm4Juy=;NGwhvV?+klq*gM1C8TQV2BN_J2uy=;NGwhvV z?+klq*gC`38Me-_b%w1oY@K1}3_EAoIm6BwcFwSKhMhC)oMGh*8)sNJ!@e2z&9HBV zeKYKvVc!h<X4p5wz8Ut-uy2NaGwhpT-wgX^*f+zz8TQSvZ-#v{?3-cV4Etu-H^aUe z_RX+whJ7>an_=G!`({6l)?`j~GP@v|U8u}1NXF~Qux;j4C&RWGw$1E<WY{*twwYb3 z4BKYdHp8|Vw#~3@hHW#uAemi|4BKXQK{9NcVcX0uNQP}QY@6}UGHjb++YH-gyt9mV zmSNir+h)A84BKYdHp8|Vw#|5F8Me)^ZN@vxux*BIGu~OoJIk<b#yiWfZH8qtESvGl zGAx^6*^F0~VcCpVmSNcp%Vth@GEYrpST@758Lutlt!3CX<E>@bHN&o%Q=JUEX4o~u zt{HaCJbjTl)yc4HhFvpknmNVEuxW-(Gi;h+(+rDdSTw_;85Yg3Xof{IESh1_42x!1 zG{d497R|6|hD9?hnqkoli)L6f!=jl}o6M<AhBq^Onc>R}UuO6+!<YGhFFCEroYrKY z)+k_636r6;?CL2kR*KSMB`Pgen$lvWC@of+(qbhkEmn%sVkIdpyK72|m8i5>NlJ^A zqO@3PO3SWZd&NAev{|{a{rKL_)~2E>4JLxJ5ZO#m@7>zm+EGv<-M)77^gH(Sp860M zap&&VCT01$c6>$=5)~vtG5WSP^r17m@4Q_>mo`Z%Iun&QNeWYWlcX?}H%SUpd6T4~ zIyJ|i+P*b}0KBWX6}PC1sZn>Szo}7}E;BU>_b0aAbzN_Pt4*$#$xwHYV=`3KC<e)7 zD9j+4426+o7giWaCPiTe$D}CC;FuJJ863N?!t|y|QqiiI941L&CWlE<82KhiVdUF| z6-K^YSYhPbg%w7=U07k{n?w~Q3;8BdVdR@cg&8-KqcG!UaulXNO^%ATMSq$cg_-0g zLt!Sl$xxViVlos)p2<)cc_u?)<oSq3QN567aujC#Ope0HH#rI;-{dHae3PRv@=cDy z$Tv9(Bj2Q`XkzrANl}>oGbsu)ekMg>#?PcE%=noUg&9ASqN0>tIeq=M;zc~AwYR&m z^NeS6*Dl}O-q`>kqMIJSvvpUc$fjkcJ$+NRys1!%%k#aR+mv8#nDA7BxnaUnWHj1l z!V{)#COlyTo9KjTi-}H{?>C_+vKrrK0uiP!OccWOwFyBH*F3fj3ba9iHYm^r1=^rM z8x&}R0&P&B4GL7xBbIjSc|%gyPtV_h-TtPza_<{&>}))_ySL*T_CVUk9*9y;ss=UM zcz;p(@#H(V6aqvcL^tl<<+JXT#$Jia^!L8?g<rmY>W+ejT;JKgv%9VMw1a|fywlh= z_EnU+>l*tg!qmV%im<13gZgbyzYXfQLH#zU-v;&DwCg9f?(QnC>n`fPK>;`RQrgB| zic&AE#$Jl>s={+@-7%pwDB=c1+@OdX`zR{yW!2b65oQQb%MEI|K`rZ%LH7e{S&!6# zJq7j18Q4=$k6?j4rSwP=nBGS%>roEpqki>h0=T_*SYS_V?`)nBt(6M~5DlzTXNn>M z4XjgJ^1BoIimmO(pV)ok)b10CW$Wv^CvR*&eQ<s1uDJCUH~1X04vpNPksCB}gGScr zs>|E0X?3~^rapFSluv!o+zpz$L31}~?gq`>pt&0~cZ23`?AEl6-5RCHN0T>b@&--b zpvfCFd4ncz(Buu8yg`#UXz~V4PH@+@L6bLV@&--bpvfCFd6U*oZ0zjZe&@}t8@u<E ztGzobCEXduz&AH<zw?%_u4zzxwRdNeRfbY-P|6KTxj`v6DCGvF+@O>jdn#>XPemz1 zXiueW?5QYa*4k4MrVH(<2s4CTJVgUGZ(X~)<#9!CH+EN480}?uMHuac_HNML4cfaw zdpBtB2JPMSt7jA>bZ2|xaT$72arA|~m$tF@qLdYcQg2Y|jlCD$X9c6=8+$Lxr!VZi zw2i$NrSyfp7h(FsdxXODg}oSI<lBo8MuXUk5k|hf7-3fSEW0md`3*C}GeThR&gs&} zx-9eKu+%U`4#6->-2L7=Y#Yd`fvg&PJIZI7+1n9jcp$OHUXSvrm%X00vDc#%&10`e z7|mv{M;Og!uSb|=Zm&le`SyB*k#Da@nCW4!N0@Q(-eKGL*>a_fi@hLW#>Kmb!i<Z( zAz{YF-jFckVsA*8aj`cfO#5>_A!ZvKiw&FP@<L8-y-TsO6ia>kFmLtVt*7qnJ|i>c zUTtaW7~$6LJqn!l)DUppF|>xuGDI?1?!CKrUFvq@Aj7hW;o1_zwIz0|QulESf4A_r zbmplI)njM-?vr9dPXH+*OYyd%KI{(GOcP(<zH@tLVC#*WE4p}M2!FkCbF^{m@ta<~ zD(+8vbFpn9?iS*1A?~)FuH3x+`1bXUA@2DJE^qIg+P<aw$n_b7jMQ-$1}((h;y1PU zO)a$DLfb90-9p>#czi-(r*^h($kB7n@S$3$yM?-2sJn%_Td2Dgb>H27YWwEK4xje~ zYoYEI>TaR#7V2)H?iP=#U0ppPhwky6y~A;Yyjy&$7N4rcr)nYZ7N4rcr)nYd7N4qx z)LTfs#iwfVsakxh7DjJj^cJ70h0$9Wy~U?$@u^yTsurKB#iwc~`Q+9+_O_pvJ#_0j zy$gG{uy+evx88)*urs@0>lU_dVe1yQZei;dwr*kT7Pf9->lU_dVe1yQZei;dwr*kT z7Pf9->lU_dVe1yQZei;dwr*kT7Qag|Sj%eAT-_6M?VcHy#sG#tTe~N;WPQVPCQVLh z3hFl%D1882nlkhZ9$AY=*5Z-1cw{XeS&K*3db_f1@yv+MDr^PU;+ZKr>&g&;UbgGa zJ)3w6(0ayMPwm~@-M(}48P^1JfH<xCCaXH)v<jncFb9a!s(h>37IUD*9B45Ih|}6C zPU~qk{La?!g9m$u>k6ZQXss$me_#&~tyTHxBkTd9wJP5Vx5XZ4u?Jf00iw0GL~B)Q zg-^6rVJm#1wF)C2Lx5<l%11ti0MS~Nk9-UPqP0qKp%F0zh}Nq7)qAvybfkAN1X>IM zqPMD?36JQl!pO%EAbP9vk?-wHDN4H%L~j*lK6pD*nD#^XL~m8T3AcstTL`~}@LLGK zh45PlpJ=c8JhK48C)%qNHu52SqP;5Lgx^B=Erj1f_(XeEIc6b*PxM#iqmLo{7Q$~K z{1(D*A$+34ia2OLgx^B=iW=)x0O7X~ehcBZ5Pl2cw-9~{;kSNRU4-QRA75!kPu$+a zx*g-gkMZG&HmlN}eMFlT_Us$u!;jenCC;qwdkqq2R@kGjIJ2j<jR~Jh3zfDIZC2#S zx5Dj2i&eh+kZ7^Od1WACSt2)g?;KuU<J;hJ!o!McsXI<M;bE2UnMycV5v|P-!j1}i z<Owq>OfA@>8nc%)#tj*xcgE<QF>c5hy)#DdjL|z|^v)PJWQ-d!#tj*xamGF{5#iH2 zXq+(~$QX??M&pd}K*ngCF)MG($|J0#3<TQ8Oy>1F83yhLUfXJUZA+<F2(N7kdxrAb zmazMo*S3URU%j?<?`P=rc=%U_Tkl5<86}4dOXLL!84Ru&FGvV`&J*ZK*gA(mPr|*v zP#fz<5<FBydQyQr6wsVMsDcl%Ws<l}dc|TWpiTP20#t!LB)wxX6i}$j!vfTS4J5r} zF%(Eu0qWqV)FjG^hqo+b1zGVD?Mb*)VeRM(utj;zLIvmrHj#MELiyG_dd*^}!L<4U zYJf31!5HN|3)x@P0Ap0|SqxtgkG=p~lt5DY05!lC<wXnSQ-g7-f!>2T=p^=$c+)}! z=>v>W-nftj$S`1x^2UYo83jyH-ndY{rxtHq2vY$}Qr@^wK0Sa*sy8mwLcRB?f4Y!O z><hhl!$p|^x-~B2FqApS8TLK>snR~(D(Ub&3LxlP<1+lirw%VlZw@(STy&vm$P_-f zrTCxDX%4=pWRw~nR8=t=T}Cexa&b@}z1B(2!8ey?4IkH=Exx58r%W}2v0({6C9|8s z!G<OLl+17j2mMI+DdjUb*s#3bp?n4h8<y8Qly7}Y_$grq2OGA8pSpAH=I!fGS}U;Q z#Oob$1IG7gAEvsGe9jIOeri<TWqo3&4ljS)yiwmrI(F*t^2g4u@88_j&z)>;jmqD9 zHlK7lYyk7>hf-v-RW)I&YJzP#VXJC_Z90J?CUC?Aj+np^leK)}#<q4wHm}`&*YP)K z(j9a*B*8l*@_npyd51*UN|$#?gz5Zl?f4tCC$~B-$z(Wd9KL=>uB&?&mf$54eUQ<| zE**k(?GC$9dv{!(eJX-=$@!uOuuBQnrF<$NyR>|M2YIqf3ucp#U|lM2%Ya~Aa^@fj z>{5btDSzzG-@M`aut7!eF5O2ru|YMNtsS@XKye!+6ZWMhvw7(lw#^CoB^MHvh&4*c zFXhwiSfhmeQhq$Kee3CKd+OWW;i?viMM~H&m8A+;q`a=9e0m;>l-GCU#<K3PND2F; z{K<-(xmy<M)?t(q`AbEZ{1~MZjM53aP!o*O2}bDzqm&3?@|@`gj8Y<mDW7h@D4k%G zPB2O*7^M@8(g{ZC1fz6<Q98jWonVwsFiNGsN_(apEloLEnqrntF-xZy2t+EAZuQ_# zF-wV9rhN0llp`i0mnq+ie~MW;<!pY++58mqV2XJ#Wru3Y4i%Bl+9}q-)K9Prd-6{) zV5b-dL`c(pPk|{0?G)R9$Z74Ab0s3E3400<K~32GPXsk#uYMw^2_v8LB_gOP->R1g zYQnT1%YX=K+7+Syu?&cyrhFS{L{Jm<;wOTdF#V5Vpa^Ow?rKkJ>&C|QE$x{-eF(zc zJ#TDJF%72dQ%%SD_znFeBO7&!wYFRV#B;nvptY74+>|07vw%Qr%4hg73kbBPe43A0 zK%ljjKx;}p{Ry-tjC^*g2(+erx}Tk@DLYkDcB%-#rgC&YJ5^J5s;2BzO(%JD_l_9H zlb@3&g=t&9esk{{nX98Gwl<_pH@7!*=)6fT4ad}0gtn7U?cE)=Er(6nGu8FM6Bh() z)5aHlzz!BK1!^OVDZmaEF9j-}K41rnmjabfAFzWph5ZTgru&Qm>`#z4<s%>VC&-&N z;E)gd^Kzl`k<WP(FBd8w`FLf#T&R4jKwd5sW(?S;;^ji+n}2w@u;t}KrOW~Lsd%|i z`7A*!0A4OsK0|>8z{`cor~Oy}yj-Y!<l-F?+)W#f$c6X`?xuX?;vEv)P5H=$_zCW& zeB|OC65LJs^gG@m!QHgMNx!onMQ}Ie)9>s@5!_Ar^g9Pr1b5R0Dc=KsPuW+Ra=<i& z)gmfBqT(YeKBD3yI}Q=m9#QQP-!HPm5K-k3RUT305mg>h<q=gLQRNX;9yx4?sPc#^ zkErs9Dvzl0$azCVl}A*0M3qO}yof4~xOov(9`UXtsyyQ5MO1mj%ZsS+h<6uJ;gOSu zhzgIW@Q8C4QQ;949&zp>Dm?P6Rz!tI&KV*qJfgxQ=L`|wF7k*#<Pm|0{*LJHh-(*d z?IPz45!Wu_+C_AD#I=jKb`c#O(czKPhKLT2=<tZ{j+`z;P8T9NJ94@Z(ajN^9MQ>< z(}Rdkj_BlwPLAm0h!&3QdPGhPBD)@u^Zv-LN8|({qKYFY2$2(n$O%H^1R<h-Bl<Vu zeMR(dME^#-uZaGQ=--I<716&D{TtE05$`Lae<S)ga)J=izY+Z#IYEf%--!N=ocBlc zZ$$q_&if<!H==(dPi{r@Z^ZwK=--I`jhqui^l#*xAaYI+(Z3P>8#yP4=--H*jd)rS zJsZ)p5l<`PX+`vHMBhes<0AStqHiO+aS?qR(YFytE23{B`Zlr~7tyy7eH+=0i|E^k zzK!@<5j`7u4j`guBYHOCUq$q6M9)V2tH{28<N<)lzJFxjKk@)T#J?g4r4Ep+w+Y^; z1Ed3N9*OJ*MqG%93qi0(9W+_L6O2*VCMv-gh0Rk0V-)85aS;g4sC@Ht#6^g>2oV<{ z;vz&`goulv?T=#mB={r29|`_Q@JGT$NbpF4M-n`e;E{xjkZ=(ayprIR1g|7`CBZ8R zUP<suf>#o}lHipDuOxUS!7B+~N$^U7R}#FE;FScgBzPskD+yjn@JfPL61<Y&l?1OO zcqQQ?B={x4FA080@JoVU68w_jmju5g_$9$F34TfNOM+h#{F3081ivKsCBZKVeo634 zf?pE+lHivFza;o2!7mAZN$^X8UlRP1;FkoyB={x4FA080oMtC@CgCF__$I+O3BF12 zO~OaemW$^nr`ZV}O85u~K1%RWf{zk>l;EQTA0_xG@q}>Vd9(ySCHN`9PYHfX@Kb`H z68x0lrvyJG_$k3p34TiOQ-Yro{FLCQ1V1JCDZx((eoF9Df}axnl;EcXKPC7n!A}W( zO7K&HpA!6(;HLyXCHN`9PYHfX@Kb`H68x0lrvyJG_$k3p34TiOQ-Yro{FLCQ1V1JC zDZx((eoFWUi5<d(e~{p<1aBpHE5Ta{-b(ORg0~X9mEf%eZzXsu!CML5O7K>Kw-UUS z;H?C2C3q{rTM6Du@K%Di61<i06B7KD;I9OKCHO1BUkUz7@K=Jr68x3muLOT3_$$F* z3I0l)TPOUBgnyCnFB1Mm;sLhA{$PUd68nRR{lUb!b>acG#JP3i+&ZyQm^eL4oSr4l ztrI(iiJij4xpiWvFtJmZcu*~IZk;%{PMljOb_o;b)`?xh#4cgtLAAs#VPcms@t|75 zpGxc!CLUBvobDy~J+VcY;P(W-C-^<FMVQzkOl%P*wg?kjgbDsnY!N2-Kk=Yig8vg+ zgbDsn@PA^9Fv0%`{!j3Kg8vizpWy!l|F6O4Yw-CR{JjQ$ufY#%@WUE<VGX^o#(1tV zo@<Qf8soXfc&;&?YmDa_<GDsZtx@ka>fK?Nbl4>wc1edl(P2+?*b^Q0M29`mVNZ0} z6CL(Mhdt3@PjuK59ri?rJ<(xLbl4Le_C$w0(ZSyx`o2Tocj(y;J=>vYJM?Uap6$@H z9sSwSpB;L(L(g{T*$zG1p=UevY=@rh(6b$SwnNW$=-CcE+o5MW^lXQo?a;FwdbUH) zcIep-J=>vYJM?Uap6$@H9eTDy&vxk94n5nU|2p(vhyLr(e;xX-L;rQ?zYhJ^q5nGc zUx)td(0?8JuVX!Q%&VUH)H9!Y=2MTI+hgbU*ttFHqGw(7*ttD+ZqGXDStmX7vS(iQ z%*&p6*)uPD=4H>k?3tH6^Rj1N_RPzkdD$~Bd*)@&yzH@Kd+gXAJGRG;?XhEf?ARW= zs>iOHVgJmqe`eS}Gwh!k_RkFaXNLVV!~U6J|IDy|W~_%9>tTldGsFIwVgJmqe`eS} zGwh!k_RkFaXNLVV!~U6J|IDy|X4pM5?4B8R&kVa~#(JEw9%rmaf|2R5Den&wj7-@3 za|9z3_SQVX$b{|J5sXaOeiy;WguO3HFfw894-$+_*r!tjBh%wr$Y(wfj7<5qd)Ju{ z1SL~G@|h0=B~!llCkaX>?4uEak_mf%l%QmKJj{L{LCJ*ecM_CL82R`;1Q*kffm2`n z6oQK>pYr%A1Q%02^~FyixR~;(FMbNa#gtEf;inK>OpmWoUwDY%V#;T{@KXpbrhNO! z1Q!$bQ4YbygprS*LU1wVBOgD7;9~mGbL8Wv5L`_8$Y(tfTuk}M$4?=+nDUt~_$dSz zQ$FK`pF)r^<uhMcrvw?(<9m!3>y#j4%4fc^z6b)P$MXC=1aZ>id9F7>oP_;3f-os2 zZE3I4GTusyJf-DxO3QdFEuT|b+N-pTx6;zzN=ti{mi|^+)`!y4UZthKm6rLbwA53v zaFK62LKykBBZQG}J3<)wwhM)kZ@W+!`L+v%k#D<D82Ppf^_zmow_PZVeA|V>$hTc6 zjC|XL!pOH>D2#mDJHp7fT_}uv+l7k#i+tOK!pOH>D2#mDg~G_UT_}uv^Pn*DZC?o^ z-*%xe@@*G(1U*(-#$RcXue6N6(js4J8GofkzS1)ON{f7@W&D*E`AW<9D=qSsmho3w z<SQ-X-x2g!De~R_!pL|33nSnCFN}QmzcBLM|H8<3{|h7E{V$As_kTz5W2Lm;{Vz=W z-T%V0-~BI4``!P-wBP+NO#9vc!nB|M=SQ$Q&SsVR`#GBx_UAc!?Ko>y>i*(Ktc2Y^ zoUIDGfB4a=jvuX3>h|!XRl>+K&kMUf{AiW1+ry7m2~!{Qys+EDd11$Sp;F4(PVG4V zQ|fwhF4b`^rPOkwc~#h-=bTE|ayX~zIHywTe&C!+*z<;SDq-Z=&Jy;#;2cWW^MZ3I zVb2TBojT5)l)B$IcM^8LaqcASe&hT}nD%&ou;YA5DfKn43R7S6sxbBS{-3bNk@F>C z&vVX~glUiW|Ac9ec~zM9m{&W_my}X}@9zmyfA8-JQ-AZOF#YfSypHoDrL@QUdBU{E zyeLflnRlH3be#Vv<-Yx<j`I_xUWc5Y2-9x+L&CJ1dB(Yj@~Nl&ppNs9j&lp8)Ytnz z!qnIMKf?6C_kV<`pZ9-+sfYJ}<o3~Ttbg|9l~4Ux|Ln^vpZfU)G6jm5T%HWClId!C zcoh$?(&5$G;nn2w>ft92uHs={I=ostyqa7dAAaKCDjw#g!>hH!tI6f|@Dm4D@h~qP zUacKoO)fWwpE$URhk5DnYVC5fthdvi8n$~Cys6Ni(lRVc%djgg!=kh-JEdh<l$L3$ zv<!>V()~)yuqZ9lR%z*erA3V>Ez3e_>3*eUStw`}@~uXMk#993jC`vRVdUF97e>C_ zHDTmi%?KmkYDO6ORx=7#g?zhn!pOJTCX9TWZNkX6x)G+`RyV@5+s6^YwA;rK!nE7R z5qhSVez!Ujrr)iOgz0yyBVqd8X1*};ZRQIj-|9#h`Bq25$hSIDa4yTA+PqY7BKHUG zy0F`iyDseZ<4!Ax5%(D%+-c>zo<05E)9<*^3VMVb`W-h~`EEaMw6NRX)9<~HgOu-a z@9F=Z{_pAkp8oIY|DOKu>HnVo@9F=Z{_pAkp8oIY|DOKu>Gz&~@9FoRe(&k`p8oFX z=bnD<?M5lc6a8iy5T?IO1HvBH-ZUWWaqVr62zy+6(}J+awKol9wjY!t$L5JJ<7ZkB zrXTGt348tYKGqTT`swX1348tYc9#^SigEO|hOpO9Z+A%;`F59tk#E`&M!vT-gpu!U z4PoTl+!02;-7W>kLcX^(gpu!U4PoSaTSFN6-qsLCzPC4ok?-vdVdQ&zLm2tq-cV33 z<a@hO82R3A6h^+c8-<bY?M7kbn_h*HZ+aC*zRfsc<a@hO!N8F3?M7kbd%IB>`8NB6 zk?-wBVdQ(eQ5gB&ZWKnow;P3#@9jnfAw#}tT^RYMbz#2G$27uxpO0x2tc>+;H%FND zZZ}7mbzwJ0m~~+{N0@bCH%FNI*}YK^G}>?XMVR*6eG#Vpc3%`Mjr!SL5a#>rE-1*D z+e@r!VYio9)xwrXtZHG)BUZJr<q@k|*!@GSYGKPKR<*F@6RTQ5&5)1YWSc?x?nh$z zDyW(DI<b6(5AIVx)&Vhmb)R~%4v68aeD^Oge1)xdh~X=2y)$PW@Ees1rbfT84*0D~ z<$HXI;VbO%C5ErC$Cnts!pLVG5W`pb^b6~N7`_VLM!Q)D#PC%<?PeVi!&mvpXC3fc zn965dSO@$Trt)b&>ww?FRIoV4g>^s-U**&9HgAP#zs*}=<lDRzrv0oNV)!bbdBM6N zhOhGJe{b(ASRL*6_P#Lky}d7td~fdyBj4Nm!pQgbzA*jo<4s}O@8eBj<a--SLGqCA zZ7gBrdmBp_`QFA7M!vVPgpu!UEMeq(8%r4Z-o_F}zPGUyoDcclMiE9n`h^(2%4c1o zUx?wWeB`5Fh~cYz`rq3q!puMP3^9Ba6cG8|MiE9ndWaal%11tWh#0=gN4~dFglWIG zQG{u~w^4*?zqe5oj1c+WMiEB7w^4-Ye{Z7*)Bkp(gpu!U6k+6}7w70fq8DbO7b<nR zOgTj_Jie#MT34<(X`Hl9#!gn9Oq@)eL?_9~nv>2+?_}l#33H=dlE(5H%WEvJvAo9e z8p~@eud%$w@*2x)EU&S=#_}4=Yb>v|pw@y~3u*^J+QA?0DH-l58SW|J-cSjlp%O}l zN+=mBp=79plA#hxhDs<IDxqYkgp#2WN`^`(85*sV0?R9n7P7q3Xd%lhjTW-J(r6*e zD~%SiywYeP%PWl*vb@IfO563TCvIP9yO7)0T3+k+wU*bqeXZrSZeMG8t=rdHUhDR? zme*R|*zHpc$Dy@jw{L8DW6K*`-q`ZSmN&M%vE_{|Z)|yE%NtwX*z)u)#~@+V@>VTx z)$;U4TDfO=tCqKFd8?MUYI&=cw`zH-mbYqotCqKFd8?K;vAl`pO)PI>c@xW<Sl*<_ zo48?mjdiHf#4XaVgc%hHdULfPH%0HO8kMgeUalKHw_3hhzY1nls;l4rGV+(Xx)WDd zZ=sfZuC9Ld%gA5mdQMzV{o<GJm42B_O26pmzMN@66APMH(8RT#xYiR3nwEai&wQ27 zO)YO~c~e(@TKYx5@Z}<wH?_Q}<xMSbYI*Da+`2!v?$53JbL;-xx<9w>&#m)0*K^(V zTz5U!UC+7eId?thuIJqKoLk=9^5&K|x4gOK%`I<kd2`E~Ti)FA=9V|Nyli<2*FFqm zw!Cb4+48dGWy{N!mn|<_Ubeh!dD-%c+SYekUM}+VcH1CGFSj`<^7Lw(QIV$?+l-1l zz1B7$J<9F`RHW;9c4rppdYav+NY}IMMn!t`EQp>3dak|P^DNL)?M6kq_B4$wZ)$m- z1$v&{_bkt|Ko7G!)AFX4H!ZEzgY4yAw7ghatEbqVX?fA|qUA-)i*8@Eyl8pR?TeNd zEiYQ0e*R+UrDS=@@{;8x%S)D*EH7DJvb<z@$?}rrCCf{emn<(?Ua~yT^5|I}J<FqK zd0hABJj<hJdGsvTgV&|Hp5@W=GkSjNm+yVg5<EZkq;<*k{M2*SMs87=pF?B=Whxm; zDjC|YWGJa*D5+#<yON>pN`|&88QQL7XuFc3?MjBWD;e6LWN5pRp=L^knhkLfoLFAb z?8>yfq7H>DuV_Uf%PX2)$nuJ27qYyf*@Y~xs7fKrE2>hzY+!jsV+vVb(U?M(SJsM< z<rR%7WO);}udEeix_xD>2)TV_tqegFO8d%M5psW)wIbyHENex`{aMzEko&W&6(P$j zYemTNrfy$ZE6Q~H%34wA1-GxP6(P4TT3%Tz%Cx+)R)j3CtQ8^4D{Do_^2%Bfa{J0! z8NyVQ_La3F<o1=dB4l}Gtq56OSt~-8SJsM<<(0J}WO-$+2w7fPEBeU^%Ug5%)+}$$ z?dyE6^S#dZI_|kHoyWFwT{@3#=ep=c_hCkMu1n{+)VVI5`?_;odQ0dnp|^zI5_(JM zEupuB-V%CC=q;hQgx(T*OXw|OW(hM(m|4Qi5@wb#vxJ!?%q&6gst;|LS;EW`W|lCs z1ii0big>=PThO`%ty@r`Wc_@H1r<sbvY?`@ge<5iD<KOi%1X$Bin0<ag0$^Eh}AEr zm&E!-d+7r*ohd1G(W~0dEOpU~+D4QtjW(U>1EtY=N83e8qxFWiQE9Z^&o(Mz^>%ha z#XQ%~OIThp&xI_nnCC*4SIl#v(ssR+?T=etG0%0+@``ybWO>Cr7qYx!p6h2UEU%d7 zLY7zTav?XY*yTbNRP1sgH>}v@LYCl;)ce+@N><xbcdK5ucBUm*ZR<^IXIhZe_S9-y zZ&~}E1zBxRt+w@gwePtHt+uDDS59o+eDkj2jNZO=@46x)Z{6L#JL;}0p8M!Cw{I%s z#p`!Ap59uSDG=M<Q$s+w(QGI?>WA3#C)RK8Zd|{v_<*P0uy^b6jh(%xZf@-Do?O4Z zckSj7j7gu|*x9(Yef{l<9H!Wv<+9cF-2*Tlz!~lo@b--ZSPH&<<Dlqj`P^`zsH6GI zH@0tWoH_v8x3+f=!BbnC+Xh`z6%#lrCU8`2nyX?0N5uq=iuGM}M_{;flA7;q-+J6K z<E;8Jfuk=IIQp`<UKd-hi>+71Qr!Z9qi+*9`nJ?o-zHEMYwKc@y4a*HHmQpBb$<vP zeVf1_^k9G<-?;JiYa2VI;R@Mx`TEA)t$XIT9>1(8TxZM4?=)T3sNLMUd)Ihv{Q#dF z?#nUP|5dJaG<qd*t+#&<^M^7`RsKp<{vdz&>_NVE1YYpj8RdukgYTc|I#&4y-=iNM zIFvP9AAIL<J*K=Y^cP$oe0In`C_h}UQGWRB!S%3n6IZV7Y?R<Dw|7Tx8am5UXU)U& zpn68zkDlU}6;l53y9y{znZ6!Efog2(A)M6<MBu2Hz|p)}^Sl||JgUUH1)Lj(XEmnF z3N3J3EBVe7<g6X#oZTM6sct=aFr>o}D`e{nhFo~9zTfD#5?_dC{Q(ZwH*b&LI8?>K zfG=Oud@6mYXM$v9_0_e<RC!l)ugafS*V)&45bLOnj@efa$_&@JbbXw4M=N6hhg~#) z!_JGU>!IEmKvk@-i&Z)x&Z=cUfa=>S9S~>LvL8TItQyN$58nW)V%4gRvr2Id;HcR8 zm8uB>M@<l@idBjyu2;Hd09CO{@x=8?*9@R4Hm-$^YoX)1*lJyDwJx?=7pvAl)O@X) zP%VhKKCQoPS{Iwv-xlj)u`U+tVyP~sb#cHlaXr<=*6LzfEJwxG>SFbLTd(JvK-F*c zd|R*Qn?O~po^R{*d=sdO)$?t=o^JwGv3kC(SL#A;YhA3KZ|n7Z6FB;|c|G3*jygo3 zDpt?8c|G3*s$%tgo7eMApek0+w|PC^1gc{7e4E$vO`s}P&o@2QR5hWVZ+gn<NI3{p z#p?MsujiXURm}74#9L)dY+SqjbkTi72%bSD4!TU&O?BN?*W>DXwYr{E*VF1c4%bEZ zt;YFfg^;;!{hl^1UmHxjfwIZzk8(!O9DYpURF0afXC!M-&00lKsqU;*lR@!Q>O0j? zD1u6Tr|K`oP^s_KLf5KwqYx`c-8x;Xt0QnYu*03h-d7lw`m3vTGu)|)Rf}jUbEf*X zYDFoSOZ{!tx*6_N-}Zvusn*SOty)nE1yg;Sz>!daqi^e~)iD*Qid9QR0c7fLs}{s? zr~0;P+E2S`rVpShR*z3tsZ0f;sf$(mbJ|rZa{$%1)nnS#V=7P;tH-pf$5fyyR*z{{ zkEuXatR5^GURA%<gVoogAaGPn;ON`>dK3hzV)ZEW^^6y&idC9OQFW@p5~zw*DrVZ( zqaaWft4E=)M?s(}R*ynoFEfFvSVd{mzV2Rus#x8<eZ6D^s$yO;XZZ~<{lG)<A<n&H zZ}_nr1+_ZJ88nsN07>Qc(o**YFM96SYnB#E;n=06bNc)0W3O0x?b7JjtC#kLUbXa~ z{=SmDSC(?a{c!B%<^IPlJ+JGFOPl)pvU2y4r3<=#c<G}4K2&lpl)o=6e_vAmK3M)f zaP0ij8A*Depy4_kyT4q&xcohP?99@$x_`Ey;W`{UeeBfImniRa$veID;ictcr;eRm z`fTM5cY^*tr@WKLR+e6)yx~sJ->b?Sa>B6_<&*c8zxOPiQqDc)6UV>fYc7wv`;Q$j z?HZN8%cWE(EqYPOIadBIUH#az;bX50i$(aI-+pxTJB#q!kB0q4_^sc3{ph!z4Zr#N z@PGHi|5=3py$Jtn5&q}%;eRZ`e_w?Ewg~_AV)!qM@EgCrGWv~0`1O_W>sOb5?N?Vu zzt)CdT?zkrKm5wO9~}M4BK)WQ@E`ZXFAMzgBK(I%`1gzO?-t?TF2cWAgnzvV|7t({ z(l5Sr^h=xJ7hf8F;TtcGeql5G{Lft){rrCTxl7?^f9%reXZOR;{Pg+J&pa4@`ls$2 z{q*_pQ}>0R{E3sJpL}`viId^SRpQ6@!;k6vf9z8D(XTo+`q5W~ANk?)qaS%q_~9RV z@#u%ohaY-z_(9$N!Iy=9c|QEWN1q@4z#@F~BX1jh^!f17=axTm^<&?EY4nk|g^yfa z{{BnhUo65u-wfaP<@b%gZxR04BjKMe!arGr4}b4#M<3n~-}|i(kG}V{;d{ROq0#rW z;k!R{ZuH#`g%3S{cJ!fh;rZ`6HG2MR_^wmoJ0<Kp7vY18@Q)t||LDcxA1=Z_ScJd7 z2;cFN@b@l+zx!bLc74yc?}u+w@@@O!TUGvB9}eH5<XfH%e`gW?_G`l5T7<v32!CS{ zKClRXeI@+0Mfm3TpBa7gBE0`hc>mSqZ&F8n(|-6yedHT2hHp^v4g2Bi)%dS}B>dGy z_`3H!Kl-{wc;9>9HhSOl;eF37zxT^7jo$mV@ZPJ-e`OKAR<q-47vXCzhxh1%@40yO zW8tgy(XW1a_^MOkE0y(?kA<&L@)e8lZuP^v9}Hi9U-+_1;V&=3moCDWEW%$}gul25 ze_;{6_=_%$zIYM7=u-Iei|~bu@C9x7bMFa%b`k!}B0P5?{OOhOrxxMaMfj78@F(`e zAKwqpEW$gV{=n#+i}3UZ!rtz~qrLsG`*66sA9kJ%?^uL8w;vtdel*<L4^QofoBQF( zMfhWju)PRRTt78>q79EP!i_d;ZLW;A7GZNGY+hZyer;uR{ZzQN5;i{nfzif$!sj15 zH~Rbs!rNEEA6<mEEyCvsf8HW|?&mx_`rJkM9HGy7IDGaZ{E_|ehZo_qgs*<=vlihG zEy8DB44-j6y!9;?MsM8@Z_$mnTnL~3X%|MHz8^mAQ_qb)?Lzp}bKwtO3~zqy{OHXO zgvZ`=ZuHps@TNDO8NKOTc;lJyhW+sRe17!$2SPp{=KEoNc4oAGHq6e1zPmK)_d}=e z>@J0?pK^9|brC-0b!SGOayGo~O!(waIz9U22g4_w4u4=Xymk@R&WE%J@%}KKJT#hK z3X|3Iqsc>I^5NyxmD8iu^I`S5<#BszG(I23SC`vUp}F#bQL_kF^!-;p5PtuuaQXi5 ziI2W^^ojf7(FZP#9(`^2gw62#HpA~-gx~W(`1qHc8-4u6@S2y0OBchdU!@NCgjZh- zuR0fAxpaE;%Kh+)v*8t2mtTH9eB4U7crm=}kqe`jT?&t!y?^w`h49D+k1bt&_wvK1 z!$TJy8$I-FxFDey9t$sBgqNHP4@%mD`{4oQJ#Z<U-wgMk3ol-TbHe8q;l9mq_RM{w zv-gLyA6`ClUpVvJ@@d^Uy&q1s;iQ^&^1*QOx#gA9Vdd)biAA_~5$;)p<D-?)@kJP| zgwfUI<^2#g!;AE(7cIgu)%V!Buyi^c`{1$7FZ|MDpYXfm-_q}nX8eC!@v^1=2XE2l A761SM literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSans-BoldOblique.ttf b/res/fonts/DejaVuSans-BoldOblique.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0d941cba739392312dab77f980c70835c746bdfb GIT binary patch literal 641720 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%0D$62Zx>2a!QN4=l`y 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 literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSans-Oblique.ttf b/res/fonts/DejaVuSans-Oblique.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3f4e423da42eff32691fa370e756a27ea1e4e9f4 GIT binary patch literal 633840 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%0DrsCO!cv@~uy|+@3HELFI~EGRQ$Ab5_^h1$ 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%0DUHiXc_!I{+55i?^5`8{99BXr2RB@dVs#- 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%0D# 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%0AG){ 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 literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSans.ttf b/res/fonts/DejaVuSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..39a60f4033601edf744a63a83feccd2a7f6ba39d GIT binary patch literal 756072 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%0A-#c3WtD6Rn^N;0`R}tt7GAqhT_vuH3*z5` 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 literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSansMono-Bold.ttf b/res/fonts/DejaVuSansMono-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5d37dde58c6aac1bebcc5550d492876630e2a48f GIT binary patch literal 331536 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%0Ao}tN9>a(?{=eZus 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 aqdkwdKJd4^>*p`G5C32PwfzrUx9LBjxzX<c literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSansMono-BoldOblique.ttf b/res/fonts/DejaVuSansMono-BoldOblique.ttf new file mode 100644 index 0000000000000000000000000000000000000000..16123596ed74cdce4b3231c29f69cbaa6d727ce4 GIT binary patch literal 253116 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 literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSansMono-Oblique.ttf b/res/fonts/DejaVuSansMono-Oblique.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3f051e0f760cd564ec2b5ba4afb7eb5cb78445c8 GIT binary patch literal 251472 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 U_Wy_fHT)m?`v2-`qlSk60eQ_FYybcN literal 0 HcmV?d00001 diff --git a/res/fonts/DejaVuSansMono.ttf b/res/fonts/DejaVuSansMono.ttf new file mode 100644 index 0000000000000000000000000000000000000000..1d299ee6b844e25e7a5aa4b0ed625b87c0f42979 GIT binary patch literal 340240 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 Ooxe3-<x_d`n*RgUu+Uoo literal 0 HcmV?d00001 diff --git a/res/icons/3ph_sine.png b/res/icons/3ph_sine.png new file mode 100644 index 0000000000000000000000000000000000000000..933227aff4399a92c429d8532141979a8be4b74d GIT binary patch literal 7213 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 literal 0 HcmV?d00001 diff --git a/res/icons/About-96.png b/res/icons/About-96.png new file mode 100644 index 0000000000000000000000000000000000000000..151056931d474e29d3af18418ed0c9d1b2a4df3b GIT binary patch literal 504 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VBGKN;uumf=k1(>xrYKoSmHJH z8Yf+v__C#hX|9Uw1m*$<ww!vOvi)UlRqjvb#=3V|1h4`%GcXvO4+u>Tm0kVn%+;T_ zj#j*Vwz$XXWL#cOUU^${V~l=z#+x6S)yymJ<=wyXg_(_cW?X*6-EYhlzi;PH-p};! zcIN(M=ljA}g!bOQUGs-=?qP-`2?rkLjzk7S9)&i>BL)pKb}&BrbcA#F(@x>C)57X+ zrm6eg(Dk3QA$p!g;&z+DLwS{VTJ9!5l^@|1n2sU;sO2tx1Mn)yJCtY8Ai*Yp;<95! z4Y8qrb$;X=+I#jE`x~AmvG2BQcszZLWP|zte`Y@~?pw+n@b62TsjGeRNrox*d(YPG zD1GM$WV~OtY`(#FgH!wWpS|}-I%}cayO8OR+P8JZZ+1Pf-k-(0@zc?OeG;d{oqr~2 z#PdAuURYx|MZXOsIK%zu|7%a91AefhO4xxSA?J+znipm>t&S}&25~)I{an^LB{Ts5 DoEYO` literal 0 HcmV?d00001 diff --git a/res/icons/Anchor-96.png b/res/icons/Anchor-96.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ee9dde279b97db564f8c99d5d1ed32b648b5d5 GIT binary patch literal 1136 zcmV-$1dscPP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CxNkl<Zc%1E= z>v5zy5Jpc3gg^)mK^b^5STfknV9CIn!H~gq1~VDh8Q=`;47fjl9q)J;wcddHRCT$^ zwxp&%&|3mUQ4~c{6h%>#byEXBf&YLPV3_P>`rVJ|f0W2nz>!P9ZFZc}C=oaS@5qBc z+dE+LySpzM+yj4YO=h2W!-4SN&t~$vzI`hEs-1h)k+umAbi@n(Y+XkGH%(3a;LlcP zdx{P73wt2n7~6<yvcvQ{ZIC1Ij6L|b>hlV_2+v79-wB^bxVP+ZC#|jL^pec$9bv0R z?)7FWL3+hPhyb-9y<*{&bXCwfmD78|)(H13H^RLotv12}8tm0b4?J?|hCX5szIH=} zNE%XK)9DBye~2IaKUtq(<5a*0@q+(>zWvS^;t61~dcGqX!h_#r_IY=N3ZMj{0u)9C zD2xhF7!{x}DnMaWfW(9bSOp411t^RPP#6`UFe-ot^M3uu2zhN?fCu1d`k9Rrmj~#9 z-}ukBZ&iRF{JRX=lWEOiY3pFm{T&NSY)yaz%j?fakNljFY#Toj_f05W#mrQU=g@5B znTTb6LAq8O^LWr21Te_YE1V*g`30Xt6F(!ATUvm|qs%5kxltU6Q7@Jh;K{ShB%6S3 zyOvXlP)dMfV7XDdr7<>3`HE0NfY9I%L_QMLL~v-pZ*x>`0on*<4vbyZXmpXB8gOr* zathEye9nQ0)lgs1v0MT?5cg>8!1y%<6H@=bGVaO0w$7paTmp1gK0Y%Bu*F}PDBIzU zXW_BlfLsDBVFJqTBa|;XHk#6b(gJjXGVX084(8VMLx=2K?m+mcu%rOBu#8`flXSO) zFo8aBzEK#+yKA9eK}i8RVHx%G|21FFxS2p7{*HiO`M38{3!Mx73Q7rJg!!Luq;0u; z4JN<`m@;Y?{&p5R*;8)8#+Q>Y|7Ib5&G-eG03ZHlv_vCxa=^bwR6+o0$72;IZ{Cmx z!)IieTL717_tqo-=osX|@R_E~Er4XzYc+5G%o%w=j*fZf6rgp;w{^@rDF(NoG!A*^ z62Rq-x>ddXGp=WQrR_lu0bD2Ie0F~%M{;4(XM0B`LTUkAgTLzgCLVALj%4>lN&yUR z!Cz(7b4`nTke=@3mr8)&9(fs21Xe(Y`@_9(`vGGMV33b;KU?D*g~HhG{aLaTm#b*- z%;Q>s`AQp~zz=NnqK^vu?N>JI1JlRIql+AutW>xS($;2O?0}S_qkJ%3ZC>}-4K3w^ zDzOhX*x*VrxDD2F+biGTe(8!dSCWNVoA8-eiD4ZLbjLS%>+fMGBSgnH5BxQTv1)oF zZ5`jDfw%I&C`RZ&ZeSddH)znksd4YZelYgqS3h&PC2C|}#4{TBq;%YGSd|QPXz+{k zdAfVm%Y=JnUW0x^>-=IEHndErD2k#eilQir0`NZ*$|2*qd+K@s0000<MNUMnLSTaS C^&3?H literal 0 HcmV?d00001 diff --git a/res/icons/Brake Warning-96.png b/res/icons/Brake Warning-96.png new file mode 100644 index 0000000000000000000000000000000000000000..de6a9f912630a7fe1866e6d3ee1eae46e5a0e0c3 GIT binary patch literal 1554 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 Eg6$jF)&Kwi literal 0 HcmV?d00001 diff --git a/res/icons/Bug-96.png b/res/icons/Bug-96.png new file mode 100644 index 0000000000000000000000000000000000000000..00c5230a191b55e24d29602b0ca1bfc9b5291d05 GIT binary patch literal 1027 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U_RyP;uumf=k46Pg|7?*-26H9 z4ypz;c`s=8X7^;@(L9^4fPJUz1HJ{!ml#VX{7#VQIPNy->vpc{v~P-&BX0c-i%ayh zSfJ6h2#h98_fL@B_*ZlT`>Kvw5pV9A__z5j-^>sEy!Fq{>9_0U0`dQ8><joVl(D{1 zyH(GB;oJHJkL-+&mmOQLvQ|RK^6IzmU%%_0pI6y<Om!vGy>-`Z;>vgZ`*ZB?x|;^` zZybLeS7n!B*!^E)+S~hf(qEHrALR?u5-m6qw<4lU@k~sxis*%j{(qFM_!*q{?wb(y zr%!zS|KzYGnx5iqE!x6I^gN@AbXIguXAr&LRQ^bHfv>pR&M!y29p>wFH5FEN6m1PY zWYMKM?T2}=h-=`K>FM2-d+l21uG=San(MpkTHBwk^0&_!w&^lW+n9g5GrjGuhIG`Y zZrgOT-$%0F&33LnJ!A33PsR<*huMD1n7(u^-Dv!I@vgLA=W50BLtb&F=Y2a_qHuR| z_L3XNPdx8R^sjpN-hW$DYg(2`Pwwg3x{9)2j+5rf*VJwPV);{W`msYRk2m}?$Z2{a zcKzDFN88lC&e)<dM`lj7sPy!88EYEWpEx)r<86`W^ox_~lw%itO{tMPQM*QEdF{lH z$}eWL?XZrV^rq=S^Iqw??|&`?9*A7Tb@Mc@_nPGgghfq1^#6JE^M?5T2LjjGf40VC z<yKf;x;!!d#B@Ig|2oC#QQ|SZJYSxO7p?qy@ahQ%PVEKztr&N@e%a{EVmoPav`f79 zygN);OkC!L9^x*$>hF2*2M|Y|<ovrgURd#W*7SDW_O>G73p#yK0-{gV7VPN#Vd=Dw z^{C6K6mjPhy_LcXe_2+!>h!dI61q@%M0-*Id!=uS*MVc&QH?EH&T3Ao3%+%QDOjKK zJaE!DEbvN8Eo*OQz+V}S2MX&tO&|6zoxySQ`phQzW7}FpmED>0(tfL!2!<S~6>aQ{ z_*)m`;F;A?FLci3%szjPxOq2(%quuKf22tyNSkLq+O*}#7M<$Ujh(8C^deW^y6G)4 zoj0#9{>RUgNv+XBK0CN>#;%XH{#7XLqO_s*)Z3Z!PQ=`k&OPLM;Ny1LY<BxT<BchY zpHyUDJZAkYFyl~}f{Fhv1Kt(fOzMwkWqv%SdVJa3yhU>bI14I^e{G&5@;N@Ya--Uv z+$iI@9Kyv<lQv&y|2TK<o24?|nVhdPjt0!ibDB{h^Hw&|>*!jQuZ*|6oP<}#N*mfM neckVNW65e*rh{ZX=KqYx_Vy%SapAuR%-jr~u6{1-oD!M<Xkz9w literal 0 HcmV?d00001 diff --git a/res/icons/Calculator-96.png b/res/icons/Calculator-96.png new file mode 100644 index 0000000000000000000000000000000000000000..245428f06d89c8dac7bf9d9d5ca9b5f7a86d2ded GIT binary patch literal 501 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VBF*B;uumf=k48%xrYM;njcEL zO5a|b(%h4fKSiWaaED=2`ML5*KbUnmKb%ls?i0$P*dpM>p}1yq=+&jG@<P9s3fz@5 z&&}1{+v)vt)4jFc(a~pRULM_lDLptnH|F&8Pxp6iGr4{sY#-0k+?{*b&i(l1Udx*P z>uvqDwF~#BmT*SR`N$|PS%3dWLwC>q{F(!<$L^ckJy3f5URwS`=l*B1AQ}G@1|PNq zNJPV2!+-lQ^nKTQaPjCx){Mdu#weNC1~GT>1<2gx)*njh*$({UY4|J2@Y|T-TROv= z^9(oUGj6E=&Mf1LMF-4)UCjR9;fn2<6A-49+aI`iglsG4RR0v3@{aef?&SJM%{Nbp zFWjQL{rVBf{Y`@F|C^`(ivDo%N~CrA520gw|D<pG#aX#T|Ixo4nc3Nz;23Brh}y@f YDYJ8_#&_wv!02S~boFyt=akR{0Faj7y#N3J literal 0 HcmV?d00001 diff --git a/res/icons/Cancel-96.png b/res/icons/Cancel-96.png new file mode 100644 index 0000000000000000000000000000000000000000..05dda9b53e2db27d809dd63ec60b7e3601f716f8 GIT binary patch literal 1056 zcmV+*1mF9KP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000B$Nkl<Zc%1E= z(Q(@_5Ja~GmZA=f4(txX4&n~14xA3c4xA3e4y+Eu4x|p44-y%VVw(hSaR-2SGxz1O z?(|kBMF0s<sZ=VJN~Kb%R4QrF0C)iK6TmBg(_9w-<6T`o{QPzPorn1~DgiuV68Mh) zC2y_w`86LE-$zy)0Q?4U1yA}{b)9=1RNh(Q{J`gz6Ro<;Gwcp)@w*MeAuaKr1>qvS zcT*YwZ?G4<w%$<Cw<iakn=8AnDB!Q*1@<DP^+LCzK!fRl$XXt&PRQtz)PVaCl}f!M zgAhuUpG63z%TGFly~s~CgcIzgXxE8ij=&N2GOX$-wkO2FUV?Qwp~KBI$ny!8T~`?0 z4{}=DiCvvcWjIbaaEavvK7+ZChd<AyB`Ze1i^ymIEqU-WrfX;eoe*O7Yd2dBfcfe7 zGCZ+Eh}|#xUqMS8_Fjf3RtQ@C+69LqSfBo{WO&$8H2X#SD>#q_T$15oNzv{%BGQqU zjx=1zLY7p@TKT>gYeBJF*)s^{Q?Et{R`N$ouBbc_htmkbQogUJmHk)oE5d-WLP$aW zh{+j^n42xk5K@uv-xq}@;*iV`Qj+hBvP$X{29<`8qWlr01-fUYVYh~ms{9d?J2A0t zz^o8bl|O=XBkq-l4h>-qR;M<4#_+wt;LH##kIeLh`AyIBOGB_euSEGOYBjtx1Z(-e z#8|(9Eg_^LznB0*zG?z`+nc)xAXL65l@P=XhQn`_@39VH5X}CM-e`EKe2--aJz;*6 z09f)pRw49^;kB0{Lf3Y*wl}vFWhp{)F>cGkn&uvJXi*m9oYJt8Rn1gGa4Tn895`k9 zDThG2kHs98xt^a=2<Me^tRmKpIL2m5Dj`re<zpO6iMf-NLI~7jDFARI4yUn=Xc@w7 zW#1q=(r}u4xK<%_D|-fUAPu)x3TsJOyWfb2{~z5z8gNMpdp%#X-|$TzF)eAx@1(@q zOwsDsE;tl35Qn{&5_=~rcE2IW<VITJz#pY(Z6n6)*KW2N$Uq+4FRI0sAG6;e@EMFF z4_`t#fzM6+Aq-tgbuyLPXuy3s&b4mf?%oCA7KYnHIiW)_N7zfSs-xH*i5~Vcw5un0 zqhWpiM!VRjHYn^Rge2vAN)I7v`JPfk$U?rSL0LEE9vR91$PxDPq;(`aQO6<AC*~Ux zc*tVWAg{Hf4w+tZmT<8B_XbNfprB9vceF?=hyjY5DJjvyHi!W`6@SkG({)$lW__D` zMLRl@J5QL-RWcvu&hu;1j|-MggXyODj7eZW*MQG2C;sQZ=HGEB^xI6OQmIrbl}e>j a$(O%XyU@T=jpGLZ0000<MNUMnLSTYp5$gy5 literal 0 HcmV?d00001 diff --git a/res/icons/Car Battery-96.png b/res/icons/Car Battery-96.png new file mode 100644 index 0000000000000000000000000000000000000000..d23a80cbb7de95202c2f31dad7e58867dd2d58c3 GIT binary patch literal 497 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VBF#9;uumf=k1+~xlD!vEs4_~ z^(~xIGC`=XZ_@N`C02ns&)3W>{pUaH`Q1q8Pj1;jjSz6Ww)5xv-zP6|FMF@<tv_Sm ze4V`szv?!9X?lqv$iQH8H9C9xwOiM|)Mu<txt)Khef_Ux-5XP;#<Z>f%{2eV_s^CU zkC(4wT)OJ1Rmn^CDu<b?Ube6Q%P{}n$2p&LALRe9*w$Emzi|2rxtY5izMi<ly2|~T zUVyDpdE={zJGn#p&%`dMN_oe0Rk>Ikq@>}ugUx{_XWr=-%XhFx*lhlN`VRXeMzQm6 z{uzC5tY|oDynBDnFNVUpUv)p3kNkZ3`zgP`^X2cS+dIsezc2nD4vG6;7_R~~o~c!k zOZbS(Y=%S3A$@4BL3i+7Ca;jQxexA@|Jc|E^j@;8?E;UhUk+cdYsx?Pan849U;7{N zAL{Jb^8X0kZ@F&yck=)6`|Tfkf1J(T?<v1e3ljR%zVj+4S~y20IJAQVJYD@<);T3K F0RVvB_?Q3y literal 0 HcmV?d00001 diff --git a/res/icons/Circled Play-96.png b/res/icons/Circled Play-96.png new file mode 100644 index 0000000000000000000000000000000000000000..66df36c2d4a82ed89252a8ca031500ca8afa6350 GIT binary patch literal 1375 zcmV-l1)%zgP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000FhNkl<Zc%1E> z?RDxr41k{zGD1dRgX<024Vn$w4c=}*H-HVw2F(Vr0oedH;QbNjo*XVzb|QZS{G6j- zZ7o@HEL%=oC=?2XLZMJ76bgmBsDMAfJFo_RtQ>*Ml^jPuU)#U=W7{Zr@IvpvJ^wm+ zs_bo>FA@8(C=9RxPUt!Po}8?%Rg8}1&KtL<lUQ=JHas1v9sjg}Fy!U<TY)fv`ks^; z_$IxBUFF-_{1ChnC%J0N$=beX*35Ur8Q1}z^bRrH9-X!Q*{l8Co&DRn`qwjkkc5hP z>-YokfzDEKW!pN;uxHPLHgr>+e+Iq?JNMRB$CM{y5kXktzsfn&PZ=>gS6Q9Df!LGr z2Cl;2`Cp_RRh6}2@lS&9v~wV@k!0}85!nU7$N5__Gu~3s+vXF5Ebw`Rn=~eR(cm|Q zCgqjKa{fSrd%u!x)@s~$xH--DuB>qD+lfSF3)k9ClfpP98r=H$9osPDXjl{5umCi; z_0_~Q>gZt5c4FH<<X4H@BKP+g%b3Q&m;=+7nnN3#8Et4&;kHj`Vi@Bx`sXCw>jd{7 zc?80c!BfyU7%_Kke6M3~Guzd`WzW-uG(Z~tXXcOA-`d}k_Q<e8F5m@w3XGumLSJE= zi_3~5WupERY@0g;-(@Q()foK<I<6%}qIP)-wjmTtyI!rjh))1gC2A=boU|3X)O>0s zUA_Sr&%JL-Hb~SC_Ndl~q=+9BbxjSxAh8m)v@cMtluGsf4@F&b12D)BVH5R-pkM90 zpb`{a(9QZ<0T^UMnEc>UEmhHL1SMw;B_p&0a3NfxmR3VXLy7dL?KG5(2oZomj_4-p zouE%;YL*i4r-qUdAp<aoR-*nC^r$4_R#2jSBo`w9gZwZrQA^A7c1GKOX$2)lL&=Dk z0T^V%wESR%cH0SU{=-pFQfnv~ks<&WrX}iHXj5e=DjBX#ssIdf#4k|?_s_EhU_5$_ zg1xhO)&LwR0Z1Ypey3W&{nH5wY7HeLQaOIgYx1?wX6M)S+q8lbqoHI(3g>Uhcp2IX zN|wA4YgxcX>=8>5t_fD+Q_!PQig=`AT!-#!BT<TRMo^-C{u#pYp}s?t&dH62lBFNW zY+3k$49Mr7IUY&2q&<?<JSP_uvF7(ua~-dhU?rq;a@9lmCA^l>5$}71+QA<6PnV?g z&r~mFrTEZWnh~_m$pQJ*#1rvfP24K!^r1pt{cJ-hHiFU%@m|htdBT@-K`zW`JOw!< z*n7B){w|~eji6j37o<+Gzp+K`e-qk>&cO(+Pn1$5*n1e{es?hpX&elhbD2fT1bYwH z%Sf7726Ya`Y$mqdlHX^l8!{RF1IEFis3RgE4Q_oku?>?-v5ydh2Dd(Hm*kzOali8G zkuU2wlW@u`*VSZjw`jSrDFb}&TicM&@^Vat+iGVJ)q4M2Traa2B=r~X*BJaS9n5YJ zRk-aB#<C{;wUs`jK3nGxtnd#)iVv+TtJC*V@dFE3(fLkC<3Owle|7PiX}7s&J@T)a z8ia9<ct`K@?sw*2CcYTwkMUWe{`O>i(@z;M^#7WwzM-qOKYOvi`;E^3Ey!l6Ih9v* z?(vT;XENAiX;I@|JIX<JEOg3|F!-;MVoFC|`;%Za<Q0gHWt2(OX-FH0jwf~eH7oif z$Qa4`Y;|S7p-ROo{nBsFKH^#qw#|oG)x@HrPl_M(4s5M-+@4N`pMTlEF+AvMrcfvp h3WY+UP$(>y{{c!Y&uVtGNUHz<002ovPDHLkV1lB|ne6}o literal 0 HcmV?d00001 diff --git a/res/icons/Connected-96.png b/res/icons/Connected-96.png new file mode 100644 index 0000000000000000000000000000000000000000..5d671971f853004d6a4bfab8d08dc985ab42b419 GIT binary patch literal 858 zcmV-g1Eu_lP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h0009aNkl<Zc%1E= z;ceqE3`V~ZJW5CK2sZ*ZxQ>twt{aq_TsLSp=m^OMcRySMLEzY;OiGl*2k4jERD7>U z>%=h-1VIo4K@bE%5ajRz;4grw_C`kJ1;7=+KLDSI2t~P<zpjW-h%NcUN0<Qo#v)*q zaRu-WU{?G&d-8{kKsc822j``v$Y0mT$)D8>uSgSe_BT@^|Mv6s-9t#1e<ni6-+&;O zpA#YEZ$QYGFNqNHHz1sspAsSDZ$QwKzZYRh`M<FLlt9pzzZGFf`Gozag!Q=P`owa= zHmv+-PYI95J*;l!KSp?VJmf1t*dO%!;CRSC0inLkVdVqu1?Wot3ZcH()HRzJZ~&pc z+?3Vz>-&WIg1e4zbcPE=1TzTf8(+WH`)VcvLB8?F@A10aM<C>H{Mq+<TW%u|&Tsta zF}y5y5eRx4PkpS~%T)w|?#3mLS986IEEz)>Gr}y9WDQ}w2rM#G0K!-iu0lWN5M%@N z5Wx+Eya8H|-~z(AAzF>_C9-4$L1&m2BfLsPSwPSosHF(EguR+Vuo<kC2$Zf$AA;?0 z-XmPnRp~=0Go;rDoUTeALfK)xMc{N*`Vh(u>M;VRtI~&HKcMFboUTfr3F%i4_ZWc% zu1t`8BC)p!ED>eJ{fD4EtWptJWXX`)!fQlenIc<i%Pt*(g?`Mrp}y==5v~c3R~$xt z(Iq3ey5a#?-gvGpdH4u#s4scw2osife`-rE9pNIfWXxz0Sm>t+qeNh_nS%5lfis*G zr`HIaWup?kMc_;iRp}{0vqS_3%&0GT*a(uF9eG$?MQBa_x-JGTiqoomHgHiKukslU zpW&wBS^f$g9B&rs-34cq`4^Qp_DToGn<Mwuj@IW1yt8LIINl6r@2hDQf%QlAht^F^ zwIi_RkY3TgqpVg0))~(?R=4v#8-dRb)&f@YS8^k8{z&a$Eq_HC!PU(%Ect-F{FMpE zm%Q9i`2%sKN%_sxkblpN<>}@AGRQA1m&SMV%B6(82-@<4Cu~Is`GvWU5b`TAVfn)x k@`E4<f*=TjAP6$}4-2m_W6iR;EC2ui07*qoM6N<$g5Cj-3;+NC literal 0 HcmV?d00001 diff --git a/res/icons/Console-96.png b/res/icons/Console-96.png new file mode 100644 index 0000000000000000000000000000000000000000..69ad02f48e1c32792f7e90ca3d9532f61e623321 GIT binary patch literal 634 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U~=?yaSW-L^LEbd!b1iEuKAo( z9tZ_Fd3kV7nc(Naeu42NgVlk#Eqqh>jVJpwB(7}__dYjs=l)4${A$t%rU8wCfOp0o zw>+#oy<A>i>OQ;F-1nx1n563LH}C8c?mHF+ZaV+wW2~K(hE|l_Cac=!h0RHe(q`O! zEB)csdH<=a8#2}Hm-p1gKa6$xBJw!afhgi~P4feV1ClHj%?#-R4|tg7I5rq_6fCP| zv_355DZ2ki+>Cdu9+#FU&Q-~beSCmh*y(`RrHlw|&#JYBFIYJh9cHP_;eB1}S+%n8 zLo0`}!z`)ni3OKbbeI;hcwCyDcvj_QKow9z-C@!_-q&iLw<k60yLd28s<o-rzmd#& zh-<=<#fg8Hyv$u4?!>*JZ@I0%+d@{4%laK_A7}PY4y<4ddh_v1CQFUvH>uVJwS32E z&*oo^|Ge}8Q`n}v^#x+}Ewgh94A#s)B5^CFd2Qm`CCC4FL|)T4sqDnHp-yDu>H<5K zKL>v$-r0ERr@)79vBzpmJ!?|r&7b?&a2O=WnooXKuiDALeC@f<8tFOj?{nXfy5@1} ze<T;vKTD1RHpX+9;esw$DDEJ|z2RP**E-|0FTc6u?#-RARsNq}Rz%43@SD8*jjI#t zR@whP^lJ~h(brX+F`WIE|E$zMoGQF*@%*0Y^LTE?vO?p%Vfl0E*vhvn7fsde1qpe& L`njxgN@xNA$n^`) literal 0 HcmV?d00001 diff --git a/res/icons/Controller-96.png b/res/icons/Controller-96.png new file mode 100644 index 0000000000000000000000000000000000000000..8ba1f37b429c72813cc1bacfb79ce278b75aa416 GIT binary patch literal 979 zcmV;^11$WBP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000A;Nkl<Zc%1E= z+j-(J5QR?(l;9HF!P3E|gU~_Jf!)ET1KdIA06M@OupK}L?1Mzs5U?(zu|$0S?>jHV zvgRU7BY^`DLI@#*5JCtcgb+dqA%qY@2qA<JLP!`30IvYn0QLaR18o6(0%!o#8EmU< z-=Ef&p>2B@n_ppkcseQ=2adRQY)nVnMl%_;z^+Qsu4Gg&#`-$<NCyCakR}<mz1Jau zT}3CNLD<L&9f1vi-vEB$eh@1Ax8L^K(2*WuPZJ#_1!{bs-{+t`@~mA~ydi%ea_dbT z#Yonk2F^iiVJw4KV4hQsOM6UEvNHG?lfd9-Oag<SISJbWoO(8GqauBWbpg&itJV?m zzG78?6VI+yV9dX$p|h1QS-n-tdma(FW8M}Jkg3$-deL0i&r;og>lyPe-V=82B6sk| zMrWO{pLdT~05GSDDW@J6IfLJN*w-fN>j=-I>@KmBE^;Qor&eDi?5}fmRw+2?B3JNx z58E!JT$rn|jyeTLUF1r@-ov&FDNg~qN1dd6)Se*$XG}i@jrN<e@+ma|w{?E&VP8Aa zK2~=tqJxstE~W^4i^p~TSQ+}_(LP3p+m0mlt~S!(`_%ajz6ZDoXfL*_72HT0>Bx7{ z4zAzhdch5CA8ngtmDfg+0O=yDxk&G%Hz+*;(mH>NeZm3&mI5bBPJpz|pJJb|1mxwX zHWJ%Po`TM><>-gdNo^#ywI26x2iHsY38DG`%wq6U6L5yS&i82_s~sRufHXmxeP7f- zR_Bkk7bigbYeyGTB;X=xoqyY2s>2ika4}^9Zk6jW?kYZWO+c>i1DF7-T;B&U0Rt5= z1!+EBr6-{Eu&-6@zX#?~hK@<I&Ua}8=w|p?)Ig`scc}&BhjBkisq1`~mav=(aDHw& zVSw~NjtbYuFacEo2F*<sZs-ayYA)(-gAbb#t_Au!VdUqDT0hRB{>%9@^-Tdr-ct{= zaJ|5kZ^I2#Z9jXl*J$tVW3_PwA26GcQXJU8ykiyf%I5+mA*BqcKE#ilN$3$D^f7-{ z&_8xb68xdjQ;nVzOl1)DGFu=O%rrGs!LfmGFuf}p``6w-<!BFK1-&Qzgn;+LTvSNA zPv|f>2PuFW#->yQt%K6PHmeZ-`0kK?Zr5OixT*I96Ps!(LzghesXKgsjC=d}rEDxc z=#RLRwL3iau|-)=Ga-Z!LI@#*5JCtcgb+ds;~%S7eS<4U1~&iz002ovPDHLkV1fct BxWNDb literal 0 HcmV?d00001 diff --git a/res/icons/Data Backup-96.png b/res/icons/Data Backup-96.png new file mode 100644 index 0000000000000000000000000000000000000000..3823722a74b526efcbb5c3a7ff074490524e5def GIT binary patch literal 2093 zcmV+|2-5e7P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000N{Nkl<Zc%1E> zS&S7$6o$VUW)K8aR+nK>7NZz(3l16)6<iRbK|^Aq5Tas;h(Qy?xFDMdZVv_p6bXv) zK_5_&2%-UvVhkuj1QgT&BFYW|Gs-gK!|9f0=-XA@U3Kf;YyZi4ndz?ouR6E8mUF5a zGGxe*Awz}?88T$ZkikC6fwO^rz;NJ2-~(WVXTNy1yMg(C_pf^&c)=^9pI2si-fB@q z=mZP_W&&$~BS5_+JK}N7^f)`^p?(F4ZooKTHE<Mr4X(1I!1ut@Kv$a;E(Ej&MgYrj z*WfB!20Q??veX7n&<&UY)Zo5>b*%=NPLV$qZGdUOVca)pQac2^j6A(Xg~7mH+&7>p z+XLKfw1q684491j2D4?8ygC*vremg}`+;wPcY!IuFyK1iGN3!q8E6Z%^sKG-x9;9G zeZ7080PlHa9WbQrRb#DX7-L9YslC8_U^Gw-R9Mhg0rUbM1wJC(D{{02eW_4Q{PFxg z;7y=EP?>+pR02198un@E4cbwlXZ|IJqa0X{zW5DDC*8z_*c@nr%#1gnUypAnkfn`l z(G$ECxCcA07gMMJ?gjopuTFj3$UGjep%%IjXy-~`0-O#kLS3&Jt^@|LifEA^QXr3N zOq3%7gQ&W#bfzwVJw%J_=uTQ{bRxQLyWL4U2GwKQ!JV|!=!m+0&Y==m%CDfJa6mn< z6sU5fFA1uE&(W)!bLftnOK})lR1Wa1R3>6Y>j2+sk$3D6pjqBk3+E6|L#>A1l5;@N z4gy~ytC#(NrWSNI^~#>&aUC?I-8oEDqM=1CM|VbMs==qGnfJHO*k6wRUpSzc%sE^) zfNOIOmB7C=t|?U0(e4~7fvtgOk@vdm2GzCwp61pX*E)x;z*ZDzVphpGAc$g0O)N<V z1kn;0fTXj0LApti%4$50$sT9RJk-xRObd)kPhZ2a)byaEYB-jn{sU&y(~I5##T<}1 zpAvAuLf|B4>XPGR^ac#hq4Vxth%6Np6YfU_3U_d92_)EObOLV5zpN9X+X3!GmZ6I= zI#$q#I}+K5q%ofAKx;`N&5+QK2Q<&S>Joy9@%bKL9xw{H6li2YXB99A8JhOCP`)#m za6m)bhXhUL0uzxqtsf8Q!in*K=D?ZA47)dQ7m@`%4M_;t<(0b*xX@6&M<R*6<B?c* zUt~7j*iiY}u;Bn3wivUa&v6l4waBD!F|s9g4D$3{g^Z?*Zt`&5usZe`=KGo9DfDay zZZ{=F=XK(;@t0vI#(Y}}O=C?8QIVYnJPvG2Avmf12ApBCvH?^l)HL3-5EY@1#=t-% zRq;?l@o}sc>9lP@CvUW&O|&6I*8xGa0)`^<09)A#Rw^4nW1udEp2@a^Bym6xmB{9~ z(MSr(&%~=(m~BE9)56dUS*kWM9Nig1(<lRcp-Ah1Fr0!oWiT)ScpF*J`wrNQto{Gf zfTspn>s^;?k*pE$iFf^WphrS|K31defI4J;VjL>sLW&1G$?@8Dkj@FdGj(l0GFdbV z6=|Ww19}jCZp9AZqJ(9>6;htcmSK2BSclYgJfIBtDnwV%2^S|QcWOkLQFdSQs+<U2 zQkU_7{u=srpckYMVpK>u8#TB#V{mhNT<`ycM4R%tKj2dhU6T@&duM|(CLj~fbsBue zI^-meU_G)zIU6}Hz~%~K2h_Po^GUWq)+bO#(1Bf1&u<nb;0r}k2L#P#Jm3)p_aTy> zjCHP8#xo)Ro1ox5jG=>|OgNyS#f=9<LABE{&G9p*kb8#P0`){~U<&U4V8a1PY(Nfu zyA=2JGSCLOFiXMxya^K54ewjngs+|Ao~_s&mEEG?pKpRh=XH_~2ZVLxJr(zSY@z`o zP^I8sWr9T2F!_oHg#D6LN9oKq(Et&sAo?WWUrmsx8pen1ctF_dXFtU~w$FbnBRboA zvk4Mi2Lxdw9&k<w&lQS$<|VANE>t^g)|wzm;(#Db#RI}dGhGz-7<mUrK-C8=H9?Zr z0bxiI4+zULs0g_(XmvpQgc@})HiEkzc-;hv>J{QT9<YLFeIqP#ugnMcdIgE=c)&|J zbosUkJ83JoDtPOG3rrBr)gW>i54c)G-xG#88v{QoIM<sZ8>Are%~d?03>j}nX*-13 zgk7DJB#k9!HA03{I!>s^O*|khaMIAW5k8cSiw8BhYBBsqxSse!$9%;DK=MMjYiRlt zxH2I}IT91lX@_YEIU@0#25~OS$Nqp}np*w_9wT1Id>*o{q*MNG<l`2`(FplPCv`&5 zlEedA0GA+7V;IVTB{4K?0UjpzJfR#(H=jkkuY?TEQJxW$A%`TT&1_3+H{{TF7V#Ga z>yWv`Jfw4-11tc3PoQg#c1xzjK;otCnYQ)ho_qAf&B-lG$n!ykZID-ztHU^+iqO^< zdr84z_B9T7g?0zt!R{CG!mI}AFLI$8y^&E`TY#HWAx}Vi<XD(Z<j)DqiGJ*>h}SX4 zvBO9ps^B)Jmm#BvX~;%4+fI0c=$xN&WRztxVz&fyyD_b!BeF#C3Ua)pjSs)gMEy%_ zj>IIkB;=?=*7tLbz={TyNTSq@$njzRc|psOvw-~bf`Xq$Jb=t%{m<DhMdlDwfrpR- zH*~)b>5uQHAf0DaNO2o7JRM1KAJbpZC_@_eawNul4U+1fopq5RLxv0)GGxe*p;YlN XvDvIw(m%RO00000NkvXXu0mjfq9(vR literal 0 HcmV?d00001 diff --git a/res/icons/Delete-96.png b/res/icons/Delete-96.png new file mode 100644 index 0000000000000000000000000000000000000000..bdc9e6a224e564c154da3b8198b8190e5da84f10 GIT binary patch literal 396 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U<~$jaSW-L^Y-dN-ev<4mW%OR zO9O>um$XiCazClqDe_e8z?$P{CV%TI-x#CnIY|YGz9z0)b^P3&bN^lhp4qy;#{EXd zy2q!=TkOx4*8H3<wJ@}D?~>}5O)?1|O7vqVF!RiNx0Ji6;o#-HC63eO9VRX5|FXF9 zr@MLV0_FqF)AcSeJ~-$t{(|AdgQeUh3>6<Pv05?MRJ>%8Wsuub(#XfaAGgbay@6ey zZpx#z;~!mH!~4tPZqQGq?P-}8j=x-XN_?m3<%hW~0{I68>i?TxiY~~%;wbY_jpzIG t|Fd3|o|u<+<k!DtD{rm@h0x2loIMNGqdr`b5d(%YgQu&X%Q~loCIIortCRo$ literal 0 HcmV?d00001 diff --git a/res/icons/Disconnected-96.png b/res/icons/Disconnected-96.png new file mode 100644 index 0000000000000000000000000000000000000000..5f21d858a4a2fdf3ae90e75cc55f50d6dddf6357 GIT binary patch literal 907 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U=H$haSW-L^LEbd!p8<YuKApL zs;VnmbQxvWco%TKRCtqex$&~2*9PkXyOeWTWvQL~4h)`iB<oHtJXk&Fh}Z;%zQ-02 zR9ndOLHd9^L;v$%Y#$gCl4|B{e_lLC;(Lx9Q^Dc;53XNhf8|^qZF7EV;(k4gWa}SK zS8?V_+8wWpb@1TdueN3DhuzaZaNlNEe$pN<bSvz~T`z?kd7ZfRk(vvaw#Z*k|EAgN zbc65J{ntT4MThp=%ip(YdAlGk_W86257)1GKlgQvkWJ0f(xZPGb9a1Tlx8Xl3xDX& z@#`R;bY05=`41aF97ldI=LeW`@VIH`yekGQe?Q2-_z>sM$5P9v$M}n>ZQ6w5>I13< z$(ny2szmVAOK?s*{65Z!`(e4Z;`h2e+Zxy#$|tIbXk@kpJbJwJ`jL6Z4qho)r19~! zO8A5BM->*g8m9dC8ua>@U<=zE+X$~a?pdbCIsbrI>mwPfg|l}G{5W*}=H%+yr*eB* zDh%Fz-&Yvl_aXS(l!)g|Qmgq&T3T-TUAZ++=r!L%{^a$1N}7$Ud3W3i&JuK<dz5{` zgadb*RZq0mC$8DNqacs-&i!*i-={GZ&;9Qxc{F0L=GB}Zf~Pc2&1!jexIe(HFifRH zxUQv)YqQG2-5(nNlnX@(E&0W1uCZ@L#&Qd7p(VdLwe(lbVKVKuTQ$F6Ma!H+Cf#<s z<`;Cd%xN;|zV=EzW(R*zRL3%wwRKJpteqkmr>QKta{8t}hfe5zh3BGIyI9WEIjvY% z(*F6><ZU{Qo97FxTIKzu>oJRm_k%a;EN!)uER1SAInVy{o!-X4$tjk{CbrNrdu1*2 zc^1YhrWmGYjKRLZF#o(_t9QVYmdaD7RW%+7@jSpl29EIuHVCcx%lbP&XicmA6qeNw z`4taV{fPC>Q2nE)`owRJ?}m?JUk}M2{WzuXcV@jG#~sIv0PAc`RYixwq_-M7*kX68 zwj8~;rFd_qU7&nji?>t6&Dmw^%)PxbES>$g3LQEIl8fBtq&?F@d#b>zzKdqr3$OP4 ze(F`Re#KttX$uR_M9te^|EZ|`gZ;jYUg2l)XXZ4o6MiPIf7<Yb{+Y!e@78pc${a5Q cBgO`KpQ^*JwdV*v0%kG>Pgg&ebxsLQ0MB`%4gdfE literal 0 HcmV?d00001 diff --git a/res/icons/Down-96.png b/res/icons/Down-96.png new file mode 100644 index 0000000000000000000000000000000000000000..8d393416e07395eaa40d7244f0cb5050df2eb7bf GIT binary patch literal 560 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VEpds;uumf=k3LVxrYq|Tmq*p znY3;3lnFwU`6hLX3Ci4_r16f=^DqC4Bnbt}^&(0ju;}0Kn?E%y7>+P1@G%rJbTB)} zFg#)qU~iyEXhYiT>9P3?-kML9e+OvS^KW~yxtb}$OEdoU&iRq;Q9u7@oVNON@}^e9 z+aLd0l_M(u7IfRytYvRVf84HoqnmlN;1!1V$M~H$%w;wfoWkIKjNcKc`93>;pIZRq z97+3><~RWnhEE^2iw7#FFqatr`{v};;?wZ%*!?)4)(NZ^-u}4FttDW@uuJ}au!0LS zkMX|gy#kyDcYegFIf)$D@VGjXLy+Nc|NB&hEo?K=YV@TRsvanLTs@IvEyFU|``u0% zj0S&y#IYO-ZMfa@eyiIKrh?rc_fF&3%CKGbes*gBbHVSAd&M}?872NNT+NZrAo1Td zT%eE1;Gf@C4tF3g!IY!=f8w9Xb6s!zme{}O8b?ojpjy*Yo6J2%0y?h^7mIZ!RGydE z&B1cI<^a!DmkoDTpAY6{Ilb>oPORgGKd;Y4@-}JeSrw-X_!J-gY2B2t>h#^E<s8d) xU)x*d@*}Q(@e!HEkFC0`A3HmMAY(%v<7@$s84HDX{Q;%~22WQ%mvv4FO#peU;4c6G literal 0 HcmV?d00001 diff --git a/res/icons/Download-96.png b/res/icons/Download-96.png new file mode 100644 index 0000000000000000000000000000000000000000..f162d2ba519785038d6929849b07b106d54da51e GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U~KVpaSW-L^Y*4;-eCg)my2(U zr^IxHt~(n1Q|;YkH@&2mjZZ|sdcL$zsMcklp(~>3IZ4Iy@lU_LNjwZ`3<k^%k_=}U z64)4w8D=mZAWNuWiPTT`CCkbx`VZH-9MS!8{EpT3r?>qd8Y{g!X#eWgPW}5eTB<+V zW388-=H^+z_J7CvWo5VP7#81e4*ptqdd2q#Q}*5uYO4S6TvPVDY!L6ii}JzN@2!>u zzB{N|wZC;A`}9|TrwM(t>)XLT{mtKLi{BqyTD|}2it2>-{};FH?SEa#|K_h~)m`T5 z`sTgw8~6Ti1FFsI2TH4_0J-~{%R%H~kl<<C4d1OJs)6eJ;(+S^GpN3)y%Ycaz&-m5 zpMg@0AWhBtrcG4woU|nP=Ii4>Le+cY625sZ7N1dj=>==re3Poio2WwapwRsFl>NlT WO17}cGW&ti!r<xZ=d#Wzp$P!wYR6Cj literal 0 HcmV?d00001 diff --git a/res/icons/Electronics-96.png b/res/icons/Electronics-96.png new file mode 100644 index 0000000000000000000000000000000000000000..f4e0f143f29417c303f053fad7a11a86e5a126c9 GIT binary patch literal 576 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U}E=laSW-L^LEbO+`|C^&G}Qd zZ?yF?JHc_y%~MdkQTot@xgK_(nIq;Mkk@<{B<jSW7;~I|!mquyZ<vf3h@<W68U&m; z<{w_QDmv7b>p#P)7azauxpjNTjOdT2ZB|EDYl}bpa!k3_yxjQQ-XBX#U*EfRL1Fce zRNu_4TTM>%<?p{5zTxuyf8n-L)l$u|m$n?U%<hQ2aFuxr{|rW>hAq2(XVok0Ucj?q zCpt^vH{&^_bdCql#2<;BIIDj|cf#!Wj%Wq*{Q}z^^6C`x8t?pZy2G^dXX_5uNuR5) zO^8uwh>5dwK78WoRAZAKJj|Tw;pYSn;5V`8Gj}1k%Jc7Q7M8!id*yEUZ|0k<sSRhZ z;%43CFAytp4Chxk9{6X{vJ#VTCT{;C*=L6SS+s1+tthFq<LeJRdi(#p-+tEkvv*^T z@x?dYo&EpRs{I0f@khV`%AwdI(6K<?;cIpE4c0UU1)}J>KMX)^CO=qRe^p(}vU)fb Qm@*hVUHx3vIVCg!0FlfO5dZ)H literal 0 HcmV?d00001 diff --git a/res/icons/Help-96.png b/res/icons/Help-96.png new file mode 100644 index 0000000000000000000000000000000000000000..93f9632bbbca8a8c8c863ea8e01b6ed8f5732e2b GIT binary patch literal 1768 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 KMNUMnLSTY6$}ji; literal 0 HcmV?d00001 diff --git a/res/icons/Home-96.png b/res/icons/Home-96.png new file mode 100644 index 0000000000000000000000000000000000000000..dae8ae04d88cec9982f194ad2270d332f928db3f GIT binary patch literal 631 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V6yXcaSW-L^LEa`!sY-0=g=na zg)Ck_=U!~GUcfRvseFP=lD~xY#>Tt-UmWw@)b%D!`xqh4klbT<OaemOO4xB)K!Ty> z?o;KQ6PyP+?thY(dVk)>)sI21Lihhd?wXdYl8X3$UpQn>KF)i|5c6^8pZ0Yh1TVeV zxaQAG!Cz<ZzUygvdenY(&YMbekt3(S3x*l}?Vqoj-#YV(#(no02kV)&qm}oF#{Dqa zu<7YRv&44?Ru#4!&Tm}`6mOTyvEA|1zyCtGua*bn{vYX6yDFDzJeXd4Lz(Bn^go`? zTfd}4Y1B`5zmb)Yntg<C+o5YfUB3Kg*Fc6m+s0I#kh*&1!E4F!AVZdK4e4a63)~ty zX_wdXhWK-d{RR#3r>;o_&GLTG@zh&p;nl{eYXw`@Uifw3)U{>Jx%$kjj|r~IZ{5qg zCMQ%j$2R8Q9px{prRtmoIj+q*)iv+`5{{P4(A2`)+6nC`-F&+lw!PTEoq&t6f<5HB zxSQ>QUHc7QF<$-K8pyxmoqkW1Luq~D73NjHxfja?+>Mv`+VJY%A=)Utvp{ykvhC4L z`wh}%zB4>$sZX>5(nj+)y!`Ol?8*<zu1Rm7mz~!N-UpBRp3LU_n(DL48}FM>0468~ MPgg&ebxsLQ0CsRJ8vp<R literal 0 HcmV?d00001 diff --git a/res/icons/Horizontal Settings Mixer-96.png b/res/icons/Horizontal Settings Mixer-96.png new file mode 100644 index 0000000000000000000000000000000000000000..f5ab2119ffa97753311f6bd415bed8c710ad83ef GIT binary patch literal 447 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U~KbraSW-L^Y)gl-{AlO*N3~c zmTV}jW3l#fUC_X$W$u?~?|WkAo;m)ruFaaM9l6P-Q^j)<5SctPJXt&`dD8t**~vDl zmI-%#-%WU;{=7T>dif;w6~|ZZO|Smxz1PXs@2&Q4W(!AKzufnqreA86WH`f+!1m$1 zo4AeCfu-~BuRX<cfFW-eD#^f?;Jv%;T`%JS9)>iA4d>s)|6{-M_{zOa_6_1dqkjhP zYkaEnbjs(W^B+ZanN?h8`6SBqc^&7oSm87Lo-;tYuGuwQWJ_Ov@$Zz2%;l>|p)#CJ z8AKtjWPqAE{}XS;^(~L)@|_50I%6$6quk2Cz9)f=!I)tN<C-45C%3Ndy>C>-z?>0x z_qXn1c7ujzr~*5FGpx(~#kd=!9_Y4bbNN7~*guv2;O7nsN)^w`KbZrI3_9W-hwcYP O41=eupUXO@geCye%*Z$Z literal 0 HcmV?d00001 diff --git a/res/icons/Line Chart-96.png b/res/icons/Line Chart-96.png new file mode 100644 index 0000000000000000000000000000000000000000..130769149c70e42cff9307cbdf9712d9879d0395 GIT binary patch literal 997 zcmV<B0~-8^P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000B5Nkl<Zc%1E= z-F2fd5QT3EDPc-*36$UtLI;};mJX5*a0i<XmJaL=><*F+b{{Y&!~yg-l15^_bLJsA zSh~!JK@tprq9}@@D2k#eieiEQyaG4__;<JS{eP5A)lPWDm($nmHJiH1nU8proik~y zmN(ctf3mkMN-Kom?)=Fpx!MZx8U1<{FyfN?^<EGGU*}I&90XbO>|F&w;yin>(6nZk z#9D)pI?wJLbQOCOmORfU4{eiCB8@>1WS?N~sjceKpXwxAPhHjK{*?EEgQuoqM*f7a z^Cyb|0r=SH^Ao^r_V)#&<0+D!Xgni40ME>to?yNz8|FTf^9<mMaOY2U1z#X~LtigU z{bYgL@!WxUF|>aQXge#h9nTSn#?a;kV|vOC;pbk>70Y`ysU2?<h)MtT;W*Px_wn4a zV7ph7+wn_*Xf5?G*@3}#!Gz4$O*Q~H!fsLac0YEAsAq0%u;&;ES*@BJ-#qk1_x>)k z<JRWc4dMpk<lv)d5Yjk4ga&Z}L5v!`;T-(~;x1wu@CKrbsMQ*d+&>`g>ahV&AclmR zR|!3dCb{A-ngu<smYvd1pmhD;W+Sd9VPCv-{h}Y3*igED@sA8m5X#mMK=wm(8%oy? zz%7@G$ej<At{;H?UX4^r*AKvLuSOz-vh^#9q9}@@D2k%&4uY&2wp}5yhHW=Utzp{* zRcvSbLiqVEXUd#QaCg4A2Rgn;$hpNo()8sIWaM0_HEdCllyiNZKUr}QWaZr51wdNP z9Rl=-eYU)Xw4B=o=qchR{DiThrpI=fP_9e<7@&nB=vmwg`3tvs`2oOh#HqUB#HMCA z>FD>JmvfKuHM_B%t=m+1Zc%c-%Sh-Eca*Q$2l!rx?>sd`8Tqkl#A4a6!1HYk?cb2_ zy&^J*k!n5s3abgiYKBve{%IsN7%LP*+dIR}SvEJ_qeFWv#LVHJ0Nydy;?hFj9YY@< zurIXk4Q+Ln?XVJal-oe}<A+%r!>kS4x1L)=Kds^S@0NPmi9O0WI9Y1x?;3t%T)WIu z)z<HB$oQd-QfjPPjKSu<Vn31jTM^PW$F?}&`=`V>tWBtY5rV&XO0ITH6@#PBH9I9$ zzJbqG(B%+1qeFNAD6!^ET<!&@JQ9C!MA&_yORm^Ji8WSN_y=G}FV_sAtQxD(G^7Ng z0mw`#>zHaOX&qA~gi5BNB_ruYuia9`w<1cX#C1${5XxG|D2k#eilQirQW^gN1$y5) Tc||}i00000NkvXXu0mjfsW9Tw literal 0 HcmV?d00001 diff --git a/res/icons/Ok-96.png b/res/icons/Ok-96.png new file mode 100644 index 0000000000000000000000000000000000000000..ce1fd6713ebd7c5ce0338d8e1904f96f40919129 GIT binary patch literal 1088 zcmV-G1i$-<P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CBNkl<Zc%1E> z;c=rd5QSd}l#mkALDWIq!EFbZ4&n}+4nhY>2j>pr4xj_O1MY{(43mJZMJw$}=$m=J zJV?85Z3%?HK&4WtR4SE9rBbQbq5<#(;4gp!fPbSp0K*S;lg|(1F;8O~6$a0^8u*3Z zCa=}k*yeM>JhH+8cn5HXoaswCkA1lWd70-A=7*D1>c$v0MFZd!y2j5H;uRa1FLtnH z{9GY+(Xv<M0l)|J4ffT?7;_QqkY;j~))@u-8V=AmGE@g~R}#=b_B>u&U&v^JF3tR` zitva$$9rF$#~e-4pltJ}MKJeED0SFblDXk%OXg3DV1hU3o1vvQ0sn&7LEi*zsa>o+ zU>lR}J)NPnY?0I2PHcSydda2^J-?M~C~9DPNm)xB5}lgv6DO9F_N!fGP$%AHbpgJ5 zK?ahHrIS!Qw9;EII>Cf3iEtgiC5q6kHTNDaLgE%glN_ar;CR;h(Fz1+O*E6IL=jqF zQ#q72`O=MC8-#t~&K`cUDDA>)@0oWS(1+-SSxGCNEhBFV=tp#=w3PM!mXR|B_9b?| zpa~4bidsg_B-E$K(u5NVCKvN1=R3#fcaaytfHZW1|2I*3SI3KIzc<Nw0@gHtfY3yI z6b@=D<`1KH!5kw5wgvOW3eZIgE|z-un;&~KS?3wYO|%W==mP((gQ+%?1(U+K7UAdK z7R}G10PUnNTG@tG^UW8ao#~I5ZCEy6qyT-Sz}g#q5~Cf*$R+h&rk)YoBF6}UwI2PF zM?1vG<2^zi_jF{$x5!a3D7w)OG1}2EU#tKzmLiDJKLsAIW&Qx6rHELIam0v$RvxFl zjwP}f=OPA3j5r9qZxlt0+gFYe?;^2p$dE*kKcL7l`$}xDsMM~p6h)xOvHI#Hm{XFm zlmz0W1abOG^rn2OZ7CEGqe~Q{uf(4hxFiakR>WrQ0rAU<9PZL4On?}1Su=k?q^*fA zaT4SalST6fM0_7zpEwb^5sOvxdmkg$LJA4dOdOV<Q=5xdlwLV0%kQP=`F8TzCr)Zw z1k2_R5L)}WM+2Q-!2r9%&H&zSj9^N8UO+-F#LzW-3Itt>J_Eg6#RJk^9b47~itiY$ zLy>`Zi)!C>(v<oOo4$#CzrdnI*ZV_}dcZjsaduxPqro;N<qHg&|IH)HE&^v8q#C6T zM<$1zB}ywoR_0GB;S|-(speXC$a7w}z`#Y86c5O2?dTH){e{Vt9rTv6ebi$E|1Z|y zdQ+!|zTs2j_sDdj4S}Frh#m><;pTwDbuUed$@(((<)UYmDLY(G{Uom=PGg(JoYkbF z!S$Q^f~$eYQ9b5|lkd;p#$y~dIIdSJl}e>jsZ=Tz+x!RDz1V!Q4Tz5b0000<MNUMn GLSTa6W&JDw literal 0 HcmV?d00001 diff --git a/res/icons/Online-96.png b/res/icons/Online-96.png new file mode 100644 index 0000000000000000000000000000000000000000..67f0a1a13011daddf3e9e1873c4c415a65b9a45a GIT binary patch literal 1248 zcmV<61Rwi}P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000E1Nkl<Zc%1E= z-ErG65QMh`m7o$-0!nZPK?x}VC8PthgQNqq1G@vM1G@v}LDE=OMDBt-0)%tl3|~BR zhdtuwfFoqUaU92S9LI4S$8j9TaU92S9A_E3+5(JdE{+|5X8^xz3o+msz$+T+gdNU; zhs%?ys#!+FXB<s*!u`v?K2J48&E$Z8<9NUPeUps6{LKr0zz%24W3g;*CQQBjrl#<P z=3@DcX~Ea0g{1rpEtbu6LV_lE0MJ!Ym`8*j&#yWXKMByq#wrTu5uwLbZG$nDs9Jvc zSDv87RxK&3>wc^u&WH#t#+TB<f+(!|8fiep2A3kXO&b98B?Ya_AMkjOrNl%*%m?&! z@qjvs>;Qdv+yOX&$Nke<<Rg^C8$@66;;-~c`E~;lMVo*PB;+WF=w|vVd9Zo8YdeZ| z9eDhzuURN-|6cI(sL(Z_%t`szNZV1c-Qm2vPR0LfuJ}SA4G+*t&+Po5_?SzaX!jl3 z;7Joca+lyNI-y}@3AvyCkDfJ>@&P=5DWg}J1)Z(*GfceF=uhI~`kYLapXtT6li;f( zKHe>b1KRS#b}?${;!W^1hXb^&q_UIQ3x0y7__4%w`_dRm5dDF5x1$H}<wKp#Z^Vab z72rr3OT=Cs{lQZ72tm-H%mTKY9xX*LU4EkABUuV2BtcIkKE}4vw~q;dG;$Jr^n#C) zC0(VopzMg4k6<B|O|_ob?}+_?LN$~-qM(Znik{e;#KjVDBKDEkD}mng17A<&ub02& zpzP-(@sWtVNh0n^Bka(`ME=Rp!fs#W){|J7IT8Cv?E4HYqx7Vau+Tndnku!ZoLbD% z<uxp{mtaA&9T2k*q7L;Gtt=f^0`b$YY%jrrUEBVOGWzGtf~~~2d4cN7xAwcXeKP{R z11bw-wU^sRsZCkwTfGBV;4BF<`ylFQF$w1kgi(6ZNLXl}vkg^dK~B(3Y(sm}NF?@& z*ykR^raIvb-|!%|#ZpAX*N%8Y{%r)MM9zFBVsBE4@M7FJJ+U{5E09Kxf)6J2i1Ov= zBhjSf66PaV31%b3Kgc|O%s7#T60uiGzosK*f*|Nn?zXa}`D7`YC1R!al8BE1>)#Po z?gkCeKFYJ&l<7zLAc$73r6{xDRq!>31NfS)j{d#iCm8EDxefNeT+I5g6s|TpK-<am zf}gdnCbB`K?0l5-LuV`fOdyS_qlYa;ijTR(iFQA*@yoe@R*TsSe#S;)PFZ3uORlHy z!AHMI0d9;)8XutF@xS+#TgO>KkNlSpY~TkPfbD)hUi__nC-k1%WiX010X%MH2ep_e z2+8@a)B$b$Nbd+9cd?q5k_%o+i79~cqx4frK|v5S;QXIQS|>t_HIx>{K4uh4N-Gkf z#n{&nr`#}Zxf7nC#a1NojuD8sRy!d=kE_N8;tL77*cNg^gdUG+#d8U2J}7b0T}lTn zmXZfY3cIbaIl+V`W0~rN(kI=eOce~PCSAr@Csa>VGkEmPw~2vt-wCOznq@?6eAyXe zhjTJ(A?Y$YH1_guX;Sn9zDpdA<2a7vIF92uj^j9v<2a7vRNyaTK(N3Z`=U$$0000< KMNUMnLSTYa$zm=5 literal 0 HcmV?d00001 diff --git a/res/icons/Open Folder-96.png b/res/icons/Open Folder-96.png new file mode 100644 index 0000000000000000000000000000000000000000..82ae0bf9ff8e99958fd2ac6ac4f5ef4797af5adf GIT binary patch literal 617 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U^4J@aSW-L^Y+fgz(WoaEDv-K z3I#E#1~kde5YlPnTfqF%!FvHSkhO%lmLXk6nCZLv^uOZYX5TC?<L7I0WHd&A&Fk0> zNF9(nP~N)d>@}AQQl)O+74Iy#W_+)`pqclX?EUr+?#$<Y*tHm6+kC&h!0h|o_s&1s zZT}pWXR7|fbMx^R!99}ZsXV)DwyimSHnK0)BKg~5G2J72vrT6kE}oVkes+$U-RrkE zRE^W8g){C>d3NSg+yT9rwpTZDr}>w@X}TFKyF1}q$Z@?HwpW+dH+(<G?(mFR;WOie zjrX5~d}4hdd%!#A+36ccMK-g45Ru%?zq=<(?f1NnSQpFOpLb&42%Wk)_59tVdJE@W zyuo_KSZa4eQQ6bt@{Qga>CtxO;=5alZhhLh`-bY2%TvJ0W+kV*v3sMm>SssK-S$`) z)AbWK{@&2NB25rvbVrif?*9`P^uVaFi3{};rw5)fGWw$W#;9wi$nKt~vV~LGH*l{^ z6^*K7*gYX?8kD;!-uX|Gc+jczg2#?;g1lCKGEW9lm3(<N9kE`Tlkflc2=G!3eOIrd zv20Rq!Tr@Yj)q)f`@Xj;)<@MB$nE1imFmCsx4cE|&LhB($St@%J4aaL%p7K|+CP7; zs%Xr#JpE#Ws?nd<r+PBobE0yrKQ@P-6EyDUpYv{K=m*C8!DTZ(nA;0-&xzyh|MKxm l!Mi;&JLk?s0NVxfZp^+XkKS575151)JYD@<);T3K0RWt@AlU!_ literal 0 HcmV?d00001 diff --git a/res/icons/Outgoing Data-96.png b/res/icons/Outgoing Data-96.png new file mode 100644 index 0000000000000000000000000000000000000000..618d25c99c8c20155dfe421e82745f955e82103f GIT binary patch literal 603 zcmV-h0;K(kP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h0006aNkl<Zc%1Fq z?Qw!Y5XSMR1WHH=DS-~O1Uk@8Vh7qm(n-<*cAy=Y55PFl@N&l;n=Jp|%zkl3cD=(# zM??Yu0000yI!Y?6hgh?lq)$n&)`P6ot*wis%661>x;+$;w6MnwAd(jL+XfIx3+med zB55IG8$cvwHf004NZK0B=-Si`=<3a8Ous@mpo^pzgIQgQ*?^!(ifuq8iX`g+*HD9z zWIfzksyC9X2U}Y`MUwSEYpVkrU{hBSL1y(OK7`HcDRK}dcHw&?2Vs&&4#E&Q#)uqa zQzM59GMS7m{z+Vt%xWldD!Z}PgUB&P<QOAzj1f7;P9kyu0000000000000IGNjpjJ zl4{-m!cn)6?UeR{w)cKPgB>;gzsatSGY9qFFG#88p4ZU-&0pH*(r<<;Vz9@m=ohC< zFkDw9{lXNAds_~@U57H$d%s|Zgu`_;bT5_nenC>79b;#S_kK@OG&`%gL9J+O+dh{1 zMS1L(WVpUFE61XE>o@xVL$_vbGc1U=ezOlS_U$6|f_Uqfb-<T}7vw+on|%Opk+5{X z*$1fA{~=XpSP*ahk`1}h{cGAL(_(n+H>yx`i)QK<byfeF<+)!J?>`Ov>7OE`^k>P~ z+2OrklrrIfCH>-535KiaH&3a!x9e5$mk2%gi&Ch$g@5XBC(XY|?zvyILegH+hkpJt pcy1rtCmzguKL7v#0000u_6-CE1Tz1vgkb;x002ovPDHLkV1n$74sQSe literal 0 HcmV?d00001 diff --git a/res/icons/Plus Math-96.png b/res/icons/Plus Math-96.png new file mode 100644 index 0000000000000000000000000000000000000000..1f4b8716059278ff6cdcd22fd95c3e942a7d40a7 GIT binary patch literal 237 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoTRdGHLn`LHy?BuKfPui_4e$1s zSUbfv>S=OTFutw?Dgc3mzH&n|VFfh@pN1I>hKxx}M_4*I1qcX4M97x>I<}f$=)tGn zaCwyjPo>w}c{H3hkE^}#p83tQ1;m>Ku?yl91_t*Z45!s>-bq<;2!Vt=UHx3vIVCg! E0NTq!g#Z8m literal 0 HcmV?d00001 diff --git a/res/icons/Potentiometer-96.png b/res/icons/Potentiometer-96.png new file mode 100644 index 0000000000000000000000000000000000000000..e7910475b6d60e80b5908d4d99f20497afc9e9f5 GIT binary patch literal 1462 zcmV;n1xfmeP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000GjNkl<Zc%1E= z?RBF%5Qd);C_yE-gV4cE2XO~U2cd&a2d0B{2X+TZ2e^Z{gWMm$G0VzmB=m(>&pGqU zmS&_EBp3#uP$(1%g+ifFC=~MN33vtGXZAY$RtSIs4!}3?W3cbxzbZkT4@r$|;&npQ z(W8ApI_xKZv@Sus4~OgIk5&*cZmb8*Z@vXMP&RCKz%Ss0dBS`PF#r8D#Io};vWyug z-L$692`#{U&v-a7UeF)uISMd8GhSAVJ2@}7UBS#rCBXEo*pv`E;FEL{7OKBbHn23k zlh1^O>hIlpRw7Wb?x^3A0OQ$ES<O&Dd`$ioI0Ac3|Got{d+0M85fpBDnsL%w;Mw5A zw*VtG@Bv&_^xcs->F09fU+9l?>CqEPfGInAF|H2%e+qqg=R+9aXlLBAlQ9ICvd8|c zXdL{kqP7U`ihgaE5?g?gH|)-cdWA1*j>4dhtly|o2>^ZUXQ7{Vr7tlmazH5s7-@yR zlqY|Sya@tnJ^IT*0Fa6B=F#6>&W0c^p8e$_0GK!Dqi26w&W0dN*Y&pKB*3%5*V(f_ zEv5nczB|lGfGV;-EwKZ*2z<s`4iWeajwt}&OHhs59qJYT*XE`rC<_5j0emX@s}PA0 zV~$A$h~p&i9~{Zi*97!m(_ij2GkYWK-DpGnJx7al3E0O7CK7wnZ2DSk*5O|<0t(D8 z?8Y1%+s*KkZPsYkxTV{JV;j(D2ewhMtmtEP9cOS{0~_r(d7cq9eQayT7o4>Lj@FUB z3QbzA_mBciZG5TXm9T>BxD^4rKFfYc0d#hvpQv~G%Cx7!mU2yM^1qj%?E$;e$RfbT zEjXqCo>`Yb%hfK(o`nZT8bE_v5-m5o@@HygGXg-rUN>x0h;icQd(Nf=nDUIgnj)ng zSx%{MR)CR;KDl)yk27OhmnwOhw|N2P)by$3BXKtG%izm3ef@9(=&0$Jfrh>W@;um= z!2j3e{~tpi&-hD!{1XD?O!Dz34<Iqg$Dcfa#3Ubo@&FQ(eEdEFsJK1!=;-tC%6Fg( zsKIA9#Bjjh3nRf<8$g9V|Nc!J5fu7VbjLq(A8=Y|8>6^&>2CZaXuoLz_J+1ykcj`p z^dM$$XrH|R_fF#q^Wd+-7!<cP+;$H!#s6&>LvjI3`I~!*EXhlKt-!xRFQjx2X$5h7 z+-bWvw7UrWuf~+o)UBgCL!0sFS1bKX_7F)dKj@!Lw}v)nf&bM=UQudhZB7nt?y<Ct zb;3RxK|H$me=C+(0O=T3p%wy|+J5-|Uhv<Gg@03D5-MbwSKT{bOC{>jN^IJNAf|Re zR{l|2`1T<H$ZGxXZOFQ1@M7V6HA)kJtJz-r`w{?TPv}}rJH_8iQElmaHIlu+WYUdy zicbL)vZr#jrtNh6XG_1{XmOwXAKW%Ap8|mUh77ldM9Dr|Qz3gwrL&8pPoDz(hrANH z(X>}&@ENlTw`zx4)7Lxwq^JddYXnf-Cf&9+G*+_E8Jo}7=r-Q@p3-rv4IRI9`y}Xl z&O3do!bdUgZ|hl!OoMq4x{X)iuUdJIk3LOjZZ>q72cWyT@$q6rECD()_*R^b26OOV zns$;KqMQWyA;A~2Oeoy$c<((O%UysUGTV?(m;-J#?QFk07ejy+*;leo^63eSWC^+Q z_qw^}9>S*py4p~M><-!YcQKrh9K}mtl2Y`8A4?EJ3ouT2!}1l4OWHjdHTREZ-NtKT zH}u&IcAl8601dZ7TxA)@y)m81;0{>F8{xBrwgRl7p7niY1K+@?xFzY@0R6`l0B&RX zAk*vrd(?ypIJN*4nJzb}h%G>2MiC$}MS#Q<0TNRLC=?2XLZMJ76bhT>e==&a!HJfF Q=Kufz07*qoM6N<$f-_jWVgLXD literal 0 HcmV?d00001 diff --git a/res/icons/Process-96.png b/res/icons/Process-96.png new file mode 100644 index 0000000000000000000000000000000000000000..bafb89e314d006ca51ba2a4f03484762417fa74e GIT binary patch literal 1126 zcmV-s1eyDZP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CnNkl<Zc%1E> z-F2fd5JqnaE`bu<LFi!9!K#DZ4nhY>2T2E;4onA|4(tw+4!jQvCyLi-Fbw)b_Z+?0 zhWRufNCL?Kl}e>jsZ=VJN~Mw>4R8lMIOTAq{Bgd&1NH&5nE)}O(E(?LasVEIAIkd7 z=l+Z3H#!Em<sEybEH%S8`z)3geFNNb#5PyE8+DnB{S?ib2Ds%J+t)~#E87-LPdF3K z_|FJ4vQ5!+gf(Djn(i-j7|-vErX{=qZnLz*pZp*ONCIvxw{iwf*ygDFECy@NP>l24 z6Y!>_^|(TPW?>X66Z(|hVa@5#GbCygWO5UH!5(-4KCWoWramS&!B-gC^%EHy0Lx8C zg&jJhtSFd?;*t^Up<&teMl{TbpkxJmFl1-|%oCm(h76mafj#yPV>W^>Fl5>X4E!ZC z!48Jy$&Xr}ZbVSBf*lMx$&Xf_{S5+>5bR*kOMbNa9BvSpgy52Bk(2DZ+^;NT%F*Al z(Fu&TX_1rv>iphZ`M$D%SLCMWa!Suo4N##$KKi?nZ4K3c#YpRPt{wd@hHAhfj`$6D zny?SEmblWHa^cm)61N4U=I1S*v}9>CcP5Q~erpEHlm_^TU3>bDo#atNy5$^VDR^q^ zu#0>j8SfueklOzbtw0$f^@}P8=DiT)b$rv}>G9{rXawnmAe}~#OnD+eZeD~SMk7e3 zNTWlQ)}a@Iv>HJ&rNy6{UL!~^1ZgyaWJ-%aH-9yP^g@s=vqK&UEk?Qq*gC5luzG;Z zsRl%5_5AcgfL0?&rbu@QP8vaaAxNtcBvV=f3`3<mp++M}rWgVk&<R1N%!HLnhd(!+ zMiA+8yVnSkDM98*rc6g}73mtO)e1D$!$0x=zsk2lgM47#`XG=|dhEo@E4Jflw04{^ zLFdUE&7Bp3^yic<4^CF6L2iDw+B7fbdBSfx{K=PA306Fu@td$i9{s$mE3s^bB#xP2 zsLju+xQV<pVTZg%_7qBJsaz)1HKDum{VKN~w#>DpJ~M6PQ#)S;#*#bbi2z-Ax#b}x zIk}^MuHaOMZ*#SG5wyZYak(TP=4p@m|A>;35A*a#U7lZ3@*$(9XP~6y!|io=j3e`l zl9CVe>hc^#=_hjyNcDcn-1<Z_VM!BoAic?+CH0A7!V<wlc_5uj_@#9TZi0pZuJ|^n z`v1|YM^=I_%Mtj6eH&6}G!Le%1pCSX+f4nynsUeYi=Vyo`7dnche`8WJA3UjdUbpP z3^qAyK0aP5#jj5ACEum<{C3T9RIYDwOiBJgL--f-oJnt}tIE{myR?KgVv440SyIuK zFh&&pI0cQPtikpXC)P3GeSx;*(LTlZ*oCh>dIt0q+z*(Q_rK@sHB~RzWcGYNTi%?{ sd%j+EwZ-QcRVtNArBbO>DwV|f2f4xuwSO#oJ^%m!07*qoM6N<$f@shdTL1t6 literal 0 HcmV?d00001 diff --git a/res/icons/Refresh-96.png b/res/icons/Refresh-96.png new file mode 100644 index 0000000000000000000000000000000000000000..db89134abef0b95a3dec43cef426e392b69c4762 GIT binary patch literal 714 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V4CRZ;uumf=k1+`fsY+{SRaHt zc@=P$6lo?}H}t*X)0^AE=fr-2@z04nJdcg1$*x_q{q*m&FXrlzDe_O=FessdLO%vO zh8m%(q6gv`&NH-aIN52V_<zy*s~zzhI-34)?+ts;a4zuh<{1;}7p~QE+#DYGApe8t zPw|^tr^*j~FaC4#qgBtsJtZ=8WsJkh5A9tU#k;Bfllr^ks=eC(@;|()IlJk@tQ=E| z^fgIG&hz$l*4kzr_}f$8ytiTc6u$kM8)oZx?ya1gp#N~vRhbR%=X`4^T4sFh`6s!} z{IlEFg_i6$%`rJJPxolhi>RsJE<bYF-mvw;)>TIXmPI+-ybzGT&}VbQta_QPBBw;S zZ%FU5Z8bW|B*%F-&dIWtao&ZkSvE-w%dfCb;pMGZ?ZW?X%C-h&`-v%hPp7b6;fq~8 z!`U*GQE*|lXtsv@zJ|iX_EMqAM;!b#-#6I4kS<v?zki>j`mdivFz3un_%0I~e8gd` zF2jkPj6Y1XW{8OweBnJH&+%u&#-pqZvbA^ay<%$c`*(QdQ&xtJ3vFZ#9bR)YBsp2? zlsvDBaCjTQ$9s3DoEU>i&ErUYZU(8nUpFmhW!M)mkMDh%bFgle$`pR?yOygBuif^& z_J;SVvvc{mUzrPQR#Y~p$sOGF=fai!yB3};XS{I2xkG=$>^+P>m?u5YDxc*bwyT)= z&;DJm;f3dRl$=@C`fd{EPjSmnbLO=dWxddoyzpN<=gKdmNe0)P&+>#m{;l2h+0;q& zNqoxcV=Ep;&N)~wGZjelJm60|RlH{#<M;i-dJleU89iHG<bnd0Fvpt|v_|&6*r5bW OqYR#|elF{r5}E+~-$=*+ literal 0 HcmV?d00001 diff --git a/res/icons/Restart-96.png b/res/icons/Restart-96.png new file mode 100644 index 0000000000000000000000000000000000000000..85125c1a3859f833a207139aca86fcab77db2436 GIT binary patch literal 1284 zcmV+f1^fDmP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000EbNkl<Zc%1E> z?UkcC42ItlC_yDm2TKQ=4%Qvq=^*Z4(!r*KyB&lMk`ADQNe6R(K+bYA36hQc75tpz zUm?+p1d?#T0F_FmQmIrbl}e>j9$(Yw0i34s0pK41KL9l8q-}#Q!8l_K%1_jQeB%dz zJ%E1!bROTA1YkZs0sIEgu9ICRZvcK_bif(kozr>zrfUG^qo4G=B!uyl-($?n5{Fn1 zJ8J?kKP&bqJUz`*Ne@3q>^$sh1Ymwf_-Kd@mr8sGd1%oLz-^p7wFH6So=SYi)l*+6 zJ)g+rY%mD7lk?H7)JYgSn;phlas)6a==wkgwZR~K0Bj)bH0keFXggyAL5Oj>6UIPa zJ@lQCL0vEi7XXU37b6DlDe4nr1CkU2edqfY;I%Xu&j{BbP<*NX$3Qm#T}<&0AOII^ zxF*=B%Aa$<MuU(=zdd0fFVcrJ694jsF(<AK07cf#@dkMik{&!7(-5f&Fo!e<$%?WS zh?9&iu52fyK{&-0MgmdNVWTQ{#~{O0bP|fnPPiwM?x;tkuBa7=ak<o|7@`%BTqoEV zLL^834zg1>*8=<qf~+71r4@+iX4@NwZA-v{-+vQQfaK_>yYHBVZEZ-g0cgNa;Ps)5 z6JvPEq2|f<B^2O$40u1ZAq-18fu%0sk#GtjG%yYLCgT{waIaw0%(gG70N-Q57h~0y z^o=p-a@rY`S%Bvdcz>v-S1$bwj=yJ6UID(R!?I6QXG*zAw|9@<BrS1?Fj)4<S<_gO zs-HQ8bxnzwR$yqW42W=GTE<AHVWd!w&`-_Z;0mzSFj6QM5ejj~7%A~;R*M}XWQUG1 z(rOqflok;JP&=UK5SD$@YZ&1IKpI90CU}QfThL`{01{IJkeJ~985jekVWdz9%f1;j zjC72VR>Mf4w8-E(pk9at4nUoXc#g%gZ&aot-WelD4I_o}2g|-unT%^0BfW-^Lg^8q zJ~oVzt#(2L-Y;r@%yaie8ZAQwVX*9zi>5KI5T7)S6~YM-3h)iC-P&3jBJloDZO<il zgIP_3nPai+iy$|h9T}s+Z_Unx2K<AG#}I~F#^_dxu>tRgHk9#!G2A1AhnEA=fbac> zkOB;2{MBoLMdB<VDaNnb5fS+Pj&jGh6$nwiFESG(52f1}LL`srd?AB%6cmv>oH8I{ z{gYgny-HVPAlujI|BG}2QCX}owF1e5DPKr*e=I@1m_>;}kgf!CMZ%^-nu<ybg3B^I z$^Vi)LLLN@M4=l7a_48!Xf$wJZ|x(EOc5WD?}zGq|5{vwki{CDGYD>rPhF7VlncRq zLDW6c?npCfaM7H!=yJHMwRRgl;=e?pnQZosTCXUenIO2Oqj{0uBka*dlMSDR1}}lN zsp47_?#Bt^5lRYLX!@<w3O!loe2xb47L`j;zcC)UKQX?kgC5wU>9gCr4%WQMV?GWj z(D`$A@LR1s^|&H~i!3b&>(=j&JvtPW?_JnI=dBi@#()<(>Ys62GCrrYbe%L6o$Gxt zNP9*MC}VyqI4#DGDaKiGoouzi_o_e|j5+v#b=ML1<1+o`%jb7(8jMHkJ4Od~(-`nL uo!mY@Oy6m-!Mt9nR4SE9rBbO>^5#D;pKE)7h<<(m0000<MNUMnLSTYB=0Xnu literal 0 HcmV?d00001 diff --git a/res/icons/Restart-97-Black.png b/res/icons/Restart-97-Black.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb3df33291fc8c644d7404b68f4feda7bbed20d GIT binary patch literal 6367 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 literal 0 HcmV?d00001 diff --git a/res/icons/Restart-97-White.png b/res/icons/Restart-97-White.png new file mode 100644 index 0000000000000000000000000000000000000000..30a7c92a099847e8775ac7caf44ff974adf09abe GIT binary patch literal 5714 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 Ef;d&Wm;e9( literal 0 HcmV?d00001 diff --git a/res/icons/Rs 232 Male-96.png b/res/icons/Rs 232 Male-96.png new file mode 100644 index 0000000000000000000000000000000000000000..99f7aae82f957d184d0e5059b7deecffad5ba6a5 GIT binary patch literal 851 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V3zW9aSW-L^LEa|!qo->E!$bV z7O+fTAQZzSdqlQH=#t|d$CxH7532^gH+(1fFI1~2?h;mDx>RRuK3RVIslp=}mK}^v z9EvRhD8$YnrV6GHY!74|jt3n5ePQ$Rh3yAL7~;wc6jmO2eIZzs?LaNN>vFO03%AFu zk`<X%6|&#-|DNVYMV+6&KNEkDntpo6<J<EJ?m7nUJbKl1{|!gOoo<W_;;u>E|8_0i z79<(G;C(3f&h_F98=Qi;&Fb{zKYYK&<e;qb_r}Ifsgsdr0zy`2_Dog#KjGKv+Zrcw z#O5<>E<MUw*z|}cLh<3I!i$=UZyCiV<R6OLw$@TJ>qm9<Rh65at=?Zgzf0>dZ^^y3 z^F{uL@7vgZW$)2{Y4`E;@@H=4PaU5unJ$+kxjmsn_|x30vmY@OUGlEg-P)P9Wkr70 zEe$>e@x7-QE!Rx2D0AZXk6Ufg5c5Tg{mBlllga8OOS})nzsmNHYrkj_H95z9r|Po* zTyhuklPq6^@|{R*d7`Oa;{1PNcKdwOqtBOwTQ2z6wC@Su9L`pyubX*9XZ$c#cb>pp z6ybPa=7f0)ATyQDwS2k4QQ#0Yu{W|X$%8NBQ&tj7pzzKYQ#gto`ho;}^JG#c-R!$m zKHFD)iF1(y|NI+VkGvvXI+M@5PJWSYsc^hoVcpcD@~Lt1&hh>kSM!3Zyw7QIS)AJN zM*oX!%WqBP4ry0L_nFs^Upimpz<0KLmk^la{Z}|W%X{vHdHReSzjn(^ILy@@(zNf0 z;j^!XUx3_XUG**BD{FabdF$VYeBNR@Ct#fpP`k3ur8O}nUO;9aSg6c_?_A5F$fLl} z+92^i`<c3E*d1$C^(7xK?^Mh^;OH-+ooHCcwNL5if4*OyMhtfk&*VE`{3|<t-JA>G z9WJjnDk)qYGefbR_tl?<n~o1xws5}s!;zVscw*y;4I&fXb4u(#&aA!XQYDlBp*zpk zrv-SOxL<wXhrHOteTfg4?rv{*BBg6q)&8yL-(NTBpACHiWiMFseK^rma7)cYVb?X~ VZK`|b)&VmMgQu&X%Q~loCIFy-eT4u3 literal 0 HcmV?d00001 diff --git a/res/icons/Save as-96.png b/res/icons/Save as-96.png new file mode 100644 index 0000000000000000000000000000000000000000..b4873fe9402c43f0fee77a5e791bbe95c55263c7 GIT binary patch literal 680 zcmV;Z0$2TsP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h0007SNkl<Zc%1E= z;Z4IZ6ohYtjF64!2-&D?Kt^B$HfTm*1U7&lrBXm`9Vb4&_w4(mCy;2xoxj?tN(&%_ z5JCtcgb+dqA;fk@0A~Of0N)MHTd|cQaEAQ?bt|FOM|=ngudrW`ZY7K;TgsYn5=uY% ztqHdiN}v7KggcH(pR3j!$!;RSyMWx^cQk)>2@+r|K>~~=NPw{f38>pATwn<>4lDu2 zfhE8=uml(fmH^|x5?~xy0=xxI5Ux+SzzM?j2^Tm)xIW<mCkWT4bl}#8j&(urL&v(H z_n~85(EHG_F6e#eSQqp@bgT<{A3D|ry$>Dhg5HOYbwTe#$GV{Rp<`Xp`_S1FY5{Np zFw_WmkO9}M3mOry)Cfglj|4ioflf6-kvO3N0TGU!M+|5{Ky=*obr*<?yT0xMk#X18 zT_7^<`nn55#$8``fym5o*0(nSK%N9TJqiG}OQ6%M0AQO0Iz0;j(h}(OE&zBgfsO=R znIQp1c$E8s^b3jeo%_-0MZjJObb1o7M*^MR1msGf)1!bK33PfDuvG$`)&%7K;oV$9 zYXSxYlaMRGe9LYil!ROXQQnpkMnbNDOYMLM2q7U?z%ArU?VvkxFJX@WZ<AUu*An)= zY1P|=mC(|^t`8|;%namxLP}_97lf72%C#W01nmR|5=LA_w6Y^YO6Uzqa6qnv*(7D- zY?Uyt?i1zHqG3o$m{+%*pyP<bBMI~BHWPGBpz>eBy!zRM`@193OZ6cb0DNNG;@?IT zW?X$g;rZf!)Q#2`sZZH2&^3U{vu8(I{7T%DpvAAu0N@?K*YDRqi~j=vVx5GZ)ZK*u O0000<MNUMnLSTZ3bSgFg literal 0 HcmV?d00001 diff --git a/res/icons/Save-96.png b/res/icons/Save-96.png new file mode 100644 index 0000000000000000000000000000000000000000..d568b8a5c7e44dfdff99e5feca55665346bc4a3a GIT binary patch literal 573 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U}EufaSW-L^Y+fg+`|R}%on5& zDpxG7+MLq7?t<^5-dp`D85b87sB|m&KVp8jd&#*nyDW=CXQ1FsX|_v@(jzg!`ON34 zH&15T!ScUhS?r+|;Wb^VG0pV~m-P~Rw=KPKNq6DbtLLY^^UL`ACf)nHMb_V#RO`ue zH?e$Wo$_z*=AXOu4{|FY;TN~nV-xfnWNvUPuzzDZ(YTkP2*JI=B=2!uJ@x_f%U?^l zYZPMVmo)M(d41XHLk9D4y%lx^Z<<~a&oEv1t>cDL(o4Y)OH|)QewRpLtnLp`F!gTG z=H2p@gLTtU2JRCdZu~qi#H^!Wy>nkt<AEo?PO&mgeyuIe;j?aijDi8R1@ki%{s-^d zc*&tocPWtEF1OGjYu`k!aH$tNTehG0Xc6^j-qvr-TMJAVrb+F%H9ahShTi*w=YGBX z75=R1QB3?cp{~@KTYrUc|J3_o9lP$|{6EnjY~|I@Z<_U<<<Qjsw|{XMUY6ZxZ?%58 g|9My}F8j#(RlMM%)vxfSz+}PT>FVdQ&MBb@0Dv|TL;wH) literal 0 HcmV?d00001 diff --git a/res/icons/Send File-96.png b/res/icons/Send File-96.png new file mode 100644 index 0000000000000000000000000000000000000000..c800fe092ac88a74f1fc0a73da2443d0d6c85437 GIT binary patch literal 671 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U`q3JaSW-L^LFn2TwzBE_T?;I zJA{HRl}#y`FvUTAhwuvqxdx6%v+DBQ)tl@0O{~kGcy8Xt{d*Lc90gb)=xNRY?GL;^ zZXUchd*AJI6-UMQ<+Q}vee`y#I4r&=r-e8E%_Tv%pI`i?7jC~jzwF-~6TzH^-<yvr z-8dxA+RzH5=Cd}q0;&Jv3}PJ#+~-*vPAcCx^qr-l6GX8!cmk<@mIh7`#nx~VsPa5e z4nzUvfRs1W0T!T<OBoYBaBTY^#hCB_NJTLwTmVwD7!wWvsauQ*8-SD;V?sTPY;=XU z;>$<R=N=Nf7v-_*M`ioQ)_6sg*gt!mZyb92@&?lz67aj}4f5i4{>R1sd7R)b*!`hW zYukr(r+o|{!NX$ngePTGPb$fISlzP4#?xxshrLcwb5&%ce*`La?o#(WE>`E}adz?& z<5$uvN+*@L)iZZ)0`jUDG^{<Xj9D5!t9zy|V|dT=<5xPzheJRAm$|2ZVc`66ZpZri z8w~0Ge){YGPrhUxP+hHIX(_0%Sq7+En9-=(Z7rB`ISZn8s|S96;?i*D-=$X|YQfu+ zoeVQoZ_S&-ap7i34&yhxc-^n^AGYtp4#pcQ{}Y@aRlWMb`Wd|OEnC;#h*J&wBUbY9 z<^SnZ>%?o;K3QX>T_e2f_mlgZKmK+-_oa8o-%9^zQ*T%r(K)R@yEbH!$j*Poz=X%( M>FVdQ&MBb@0Ar3i$N&HU literal 0 HcmV?d00001 diff --git a/res/icons/Settings-96.png b/res/icons/Settings-96.png new file mode 100644 index 0000000000000000000000000000000000000000..e2f27c173dc433e82c0bc7c944e905454ae1b63f GIT binary patch literal 1146 zcmV-=1cm#FP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000C*Nkl<Zc%1E= z-F4zH5QT3EE<q*GLDa#fgSdmF1JuFN!O}tK0C$jdfIEN=*azc45`*<KGm>DwbM8xW z>~m*E60$uupeTx>D2k#eic$_OfIWa?qV}hADS=QV|FQ^5AXLd8r37F>UjQrUzj`dR z09kRMFTk5*0JY;lUjQfQzj`*HFTh$dfZFLmUw}@~fAvsa1B}{<Mo>A_$scw1Gz8}` z;41)yKZ<jZv%q=T_yF({agOG6+zxyN_=};yG5i6r#W}{J3NaeH)E<5THvpF4S@*B$ zpNFrJYlC9tc|1EU<^z7mFoJ&a4Bip%Gb5%(vhScU-dSRzL0AHJ0A4W|e-Aj0Q#+h* zQy2_I@tuv^l;lz1kUxP`iX9L(F^AC@$gbO^YL}SDXx1L)9!26e`YeIzd(s}l+tMvV z5VcEeTiOZ)Q>#pLRy_&bc0QW6@u~I06%b_UvXQx+#UTH-bAw?Cv>5I`jVw-odjrqI zoDl88((2DTQ$Pm{Ne|g&G^b+@nLLwkOKqk=9MZOT4e~6T<l9o|X??)=B_@>x<Y$8; z^e<}u6Fl2Fb2_(F937>33z;Guz`K_=LUEAK0AN_tI%d<9%g!|x%rP7=Jm+A;F&TH9 zrhniV{2wt4P$Ln51?^NmK=x)<L+oFA00E%=QENq=53~_Jr_>{J<L?UTLFDK#XcGL6 z+Mtl`h-bu4=}iW|BeB;v<JEal#0Jx5@H+B##Z$?H<|-ZHg0b>ezpxX2e6-8pb(Rmr z1tYQdzedV6L2=X?NUgqqQEMQz`u;_1AT=&QpE=CV(IYMxD{u7+JK@JioxIg~I>ZH& z^X<jE*@m`=e_mYUh1ed<cRYP*K-1-1>#c~t;;t{Spz9H8MV$}CE<Zo@feh~nEE7#n zO=;=d(bQjKu@c4&;;(q;<Rk((;TZfMF$_#LTJSe!-NPfvEf{9AV>W#`l?}D|3k+ns z`^e+y1Wb?O`cX6BTRx{m+OF;djgKRUx-m<-ua&d_91pR5v_yJq;xdEpBN%o?RQu+b z+3<q!=G<50>*ihucnzY@6ws)542gZh@AmYk)Bke6f6Ut5XEO&^gIr{8z3DOsSh9Ku zT+y410hX>dI;(+DG-KVHx|D>5l51O9vTRC1W5~5FEm7;VRL0ZK7<&Y9zf^J)d&Af* z<$jfv(vwTfVKN>3N6HH4(PB}?4C?XygH0>=|GxDopgY=NKJgCMKMj^^M>XfmVZIQp zUyAsdN@5Rxg9dUhg5OH~6fLG_YUg>p2o26}%XElu*)ZUp5i7(m8P7N`x76=3lR>c_ zQnZU)6P3TahpPaJCq3ws-wXP$o(}W{=mh;&&l>avSPS~E9tZjYI6?o_!*Qc8XB&KV zSkM>13i_`e3oSr)s0*M3Lj5%sC6E?0MJV#S4vL~EilQirqC77D0qR~2u3;=R0ssI2 M07*qoM6N<$g7gL%R{#J2 literal 0 HcmV?d00001 diff --git a/res/icons/Shutdown-96.png b/res/icons/Shutdown-96.png new file mode 100644 index 0000000000000000000000000000000000000000..13e1ca08851068a71235ffe5d940aa44ec066348 GIT binary patch literal 1173 zcmV;G1Zw+<P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000DBNkl<Zc%1E= z;dPuk5QV=IwggIW2TvWuCD4K0LFmBgAawBDf$6~RfOO#Pfc$`cZ?nnnj986E5Pj$H z6U`l6Nk~Efl}e>jsZ=VJN~KahlW<jxsRlSx4REF!;7m2ZnQDMD)c|Lz0f}gU=N0#* zG#~(Pi<ZBJ1MrpqE3ApUKcxY0XZL+wwC$QlVC2^d>m$oZWkC4Dy`PK5UGl>9N^2s@ zNoBx!>%Y8SBFZVA1Gkfn?FA_e2#Rvv*ujwW!0$uOy}clX0aAlFUE`9&CV5~UQ#Fak z^n!a02oai2&xOsI5L@{ZFeuBu*MMe;wObPoz&rZnjzAkxeu^Oo=AQ5)LgzahcqYVF zeouT-sSG&LN9cWDQGQmwp-*PbDi}q%YiJ{Me_I*DoJaISPPikEg#j>+@kd4Z69q2T z4(J}bNA7=^Ss4I&6Fw<y|L6@}%Lxf$SsDO(6aGyQD+vKz<+q9ASsMWQ;WQ+QcNd!0 z-zSWh!vN4tDBcprTSY(?`9a$Gb1nl8%-W0Y1>+wCU0$hIkhu(iS-TW(OdK<*xZWUc zP6I%<P;=R)&<JY`;^sD>QN(mvoJsTk-Y9Nv13+$UpGI-7qM4>OMzK8%XcTd?u8w;_ z%!grY4+B7+5%q?#e`6HHtlenS;AOzG5I5US=|K=OVY_ecWq^0y{}BWcKaAsh836JN zoM0RufKCwcY8>CwfL9@QXB;1p-=|uR{|K?I4UnD#gK>O7HXs<s_cR~~u?OS$KsCVK zfKd?97{~WCpb=t^#_>TAU|j(<ehC7canIjffHUs-OE0X8KRtE_(rWmaL&PA62suPJ z5h!35GzcP!JG7LLmI4frP78E7L^#oLJNGPa#-!!A^<I!C1GjUx-i85mM^W~Qly~^+ zgk&U8P{SJpA$?9Undm9t0eqqp#AH7ukOAowNS9NL=1^9fQ;;z&a=uM&QPL@aF}EN? zMsDY7c?#qz(sXoUAB(aUInON9&r1%-`$8kz-Wxg~xBerJIcm<(cV6NW&{24P4YI(A z4SnQ%hGwGS^6<Sx(+jpX6lsQ@i9$YE)jSI(3izBS0?o(fu4DftExPXd-AP{z-_hmL zI_bO0!1hhhR{r3m?<U%zXkz}xwwUgV?x#{k4n3CybV*Fi<7^4DqX*)CFcMr;M$n>9 z<`Z~wQ91KO+<%Q)7nLiB`D=<tZwSP-`iVlOoH6voB{(sU!@*EfKtI->U%jCwQ+nc) zJ@tqu(md=AOIfike)E-oqGes;=VrVB|Dap;H^7(Wp0$;}xiMej5&aZZbB)YH$@w)V zEdR(pw$gv0LHF|u@9TpCHrOobNZT7yw))O2>%wS|KX}V|y|VLGe~o~z5j`7N+2){O zu8bT*({YK_m}j+7TIODn(v0I$=I&-T);utuIOvJ{-}A8C^Gq2Ve!HV#9=p%4#z{-1 nQmIrbl}e>jsZ=VJ%2xOZ*4vCDMllE}00000NkvXXu0mjfq7)<o literal 0 HcmV?d00001 diff --git a/res/icons/Speed-96.png b/res/icons/Speed-96.png new file mode 100644 index 0000000000000000000000000000000000000000..6f0f8a0008d2877d3aa8829f0cf28a1348688445 GIT binary patch literal 1138 zcmV-&1daQNP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CzNkl<Zc%1E< z-F2fd5QT3El%NvaLDYfW!P3E|gH;Df2cd*?V0GYh03FyJWFLS%SqFOt7>$H8-#L1+ z&Al4IjD9d+7=~dOhG7_nVHk#C7-diacmnVnzzcxm&{_bWSFQc>`OEN|r{Nj~lM28d zeE?7R9^|F%G+c8J8<0u%0NwzcAs6&p?L26CjgFN}1>hH^(}`AV2M<4r3cw%e-0gFo zia+=P>FI#HcRc5bI3(+RMjZOtN$vo1+i~#x5Y#9u-Ei9(8-E%q^s|k%f#?7<00R1e zcue1&Zusmle76~XyH@`N8>|f#*3IK1`X|Q;cyYtE;tD?}Y-kW1mIeQU{?2uYy@f$* z$snZkCc+N$^L>Z@4%Mc{{1kOY-^U_xm>>LrypMJ@c$hl~PT%T%=H~nll+_7`-qR*) z!rb7$=CR4*6&oCcH}H#WoyX!VYVeD6_M52&KlsHKuL*YG4??!Zngg%sZY}sD+(F1z zl#dK^TMhmQcMy)+#tsZqpC~)$JLdOl6qbrA@V1n*7pOao3&uC*_c^np7D}_Cz%cWn zVPqlKt99-maMlSy*y}ec@CvU>ZDb+0wn{jI;3j@IRgjZXGfafkCKf{NQ*j0%-1)sq z-J^1UheB3|S8z88sX?efZ{W4!?guzCpE{NJ3g+z4UO=bMnsFU3+Jk|H5WS=jUCG?w zbJi>s=(Ry3*oS|jR7Zle=t@!qe<TpsJ3}}XbJCBK6kJKl-~+rFk?6vVT8KnRv6Z9_ z{zxRQExHh;_WNr|u@z_qAE1lzX~nhwqauV#Nk5vw2Y6{nqz-sOq>~U?iFWWuIzr1! zh&&S_jfBVocIf|ru}7ZZ1N7AVSwe&=z(GP}21{S?O>s662u+bf90?K4Be_6$(F{I7 zPtT)-NF+qOga`xfA&^$^0lGd$2@&dX*V=q5CGC905&Er!2-Qgqb_^fd!5>K;pArVZ zGkoN#O*Q~Gnpg6ceE^(<2*HvRq>+9c!^dh$xzjp^m$7w9o;=}0<cuT|B3?p-!JKKR zR{r;dk0>D$36WYtgh?R0X#1%NFHu4y5F$ZBWCjOJr=t$~FUp1qAL6m0Hshj%$O3lg zQ-DXl_fM&F5|Pa~Pl$Y?%vVuT!#OAMQevePy^`Qe3dD$nP{}Xirb6|coT>w@q}WDi zp^*PaI4jXwQm}Ap(D4wT7<7c-QChHIj<_F-E`?|yM3anqfq2ky2q}aeL%2yHTo?`L zIJi{e?+kIDO1uC(=>EUwHt@(ZB5LNNasx(&iICbv1_J1QM-3yMVI*lD%mDX5$ZHv* zYC+I4qDVkN6A*{#e~Dc1_(k|uzn!+3>+Ok%pRp@i;d>nv-FBG6Xe8t^kdXkz!g~vc z$4)sE9*;HIFbu;m48t%C!!QiPFbu;m48t%C!!QK-3++DuFPPBJ3IG5A07*qoM6N<$ Ef<}D??EnA( literal 0 HcmV?d00001 diff --git a/res/icons/Stop Sign-96.png b/res/icons/Stop Sign-96.png new file mode 100644 index 0000000000000000000000000000000000000000..4c92e892545579f5b18ca516570fa2ab9c617687 GIT binary patch literal 1331 zcmV-31<d-1P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000E~Nkl<Zc%1E= zy>i+>6ov02@CZDDOHU$A)Vd0d>uA!)aT_<G32mG_08yP3xQa^{(i>`An9e24*!@kR z0i>0*yISpPccuHyoC<-^Ir=%f5&#ecK@bE%5ClOG1VIpl0Wg3FLqMk$KxEq|V_*nR z)(sZx$+k~Mz_)PifVr}YZTqDaj9`Ev>>MywRy&MfVB0rsU;wucm|9N(jBWd-1w4nL zbu(3U4ny1iH3kEiTQ^c&iEaNH;YIBf$>&;%e$-A;0CU?uD&bk}6e+gtXDvLeog(=) zIP<c0isVZz#W!$f-7GWmV{qnq?G!1o?JpM$VdQ{GX65qW47*S}MRK*4VgO_7=Cl_= zWZUl?9ju)qxm8Osgv0?;+E#4acL3;g?G(w4TH5j2$(QZH8TO%eie$5vVjpU!Scx6; z`&2tcYP**9uy%?9Xm@ai{j8lL#qF3cQ#-FB#N`a}Wrs%|=7`@uAYKge%c@eg-j8R9 ze}5r9Kb@A_tPp>HN4y-Czh^oYuWLC=zdL`s+Zmh*Yv;c^{>E%psZqKE_<1dU&m>k0 z;K0MYxC7-+MPsw(i)!beTe%I{tWF!EN?r30+>F!%KuklZ_Q34m40*Nla#;Mb({Xw_ zn#72&`}}K%z40n4iluCs?0U1OI>huSoW!Zwt402`mtB4@W&^lSPV1P&<wtbck#tgG z#(YujWcR}RB>(y(&cD7|RDTu=Z@sL6|L%&*upwj(WZyp>i%+X%>&WU2oar@Rrgn-p zggrtwD?I@`uJg-gkB)<GM%4z&1i-%kWyk+cx@#%Q)K2zG@(dQKP5?5?UJR-YlnJ2h zv?$sJU4t{}+0M&h@jSm-Ro6cg0le<(f2OGbbk)*Yvz=9qVmU+n@?L)ctT8Ir6`26; z6Z!RI^%kz12N1$tt-Y81vRNMH`7wZt0X)nRr(aK6&Wi8lx1f^(*ftL!eY|{MD}<X7 z;`6pT2+;=E3_!%=THXg8M*u*Bna@dFtbmB=MUZ!Ga5aF(HGd?md+$F65WxTg*eZo^ zFp9lE|G8}*0NZX%1n|5)4eaV{v+gNs3?b&Oa5~PPJIjuSre-x+HcPfG$y|i%Du9Jn z^N%3}u&7)qyN9!f>c_L<o~0uIb|6-Ek!Qy!+3-ySVCps{_ZKhhaGgD5c_uUofSmwb z&Wg*h*P)-+<^pJ8MznlX%${Oic8EVdBYt|9jsZ5S{OdZd0U?x60v_h?zkMjy$k#o8 zGOk$wd*hF)aBHdPUO*NdEvU*w9@)KLe*m#j^N%4^)zXWBIE2@|zHtEWR8)q{4H?w{ zOkH?6Ayn7Wt0)~2XD^VC>(nHfxgnJRLP#&b_ep*b_`Kz>S6={8y8+NcSy?5mntu#| zS4;b&y|t&~di-GSNe(<8+TUk{bk6rE2aw*btT$WQ9gS@J4*)%VPPFaXDWcJAsgH8) z*OHz1XB7Fp|JJtOrSznhnxF4c#p{2^l9jI8jHc-1A9WlQz}mLILONYbUHgG{6&?Gt zri1Qm`&x_6)l%1Lr-)9~Qrq)As$kux>ReO+TW4#hh>q0K*tU<2@OqxewfP<uyso9X zf9YZi6g^evrV`t}X$1pVJ7B7;+@0@H#j9HCYwZ+)KGaedZZnz!&tZrGELxFz0FiB< p2!bF8f*=TjAP9mW2!bHG$A1;-?r?6jp)CLa002ovPDHLkV1lKSfn@*y literal 0 HcmV?d00001 diff --git a/res/icons/Stop-96.png b/res/icons/Stop-96.png new file mode 100644 index 0000000000000000000000000000000000000000..d9872a978f8531e72201ed89330685306147e34c GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoS3F%DLn`LHy?BuKfB^&3#y9&* zHaXQRWO;9An8OT|2Z8%{KfYSZUUZ=1>m_E(ggsR+8)XdQ_I`2TlUN^DrNG`3u5UYm v`Pk~|awixcU-jmH(l8Lp_uE4p%h15bKQ-K>RE}rIH;{;@tDnm{r-UW|9A9b< literal 0 HcmV?d00001 diff --git a/res/icons/Toggle Off-96_2.png b/res/icons/Toggle Off-96_2.png new file mode 100644 index 0000000000000000000000000000000000000000..896bb02da8948526ed8df39f7f997ffba3572789 GIT binary patch literal 965 zcmV;$13LVPP)<h;3K|Lk000e1NJLTq002+`001lq1^@s6^6@_x00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;0P2JIweD$@7DkT02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00S*aL_t(&-tC)9NK|1I$A4ZT zdq*`DR8U!(WYi)gYLP*y6+LVrLbM9nwhY=t2+>-IXi?Cj$RM<kUbM)h+KQou7E+ri zdWwT-@5Ou*!<ci<_1=4$*MWnJ@4It<{`GtP&o?Cmi+R9ymm7czV4-VUKz7Av_wy4l z0Q3S~E=MduJm4VE4vYi8b3Dg@HsFB!-6D-9pf3+Zn=E^Q#wdg<10LkDaOrsuSRIyl z$AHlS5-*t}z>%PHT}uH9m!2(Cog2>=#rvD*{EBzBDB6TPqZO~w=Li1;9s#F-9Y7@z z1D3eGVJ*-MbWZ{LaEJ?GP@Z4FA?YP+fnntbeg`f(!L+dsxb9%I6M1=r+cLjAU!>Jp zyH$A(R0jaB23{)P)d`eDyubCsb2sSFy$#F^0eX=WNAu1mgA<k?o`&>?OMqvJ2Rne$ z5TU2L`BQptzr``j2TynUsMxC<wsRtYjsZi8_wO+}>uY)HQy;n^bRGvbMhLx4F_E_$ z8YUW^)>KPsOz3>U0J=?J7zJh<im2w1hVM6Er2+7I#jx3DD4>R?&U0pHrsxD-8vyqM zJwl(Yh5~AMYCNDy=+t2deN$-PWb9%~JXM~v;WNb(L*OojFG&{hRCsRL&J?c<f!_%2 zON|ATcw#8(8q*Ac=PI^SWD(DpW_MpoF*3T&aiPy*L!M<qd)!zbiD$$EJ_wyw7y>UB z+TR%qDDk}afI(@mV+btmNr#LDlz0X`5_R58QELd?Ahh=w3n=mQ0qjP$>?;jmbMYv* z3wI!v>b{qXX2OJwlVU8lBG*5*{Ac?p+w80>sSjuj)q#lq19H_+txJ7KYw6zyW`qcv zH<mu=i%NG$n6N=3uZl{^(3Uk{0Gk8A=4DwE{1?_Q18aPM`YmL~$+5z^pP`)0AHYN4 zIElj3tP~TX9N5X!uXY>_QLLams;eEzI7#s`QF@;6`xh%-Zwqj}ExEO6E{ezLpmWE5 z;9~&__cnRf4I|1(RObpsyj#GkD3<+t;AtKU_t?t5s{yVdUkS;D{0dxEn5UC26hY!& nU-gOs^U2N_b|s9^zUuV{f@;8{YA>(o00000NkvXXu0mjf3Dlzo literal 0 HcmV?d00001 diff --git a/res/icons/Toggle On-96_2.png b/res/icons/Toggle On-96_2.png new file mode 100644 index 0000000000000000000000000000000000000000..c9d4538b859667cfcfd2c4c35f7e09db29b38b11 GIT binary patch literal 845 zcmV-T1G4;yP)<h;3K|Lk000e1NJLTq002+`001lq1^@s6^6@_x00006VoOIv0RI60 z0RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru;0P2JJ1)&s2Oa<b02y>e zSad^gZEa<4bO1wgWnpw>WFU8GbZ8()Nlj2!fese{00Om1L_t(&-tC*sYZE~j#(z79 zC`uKz7OEGktrejlhzNpK(HaF~MFJi?`zHwAq$1vn_!o#)Db-S;f(MCGJqTLG4{T9y zqFAN0k!mlk2WMr8o88&$X4yBH2VMd@AJ68Q$;><NJ8_7IHNXL2KhOhg2iEJdbz}>( z`tt`c4ZHy!Yb&SuA`0jS?gERzvT*wii~t4w-Rg=nz}p58t(v_CiuDj~EAXI!g{!pt zz?P)MI|nQ@k$A3^fwOVfy1^zCuF?i;T^p}i@&4J>sN!9*qWx!={e*ISo)v*%WaA|; z22227fN%PF8_=%()&j6ALZ8dPX<#&{(l%gD=nPo`ZUNm9MCk@@>$WBwvp`2shf-aY zX<&DZ8M_DgV8}IIt&^fq@g91Pk8!X8C>e70`>lnq1d3MzatW@TIpC22?~BU)<G4Wa zKI&PMG+KdA2K-08jfMqo7<=oui|;eoSccrnEjl70Nx(GRtUDp^umG%*`14%?cBCNS zPJ?&pQ#v3j36sG46nNh0jWr0pN=K3<VI)IbJqqX)Cg9T)xt@fScPe0`FabYjh^x)f zd5xSP0b78dDRRvRlrJhQVnL-inn__(id>sR%I6g@BTT^d3=P(d0;Yrscqm1#gCXTp zN;`~_P)L#Mq=B<d-X7&@KFS>iSdF~AZx(_HWniUSdB}#dB8RiCdm9|X22@>`22}gJ zjU3=PHl%MF(tqaH_yjhoR5IkuSL<XPo7N1ov7nA@Vm)SJ9pvVRy*3F9Xg{qBSfQ;; zKf9#sL>-`0rXzC!dzq-x&PQDr?De)7*V|kSSn;@+#NqvW6AJegIFgiu*#X>ZBJoB^ z@RGR~dH!a_8dbQ7BxhX^dV!nByAtAOzknOmc)`GlDWu<Dy;^~_84bqH=@dp{fA#tU XhWk3bT-&te00000NkvXXu0mjfp^a^L literal 0 HcmV?d00001 diff --git a/res/icons/Up-96.png b/res/icons/Up-96.png new file mode 100644 index 0000000000000000000000000000000000000000..09ab620ba92123a10a329e6d2fbd0acafda186fc GIT binary patch literal 588 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U=sFpaSW-L^LEC;!WIJo7IhV; zAP>Gqp0_-2+TWj=@n{EYm=xpP&_51~Uw=C-1k}dBaA2o|9KVEwO0AuolF2j8|Gz&9 zEL3d%cf^0bzvt2NwbcgyPsdkvy)Ft@SDMc;^#+hQ`DUVji%Q=K^+S$EPlOZIXMXD3 zFj4ALr@)eBHA;IHwgQO-OKX(QoS621>%+T2|DS(78}?K6!#M?|mK)0Pjo;^`3n#Yj z{UlmZzRR(NweLjugTFt;1l44wu0LSzJ=-OquZDGB_14<g9Fd<yf0VuD+uk!lGrsZt z{ku=Y1UEg^E^vF|x4k34c^}hrm-l5aIkrC0F1R+$I?l++_b1n!?O)eT?+S?C$CUnV z=Vw)=Efdxs*jfF)?iI&cpt5gqe$oq<*07$lKlD;*%e3_ejs^M&A5@HQoXfMT|G}j7 z2g1bex)q!XPtc$IPHD$e?F}=1%>}D~M&$9n5v-cH{y>@T8o{pY3dV4T%;*-w>OCxO z-rrs@onr{nITVq-XHCzvsKv&27?*tINPhcqlR;EgzuybRhAlFQIi_(>ChC6`cK9Wq zn6qcC()s_6Ra^>x-F_Inx%EQ#z*~g|Nv0W!)FmLXyYeSvvbo3P9W^GhAOTNTKbLh* G2~7ZXsr$G9 literal 0 HcmV?d00001 diff --git a/res/icons/Upload-96.png b/res/icons/Upload-96.png new file mode 100644 index 0000000000000000000000000000000000000000..cb18665366c8d9205ac2bd3010f99ef099d66a62 GIT binary patch literal 461 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V4ULV;uumf=k0aJyk-Xhmy7qF zYwWvnrziNQ+D&We0Fg(6Gtz$W{87JpOnaI4t7*zAo|9Bo>ZkTF^mqJ_``obqY1uxd zN0Nf;4bOixmrd!o|IlCZg8r_FLjT+CmnOuQ3SYjrUi5)&M#jGH*&pRhKIOf?{>b)5 zWarnz-{s!qWWKNFmx|i`eJ^`&%_bmetvykG-}i*YYpd^9Z)kpV@4KAJ+l@eR>8Tm! zHSZ5L?ft&*`vc~+-+*eCP6Me~aO5M<pq{>4zwb4h_uT`Ml1V@_-Bf=pJRdBz?|aCL zz451Y-yMwnR;N3CKfCh>=eScB-hAC4^rztZGLxAMFV<A=pXPnHdGq_fQF_JvZ4cUa znmRXEmZ)31s75lJVM-8V*vv44^?(jT8lwSs19?J|fMJ%W{@eY<JI}@P7pgD4VE;1D q<QL;!_1-#%_ozbdAhrK~FdELU`1MBcx;!wN7(8A5T-G@yGywoL#MDjz literal 0 HcmV?d00001 diff --git a/res/icons/User Group Man Man-96.png b/res/icons/User Group Man Man-96.png new file mode 100644 index 0000000000000000000000000000000000000000..22940aa0c0d7ed47e07c39a854e201169f513380 GIT binary patch literal 849 zcmV-X1FrmuP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h0009RNkl<Zc%1E= z(RHIR5Jg`JE<q*G!O}t8f!%@K!P3E|18)Z|0Xo1P*c~_>WIup&VuA^RnbDYi_ni50 z9Q)2l2q{Pb2qA<JLI@#*5JCtcgb+dqA%u`+WB?8TN&q#0&o=7zwL|+JOP@a@KEI89 z)X4Fe;7?JvzoW$tz%|0>3Sg_~qs9hJPnw!&Kg#wqqzD2&LC{B)3~{||toKO_137@Z zfX`jXN0kgR$x0=i3%YdSwh=av>G?xf!kpnKK(;e{?G#~#k2)pflkK8hfsZOV^pfo& zkMP+W__&%K#Y{ElMjhdEHSoDc_^6UWKiMvVGanZ><Rk17K2Gp?H}ol{mr0Kbb_rK6 z=%bFs_}|5p`+zqeb*z%@;?;cA@s_YRA9XIUOZM`DKI&AkOSpPLA9XklO$--e4zL(^ zW5(N?fzK_%N1Yt{3Fi?$djlU=e~bfkZ+_JZeAL-M=hDAn{sWm01)mQ%eINrgHzmoW zKfp(l(PWUh5^j)tC@;||mUaeHHdr<WSCHS9veYLC`k0X;Zi;$=?#8Sw;;zmc9L{#; z5YVh*D?B#HrG4!P+a8voS;ao{DeywW4IzXOLI@#*bOZozXwF-m(d;O`;`?gz+Wzd^ zzV{6}i?R)XUp=1^-?y+^`KZtxev{Z7RkxqDWJMa#902s<qs9)pJJRa*JEoFD_k2LC zj~YAJYz6;1Jd7nCpj-G@A2l-ACfbh@&xeA&Gaqpd1_@1#!xP87GaoTdi4q%&(-T+A z4P$*D$%jcm`+=6*zGI_)lJs9^KC|#%{GXDx+^nn82xX!K=0rK*AE2{6#iS8ViNu%0 zX&{fSGoMMMlwKM`57MiIK2vseKM<gE%-<@8{+&Qb>=d<5I6Elf(l`&~RV4J8e4sCP zP&}!~d%10p?uPt{i3d7L2ZfW0av(p;6Eyv}W5TQ`b<w1wPm$QC7%M&;6pRh9vglJJ z_9@1S4+jNf1FS6i6p4L`vEsu)!Po#Ri#|nSpJJ@|a8R)Sz5xg!gb+dqA%qY@2qA<J bvM&AsSVebksfWCR00000NkvXXu0mjfST}ty literal 0 HcmV?d00001 diff --git a/res/icons/Wii-96.png b/res/icons/Wii-96.png new file mode 100644 index 0000000000000000000000000000000000000000..737fb67754acccda0c35722347f2496c01b552ae GIT binary patch literal 1184 zcmV;R1Yi4!P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000DMNkl<Zc%1E< z-F4eI5QV1%mB13*L8b(Eu;?J}Am||JAnYLN!0f>3K<Z%C0rMbn4=s^%FF+_}_T29r zJQ=w2M}tF%G!sGyA%qY@2qA<JLI@#*5JCtcgb+dqA%qYQ!p-cvnZ26X4>S9xLgQd& zpRXFzcy8q1|C+C6HZF`;yCjw2$;|#;(fQ6g@(GM5RtVsBxyoMc5`5Q47x}+Lw&kQv zqbKYhY(4qYa3+8Oh>VN~aP-HD?w5_)zM?ygVPzdk+-Ud$Nrc8vCWse8$Qhv(UV(Pr zpq+vC%fcE5YuK2P?a?lUhCC5MnGvdVa<uwwZm7_8(kBPDGpR#y0wMz|G=teAi~dy? zh%`^Zx-;Pux)CQrgN~~w#7bctoR6+h{~74@!P*SgGKo7FE~K-;Bp@_ed2joZ(43E@ z{W{{?Mt}R2b%T|)p=(7*q=wnmAWG1;5<%m)ALfc(;tl9AN%X7T!7lNoLLcmE=jEy~ z>2wu3_RHdc-U_ss8~g1z7U-i3=2wB%Zpem{#QtkCT1%rN_0j&HNu6E6T(#_dU?8-% z=%f9=)zkYQ2i?_sQl}>QCHI+Qpm8QOc1dsB_h}E-pDivjbD!yek3FGru(~s(QVn*? z{*Pqa_vsw0?F|=s>jO|iK^pfo+(N?%op&(pXaX7oSet-;ZU4>|&}_#AFvIO=57wjP zpdzFDz%f|Mwx14s_|O7mAbPBHYMz{^$kBbE1HNS{!krg@5ngNaqV_P)=4GJYt>~kp zbGH3tVr-$|q(66{c69CBCORINCkH)qq!s<>e5s`UbYTC(3xE#NmQD+!y?rS;QIY!< zzoPS{k|S*g@qKs!5)fYcr6)Qb=ojYq!TjUG{M!GTB^+pdcmX;>{C2;M_W!hCBLV&H zW<J{gZ|6ri5nl@pFYxIO)Q;wx`O*Hr)SIJr^!7e81anJIKONZKMFG%(*D#wKB{ND+ zROH(|J@TdWw+aV(yC^`3lhOX40~=A1=l2=pi$5^7EgGeM-NF9m86`4u0tGSMXL2y7 z=JXTU-Aw^dJDRWa*7koUIZ=@({UMlB^G1b(xOP*31Pr`cy#F)FiHbY`{n6@v$915& zn*wx%kp%vRh}I+h(dvExcOtG98eZYs9VcKUYCk(dzuTaHs*K5j&0Q4$wWDjJq&G*; z9BZSr{hV+@yM=~V`u7g>211ME)E2q+LkK6dTWENte|OX*r^L8d+Ng!G*FwWL`1p>2 zFt#;0rTRl<EM|XU0hn(H=A))JfAqVgbDYp`q2U{Rd`CwZn~zjsBNf`{sv^1IgnkPR z-{9jNJz;RP`qt14x4hHnH`p-yOAF8$_hG}9Pc)g1>ulRU@N>dW3k~1s=N-=$7a=vU zkpum+wR!K;0~@<8fY~Jh!;PVnwf#8x+3vTa!P>oaJH-%<78(zKN!YF8{l@|h_Mods y2qA<JLI@#*5JCtcgb+dqA%qY@2qA<JE%*(oorzZ(xML0g0000<MNUMnLSTaP$wI0C literal 0 HcmV?d00001 diff --git a/res/icons/Wizard-96.png b/res/icons/Wizard-96.png new file mode 100644 index 0000000000000000000000000000000000000000..0562d5acc3c8c91199a538a8d1a3cff3760c0049 GIT binary patch literal 964 zcmV;#13UbQP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000AvNkl<Zc%1E= z(RHgZ42J&^7=aPG!DWPOaJ@mh!Sx8;AdJur>J8Ej=mzNq+=nEmG$#ewSTZvD&e2Ox z?c|rRWh4k-7=~dOhG7_nVHk#C80j1Ud;u5*?F`@@z&`*TyFvvt0Nx-QgsBYx{<5o7 zK#A2bwG)7rTjbU$y&BE{p4e3?pyX;e!&U--va8`;K%W{)t%goOn;J^2hF1|~%8(4e zAf!nZ(%VogqDm3c0XWFW(t~sWEDziveIh!^$kK)MiKvm0r4OmqV0mB$iPhkx#Au}f zZvcXr5~XzD--e7CJop39329MD5B>mnAuTF7fj<C2N{mLhoj>Bzq%j`w1epMguvX<m z9OMG<A|pu`uZVNvCoYcc5TCr?Bm`+AApHs+BF0)C_=PiQ&g&kGP1%N8E+HCek-m3R z$KIRck)o3hv_1bfQUcKD7NHrBbtjik!uWd|va3)Gr3^iHcK3wwmIr2_lpyA4kk-&~ zd1dH@;;bbO#CfJ>je5{~0F?59BhGa*Yt)18G-~;vMcke7?i=;g5=88&rNL!&y)4YT z`$l~L{c24qqWOh6cb^BSC5V_@aKjPi3+pB5rA7S7Wd!g{nEN?mzTJ{?be!gdXMC@S z2Ed=|--gJ!I!=*W#v?rdInDFR+%6^GqO?4K_^pD|c1dZcPp#vXx;;9iZ51C0<0!Vf zM*Y$q>LYXDdwODbjr!Q9AigGJIo>7MU86oA&Ov@M)<=$|+O8hhqFnI-7iS;vvufE~ z|K_j%lWRrnCJ(e&cE&Mcz9V5iiuG$mX@XjUpadb8^GEEcQSU)_%3Kg~I{#*ECXJgW zrUdaZGY`i-fy*Uw%M8e~FZU7iSRR;=az(bdY&l1KZxb$ZF3SUmFF`mw-s_LxyDP4` zQJ+$RNVR~pJW+L{zK2`@9MV=v)s6Z98RxI59aa6nmekenC!gsP##fmKINyZKT|25W z53G3#V#$sX-{VM_&!>vqG9J9!4kZW_=Z~ngQ6Ip+_s<1^>inBk#{m8S<g6Wa88mMO z?jK{iSwHg~`pCKbTG3mggG>P2_48V+uN{SK>NkK?3Bn;??Wn3oeGi!c<hE)W^#SFb znPSy6>PtH^)v9=4OY+B<a$6O7z@fY&*O>Y|;8EU*Ys}?#h%^D^ow&yO+zyc@_D#sG m*^u8QhG7_nVHk#C?2Z2>X;d6XI;^z-0000<MNUMnLSTY0*Tu^K literal 0 HcmV?d00001 diff --git a/res/icons/alive_off.png b/res/icons/alive_off.png new file mode 100644 index 0000000000000000000000000000000000000000..68335784a01c55be994fc9a018ba43a10de7ad59 GIT binary patch literal 2540 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 literal 0 HcmV?d00001 diff --git a/res/icons/alive_on.png b/res/icons/alive_on.png new file mode 100644 index 0000000000000000000000000000000000000000..55f546851e6ae8c8974e1b99a8b7d3f36f0ffb18 GIT binary patch literal 7578 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 literal 0 HcmV?d00001 diff --git a/res/icons/app_default.png b/res/icons/app_default.png new file mode 100644 index 0000000000000000000000000000000000000000..40497aba9f79087b153ce4cb4f63a0bbb058f968 GIT binary patch literal 1979 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 LUGdmE7$W;0DCU-s literal 0 HcmV?d00001 diff --git a/res/icons/app_down.png b/res/icons/app_down.png new file mode 100644 index 0000000000000000000000000000000000000000..de90d0c65d890ec49e7d8b0af9843bf7a1e83321 GIT binary patch literal 1407 zcmV-_1%UdAP)<h;3K|Lk000e1NJLTq003hE003hM1^@s6k2}7V00004b3#c}2nYxW zd<bNS00009a7bBm000uh000uh0dg$_$^ZZW8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11pG-vK~#90?c806RaF$g@&BE%oGiuc!@#mgAGGMZkje+i3JJ`I zl%TY%hX^VNGNPzJhyq_EdMJ7btRWJiA#n&Q5a|OFeK3QVh>9AE@GG-&%+cG!?$W(? z);j0xv-jEe&UO9ZfS$YeUhAB5_xado-vMKcF~%5Uj4{R-V~jDz7-Nhv#u#IaF~*o$ zVEw0oXJaIyI1J2-*xoka7Ui?gf#nfnCHEpwuW&gSG1mn-u}%T=BgXSKC9wYYz$XRD zEoEXa907jLsduzYQi?S>pVxo~ffpji>`LQI{3br0Fn&KUD&)|<jQ&@)Bl<cOII%l{ zIR(ni0dB827uD%<FdnL??4;Dm)6}`ZF(LjwV85{bZ(wGk+*+ItJ!1_pAgtd63<~Sd z0#;X=QHOQ1XM82Zt^*5!>y*!SC(5lOI(0Cv7vk1|olRx-C}plqkY9^lKTT;D<F}js z{f<&*ZQNA4M<;s50PYFCJ?<DVtEt><;Dk`_05G-U99#5q&sah0PH*@SIMnq2-++&W za_5nFtg4p}Mv+rg*1D`VCbiV3sky*OA?AMIOriV$ZiKkK{5Wt)g?YB<)t>PH^0sXT z{t?!X0b7Li{lNVZ^XdvIdqxd6nk?O}F3PC4SgA8Y_<NtOlJa0I5n|PWZ*uC@fbW#L ziz~{tMK7MFw2Q9xJke0kDAQ9H@>D%zCT^flx)2u`Lca|6#;?8pQDA!fbX)aW&sc>U z=xetFH%go5N8mGI{W-ur<<lyr*A9lyvxR1pXWNrbiqq5;LX5^K=4_94W&nQ)?NmNt zp_h8bT4ntZZs!*D2k?QgzLpUqije!~t8g1yq>amkbq8=8o@WSHms92p+)R_%!e@6- zYz9lSWw<e{cKd)!aZmSM=RNXgT!bvgaCbO)?pEsmM7iGIhda1Zo6AbHm&9D;Tgh0< zO9k^7QtH1Fux%TZHa7>fS-Iz_=0N;_e4E<tBINfGb=<4fva}n5<G}d=?N(|4eJm(s zxwl~abxQr6S(OUft+f3_gtjM$H2}5}dDOG49k?;3BK81R3+so0t$}&00PYgj?*eWL zY`aq1iPIy-DLxrsQKXn<mgEx_d|Zis?)F*U^oaRJgm`6_S3UCVh}Q|*z{9|W1!GME zjs(UFSq_qT!h)|^xQDs28~Bt*tknT=VlAsY^37Gn8>}aRjV0=h;GXJF6fFM{?&-SS zA>j8C@w3c8zMb7hm;c&n3a}UdZ<%!0qM3*M-l0zMyD%TxG|-bIoUl;VQv43YuxI=0 zm3GPwe-!bx67#u=;zhNUVh3UjzoF@V^l_sNk#d)4BMsj&2_`Ho#7&FII~cEdwtHJf zTQ|f=Troc*uJ#MsuA&XLHI`p-7e^oODsAnJlX9jnl-O@2h#hP?@C*9Ec*L_k?N>;3 zs{K8B!(&S9KS?lQA%;iMzsbHoeb#oyDco>=)h<9k^*)>+ey~2=2x|MzyR}4HyO4Lp zr%^I3X1EJ-2(pCM#NRK`#x=-0p^oc)soa;5$AW};1lhv>x3bbZ@jM%mcffJv-(gf` z8g9mkl*`Kr^9XV=?n1Y|MBS<AV_u=}EXo*EatZni3!#5I#K$P`4EiLoEH~puXpab= z`AkrYWe}H><VN7jgt-`Fj4{R-V~jDz7-Nhv#u#IaF~%5Uj4`IC{0sTRJ_|0s+l>GK N002ovPDHLkV1ilOtl9to literal 0 HcmV?d00001 diff --git a/res/icons/app_up.png b/res/icons/app_up.png new file mode 100644 index 0000000000000000000000000000000000000000..2a00d4b59bc502e40d327568dd63e596d9f525b8 GIT binary patch literal 1369 zcmV-f1*ZCmP)<h;3K|Lk000e1NJLTq003hE003hM1^@s6k2}7V00004b3#c}2nYxW zd<bNS00009a7bBm000uh000uh0dg$_$^ZZW8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11lCDJK~#90?VMYPR#g<oe>0}ZRHkBNMT3+``H*J8P)smHkiG;) zck0W^B1obKA1b6Cx<Ne@Bm_YZ#Y_zbMOT9Gp`xOTiCv6f>LC>;$4hFK*68VBH!zKR zec!q4y+6;#{|Ec!oW0ljpILME*=Ox_J`h3(A%qY@2qA<JLI@#*5JCtcgb+dqA%sZH zeZZ-0^#3lf*J$swQCD&n0Y`vm+T{NNAZyZ&0SnutEjh2_F8VNVUK{*BLGxf_z+-LD zm7D?of6;Fw_CF2SPU~Q7|F3VyG9B2;@fW@#p@tP6|5m#?p|0fIi~pj(15Qe$VS}N; z*M<{mO3pmoO2xYH2NGzQ1N`Ojy#pBY9RCxToj_M|*3<mIa363+WDWNlzMll1HO{Sx ztSLDc0pqlu7G8*~<6Fb;g}}wexlNHZC1)e~=IC)?NhA%+44+?4>a)e@vow;X<g6tB z12Y3Y0lFgSc;4_gc^X=4^m#6Vp5)8~ex_J3GT^!hI`(+{90ul2>USpakEh>m;N-xX zlJgM71Cas00zCnB+-UfD)6@5Tqi^VckffXq9Hd+@GGJXmEgu*@R(ks0Wb}P6pq}Ks zO!+`$xHW!n03E%+QIGvGV1}pvOx!Ztx41YrfS%;^;WD39f{_7(0ko_$Y_D%J=0#)7 zg8}p;r5pH~>Ve2`0llJvmM-8I!**Yjas9@apNO;4i$;SmftYBUZ~-pEfMN5;7UQ~r z5o2tBNiE5l1&k6l7#VO!Nj=tc>){+@A2r6lR8mWF@@(3aX`{gD1+~n^Edr+68VAnF zF@6F5=iWi!w1Qfa(~JM&L$${X>bcvnv$24Uj}05E3TjEtF!2JB;ZolV3h4RFuycC> z8+REtJ}O|N6jfFUi-4h=HkNt%Z3A}Y82c9a_NEsDKX{J+0n7&u<*)(n8Mu?<vjG|I znn!ZlIbrdo(nIeVJniw30k4#>^{Qd3=(Kr45<3{vu~&3gm9V$mu+<R-3$cT7jmLh5 zOFou)U+Kn8qduF<1L!rKb^_Kr$q;U-T9jkJYXyDPhM0H8eEj<n8E$K}EQ<}BM{tD} z!RdrM<5v77KVQ*01=5VIz&D=bGk}{b*fmL2w-l4xjN`k2dn(!<HI6rMTe`I*)-=`U zv74#|FIcGiG}X?BX>A|mG46~WV86$1s<wx~1q*e)Gp@y@F51Oh-1|*1>iht27{~Vl zzX$d;3;%Mqf&1>HR)n6W&d1(wAE+YKz$ybhO2C4Jx=vFK{Mq7dxc!LGY{s7v?#5nP z7p9KEm<HTwoExTG`Xdk4cN?pyS;0ccY3fRkt%-I?Wu-O?oA|vvgo8TX8LN%s-xIf# ze+2m4IA>`pMBRch2Y-1cxDBD$3>n97AV9%F-GXrot`u`B8TKD4BpYxU;;EbhTwm3A z-GX7IAU?%yB*kV7_|Q04IXzORU@XCYK&QAXTKVe7{R%^AsxHY^<325JMcL|*1Gv=_ zxQ`)yU&sCpoP~SyPC*aw8~)!wd5V0Mi&1!l_{lhM3Ax=ypSR;)qL)EKOQnK^s=29s zxQg#sOyrm@!)0jqd-{|q#i`05PLq#IfiDtj5kd$dgb+dqA%qY@2qA<JLI@#*5JCtc bL`U&26yho4A-=>600000NkvXXu0mjfy~coI literal 0 HcmV?d00001 diff --git a/res/icons/appconf.png b/res/icons/appconf.png new file mode 100644 index 0000000000000000000000000000000000000000..d25af6a0cf4bd1ca797f1783147701b8ffb82765 GIT binary patch literal 3434 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 literal 0 HcmV?d00001 diff --git a/res/icons/apply.png b/res/icons/apply.png new file mode 100644 index 0000000000000000000000000000000000000000..040d239fd70e87fbb429b4545e0f0191b4849902 GIT binary patch literal 5206 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 AIsgCw literal 0 HcmV?d00001 diff --git a/res/icons/arrow_down.png b/res/icons/arrow_down.png new file mode 100644 index 0000000000000000000000000000000000000000..56ddbf0f4653ef6b56a6a276050b9de725219446 GIT binary patch literal 1200 zcmeAS@N?(olHy`uVBq!ia0vp^ra;`r!3HF2cN|&`q*#ibJVQ8upoSx*1IXtr@Q5sC zVDNbg!i=ToK1>A)N|v}rlmzFem6RtIr81P4m+NKbWfvzW7NqLs7p2dBXCnnPNY~TF zF{EP7+u3LHLtQ1><vXT$nX+wAyW(nk)wQ$pO2(p2wMn}UFL4Q%GXKZ<LtNqzlh6fO zmAj0(+v-AEXI<ICoy@DULE+G)Q%u59(Mxq(ZcX#n?>3%(?^^NsxyI?w&g@B<_at^o z_4zaJcfNmm$M`w(ollwpzAM9H{dQe_`e0v2P!Nq!Mb1*I#>oc^7u?O4NuI~rH>sk8 zDJJ#r&SjAgl)EQS{rKmKy2{S%<apKypP655J}heGjP-iUdMxNz9D_uj!N>Xof(zCj zIHI@2s-f;dUGv6vhI{!RlGgrXvtyrU%#jfMO7(%rhAS%X85`6aW~$|{DSc;hq5EIl z<`p5_1p*R`T2hkfQ}`L;vvLCB>lxLjBy^{)Tt3Ca{zLw`nD{IFS0)!f{<Vv_hpD~M zZUJ}3)hSg{6|6rbEcpH~tr0n~DgU#2$=(AAnWo%#az5OezvO*s_m!<@ofzgv&Rg=v zYKq#`#(VY01XeS>S=o8z{n0!|;mmDJ670*e>vQgz&et{XHZ>~V&h+`mf2*e}E3bXu zcHqDDR-T&Mf0{YF@;!>uKk@yu|7-JgTi;Ky1g(Y*R;Eio<te<CSjWZl;s*Nx2G2O% zT@9vx%9U1MYY_ib$F-kTz-G0YH0${&r<Q-SQ>VO_oTY!F=IW$V)4jr$i+N5HQ7mdy znJ;*D+OK`D8deIZct3v0pz<nv)-Kg*sk7%yLjuy%nI36RifOIj{eO4m`gx0-OxLk0 z1hdv%=UiRAN_)y-wbhnR5wF5S_*VaU6Pe{>o-yxraC*_6>#Tmy?mHGey5v4xtU<lB z`Ps`WLjR`yx<7Hw>GDH$e@b4(hC5BrnVUaFr=)p`YPDFUeoA;_vE_EnQwwHY*VGTb z7gX<iHk@m^m%u6}ao<BT@3{wF3)+7rm}|GkxvpJrE*WjOtTHEac^<R9WZvr28Ye41 z1zC37_WL?@`KEJb3Fj2n_?=z#u~(z$@YUKox?kI`{D`YyHlJIy*Qe7YC;saGIFkvz zzyIdQoAE};o$q+Qar>3^D?T<QFj)sZHam1<*WD}E9{L1?N8M`JE%N$OY}eiB9~{wh zcd^&R7xW04`UUK9-{|*sn*2`7=**hy5u0~)9=&}s_ulk<Z9ntRG~BZD*k$-SWPAUH z${kL23r}xj-cg~W^giD=V83r~27B1W*O$09-1a~7=TFDHEByPIW_?hs3X=c9mEpww zf&ZpcamxM6c|EJ2FAwwNtKK9L_+I#EbV~Uv-};MZPVSQY#9tJ5@<j9L<KI`Q@b6ht z7`0b#lHUVH>D^x({_f6DyQ%SY^=r=46;&ml!#7+E4-&cExZZPJ63^=Wb3X}e-~3(i U%TLE9VCll(>FVdQ&MBb@0BG7UssI20 literal 0 HcmV?d00001 diff --git a/res/icons/arrow_l.png b/res/icons/arrow_l.png new file mode 100644 index 0000000000000000000000000000000000000000..2545cfabeb950969efe25e2a49a04fb3cc23cafe GIT binary patch literal 930 zcmV;T16}-yP)<h;3K|Lk000e1NJLTq004#n001=z1^@s6geQ|q00004b3#c}2nYxW zd<bNS00009a7bBm002zo002zo0d>ysl>h($8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H110P95K~#90?cGg?l~ou3;Adtu2~m(rBQrsRqTHD+!ezC}T0|R3 zLy$H>wF}CvAV^>!g5au^NsGcDs6{PW1WC1ts8&UhNXbA=hG?}oea&=dyfb$^KlkT- z;9U&d#e2^8&b{Y5Ki@}ywRjS5;}?96dz)qyntBLt;1d4si8BrJYHm&I1RB_iXK@e@ z^!eOuopeG=>u~@d;JU@%4!v;+o10`Bid&0ka2|hJz8Dt96AkhWh24*%_`zVs(8byM zDTh*S!wdM->WZO@Iow@2_mJ6oX#n}5m5m!#60cQlLCET1oRsDpauh=s7o}ngBV-$1 z#n<u{Lws9|pxf~hE+|(FUCd%*oo0pAn8ssx6Td585M7+A(YP?Uy*Q1_>J`Jn*i*iV zVWsZCi}*~NV(8*qOcicxSjIX$jdyWX+k)ugXwepj8=ApBoWmd57ea45Qm*M?Dcf-b z-)MjFZxpj8bA`FOjW~pl@t5`&ez`bbq!-3Oj{lZh@RT$?{rJCskBSSe6Bt%EQy9DO z9QNa`Jn2;TMe78{#TL9Q?TKvtGms;8<n5lxvH{QI6Zuv#has*@n|Z<j)|kJ=yrTU@ zED=9u>#Z@=JI2@{?TtKuo%PeH>Y8*16_zk1eVrbZ29kTl^l*@h;GDE+HiZ97Nz>G~ zwoW7rmubA$I*BlRX7CQa$0pn(#u&lkBABGRlJCUWYE>S@F=_X7>p6!KaXDXCO{N(< zD(%CZ)Bb|yj13w4X`+qWTFI`w-4jTidK^D#e}PvU`?L2-_@CX<14we84l5n6m*|YJ z*r@H``lv`Rgub>L{ym>p#Cg@Gx?A6$wJ(O=*jKRKVTFeAT*=9zEe-=4mXl}~#Swy` zwGFRG#|7i(BrMYEwEJ5%8W-|dXMW#l>G8-l<G*M)mTEjv=R~#Egd$2kgX=eGKpaNg zwE0!vT;q|`Ra+2>%k`YktGKUn?xB*KeKPR-^-~VDb*sKhy>_Bs9Bz?psBh4>5B!Qd zn`9cA*(%Mlex-kL#9oaF7H>ETeJy+^+8n+#;qOHI2mK4(`s?UahX4Qo07*qoM6N<$ Ef-d2@l>h($ literal 0 HcmV?d00001 diff --git a/res/icons/arrow_r.png b/res/icons/arrow_r.png new file mode 100644 index 0000000000000000000000000000000000000000..1b289506df754911d6ea83faa1fd99a29ae80d73 GIT binary patch literal 922 zcmV;L17-Y)P)<h;3K|Lk000e1NJLTq004#n001=z1^@s6geQ|q00004b3#c}2nYxW zd<bNS00009a7bBm002zo002zo0d>ysl>h($8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H10~bj|K~#90?cGmkTvZgu@lUj=U@cuJF(9oKsxB-jD6R?xk#33` zL06%YO*f@<R}n;TAuU2hQ3R!%HWVQ(gtm&J3m3X5)L<6@Q7pwp|4<VVYD1Hd#>LAp zLo+jJChxsFGw*!ix0%Io?ma)=JMZ0d@1xr6z^|Cb8N7zUq!9&O!Er3zqnr2yFD8sD zNX$o88lzEDIE*J!1sJ4Z7&F?NV+o7+9wXS4B+{UC-n6<g8g&Qf@rI~J`kr&vW{#Tv z!UuS^{E&k(cpCFMGe=DqZ~%{%9D7hOA6uU>8taiCuus$@eZk|nEgy5#G>uR3a*5*z z3g9#O8lzFa;T>!(Z8Sk{Y{!D)%u&-XIE2Sa8C8%A6N)!RP5<E}Ud01t3@+%Ly~;C2 zqyE7c*j4-xgH9Nft(T-QM@<)TP~2*|j?bkvMosfLi`Vf`p(76Ni&VFhcACYwtTo`l z;)WiyV>9NYH$yA^j(727Q4<if=4a^*u$mU}BSvLr4oYCPUX5<kocgNo#scOeSmrJ1 zlijJV;zR7reO3Z5NT1+5G%0(_I+XA9RF^H%CpAwk%Ic>5q8?c{|4N_GBGmZkyP?^@ z2k?Anb5;o^@Kov`3g%CYE$d3{#{rpxf?x?h;RMFQ7(p|}!x%v`W}^onXvWt~E7G8n ztf(<Y)5g=)ys!UzG@Cw^1no)Puv3(7;3%HUZ>p-p!?-Jb67$k+_5RZ6=U4~NNT19+ z)X`c=6rZi><(0{6I3>G6Om*@HVT{(ilsbSlGNW#W$;7erHQz~p8(2-z!BsLFaZCEd zw^H<cCgK(8lYg(SEAbICYK-RWNgcp43;0&{Hu4);UuTer0bG{$>JU58x{%${nBfn+ zt^Z%a_bgv3&kV8Ky+;_9oyu3F8RpgdEn`1wkMN%23=t>l^eB(We>FAE;OYa8$j1z~ z)DJ+3x}nF}CfjSV9z(=ApMA(_otYs{2JT}<tj!GZ*@_A<<o*iI`1(M_IHtWJD*L^X wsxP8#Y4Y3O_)0XqRGJ;QBx{t7Z=yBuKmV}LTu!Z@?f?J)07*qoM6N<$f@I*U!T<mO literal 0 HcmV?d00001 diff --git a/res/icons/arrow_up.png b/res/icons/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..03fe1240609086676d5b04753498e58443d01a39 GIT binary patch literal 1190 zcmeAS@N?(olHy`uVBq!ia0vp^ra;`r!3HF2cN|&`q*#ibJVQ8upoSx*1IXtr@Q5sC zVDNbg!i=ToK1>A)N|v}rlmzFem6RtIr81P4m+NKbWfvzW7NqLs7p2dBXCnnPNZHfH zF{EP7+u7dPA)X=)`^^HA7rD6{WY>6=z#`wdBOs*Y;e!J+J~k@<V7plV(CJ`rmqs2- zeZzt#Y1g}&kJpIEu**wJ2D&)58l0Rkv&Cg`clGI)dGB|x%Db!l^<d<Z-T7C4{+e?q z-SkGfQh}%h+q#ze?&lmIcIxr%_C3zC|FTBu`CO}CB^Nc8EIR#c$>SV8zBk>Kwd<c& zt~KPVa4lIH$7mYf`EtX=3`J4t9N(PHe;-BZzy3XSv8;r`&LHN8&wG+r2i<O5sX2cp zSI%aW{i1o3V^l@A$EePjzVm?kCeK=ywAp?K+<w13X_&|D)EDW0GE7ypewU}Qwe1t( zpo_UioR{C0Z+P-{jj>#X|3<I9>`|xvE$8Zr2nT)Kywb&I+kM94x24mi3|iurwjC<m zVi>wI)?xNDiQEJ0*@_I0*?w8I<k9v`!u`pD25pin4HFjTIjP;sw|}-SDf?lC-%3V( z!(gCw4}S#J*SZ9$CC&8<+VwX5^^HewW|(rmIPSOf*Wr)c3xik2H~96wo&18OO1F3J z3Enp$o=3la3SmlPT+Alq-*vHI-W`$L{kAvuhh(spMbBH@Xuly^Rh0j<P*mWg30+Ss zg>^2~rOrPVF@HU4h4;>>Rnq6Od*^$J1#PtSpHzAK{MDD;TPv*_{}%+WtZ&qe6h0fg za&E?){>)2#OTGW@-m!90m-Vt%v4nS%_Ga|7RxX*e_3yWb{|*-OHv4;I9VosN=6ST3 zr*>zymO`-n>dQjsF4cwZmR&RVyvqXq?^jp$+XaO!S{k}ae8#+^`&^a@+az|X`mV}a zyIf<=b)N*5?{CFKl@IjnI5Jsl>+A<F6GSEb4|@M)-?82!=+1fVEo+!O(>qlIPafYo zzk^l!$&JJ<4EY7|tvVmudZz!f4^y~lvvFml!m7Wks&cxNP4AyPpzv=0UmHV-XMd+Y z^U7tmx^za{jeWz`f30bnnQNDKoUP_NxX9`H+Yl8gG3RUHuN0=eZ;4vcI%8^vzrpXf zybStD_o{ho3~cT{PFpxts+m{#j-9phhdWuC|KIoSO5SEEvhP0IABPQAzgP+;e_49p z^J1`msowKrwFg|A_NE?wx24l$rAAca)&qtQBG2tPca8s(-eI=I2et;JI5`FF3Oc)n z=^XR_loKCgUpVKVV*k(P$NafSB`L_ukk`WN*Q@io0)Lk1y*ew{RP<`iL1WFOFBtlS z>z@@%F8Xhn&)jXQ7ItGo&>2QO*PgrlA6C3;<)86)YmcwyQ9h~YPl5+(9xxS5YMCv` zs_D$tG}~o4hs`r-x!=;KCS@J?mM=8-!O|r(LLXwiY8iRM>XpULD}@8g6b4UMKbLh* G2~7Zj?>j;O literal 0 HcmV?d00001 diff --git a/res/icons/batteries-96.png b/res/icons/batteries-96.png new file mode 100644 index 0000000000000000000000000000000000000000..35e4dfa1253397b0e83fdba4a7e84f782adbc5ff GIT binary patch literal 1304 zcmV+z1?T#SP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h00004b3#c}2nYxW zd<bNS00009a7bBm000`3000`30r})kwg3PC8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11eHldK~#90?VU}C97Pnze_6-Xh$aTztcgk_A|BQclE5AmKM@Qe zL`9-RauAG)7jyOCP4KuU5skqQL{Nx`68wlL!H<JPj9^$4AqQpF=mvFlqpsN`9-gD! zwLO`x?&_|Y-v1BkP`%x+YTkdks<!&Q9uPtZA%qY@2qA>1jU^uEo(0?ptOZs9XIIjr zxcmyVfrG%I$bI>bRlrlgFTklqR3?EPK&!k9i?a<lMto<)EC+!#WgS_Boxn-Y&Nj6i z0j@0P&TP8P0h@t0fuY2)lfZu91K@k$uPQnenH89$@5JW1B;Nw#*gR1w=U@&_egh_f ztEz6ej~D_T2IffnVWN)4cRG!J2aMLya38Xbv@hm>l~p(Tk<;isRX5n@>?Q4w9aT2g z0_GEqO#^3C+28=Mg|q-Kg)~0o)JI7>{7c|O$OZ?H&z<@uA&t8NEOY9=g=}m<aaTRd zLmGDl5H%wKA`^9=V?b$P|FCuV8{4iagzf-;t_6Nhlv&_2V5EpK2@r;H;K3pnN`T({ zfo;w7;=&@vH3#J5Zr};hPF@CFQP!{o$j1R-qjPK{@J?C78iFDt0U{#-A|nAJBLN~K z0U{#-A|nAJBLN~K0V1QVh<scIJO*5zICen@!xA7Ldx5bk3~LDL%~J9?f2N3W3DBE7 zITUT+#UjQv1o?9axWhTt#=;i8kpTY80f$2w(-0Jv7M_935+DpCz`a-)<5r&w-63e! zsh?Y-Q%&JKr~bQB-wwQ-sC$Jjx_7`4EEA@~7=D?QP2_5)-VSNp72r7b0J_7)z-=KL z96;`O>Ys)*o;3%&?$jq(yhG6~Se8tOdEl)c*Q^FMB+6PmN0H^gQPN2Xp8%Ko7-;}^ zu`oCKxs3C+JLhDTSLq@`H)S3Gc00%Z1YW_iB#-9*90NrQ+i=?o+~oZ2Ctw{g<s82c z^Gh$T0lxC-%mnfCbNi(n1Fq}hr!mrLUERtJSr?x!|LZ+$QofbNy%L%NZpR{^vzX@p zh08ZsO7A4LiI)sxe*w!l^=3WrHkK<E`<qy2nE{>z&M)FL;919B<{gk{FX#(k6SgGX zjLqsrJJs);0Di>Y53!FL-Ui^a8P~>C6#>y+P-G-PWPG0oY$E+I;(5BS4nz)o1y~0> zl&F7<1So}upvXvo$Vh<5NPx&FDk2PzU@x{xKE7O&=Ryfko^jymq8DojDo@^I?dhz8 zx&zA7Ypeb^@C@*E)*p2Tgy(Tgluj829_@Cr1c;0Th>WiQrz+`1v+(kfuK;cmLQ|iN z`LM#Nd%auQSAZX!`g+gno5%*I9yD~(Wt8;8`56Kws|_e4*t=Cb{+OrWyW@P=Px@*9 zYb?&Nl_kI)(!Thxj)re$VF<?_YIv)7A8`@z204STPDjyi?rto6G080UqYnqLFvcdb z6x;jR!oq;%UD$69)WR_EKJkO6`lajx&Mf880t{o(!m&Sm?6T`$Uqs`2ERHl!fNE39 zJn$~v19o#0a`mzj3+Y}>Gk@d_EL3p{TM1@vFAE`r5JCtcgb+gXG5-LCo6c@OlO{R< O0000<MNUMnLSTZ&F+?N) literal 0 HcmV?d00001 diff --git a/res/icons/bldc.png b/res/icons/bldc.png new file mode 100644 index 0000000000000000000000000000000000000000..86d09e30a73f7445e76abfa9c2426a08a93309df GIT binary patch literal 713 zcmeAS@N?(olHy`uVBq!ia0vp^g+QFb!3HEZrr!Snq*#ibJVQ8upoSx*1IXtr@Q5sC zV2}+1Va9VyPHhAVN|v}rlmzFem6RtIr81P4m+NKbWfvzW7NqLs7p2dBXCuYHz~tuX z;uumf=k1-1St5ZlZXffT9ksoslhwJn%8p&BWZ-@s(ZR9LK}xz-NPFYfi<gew(h~4^ z<I<WSJAp%pTl(gky=U(2-8@_79RIePH~*f$Yin@Eq<qp7lg+k%pOzKm+$x)-&TN1C zaNeZFe8q9<k?#%CJMMeV>ofhc<-@I+$;UpQnqwHZUAq4DmdUE?eughMoxjoST7quB zAY%_lf=h$9^7;RhpCmsnU$1ua)sAVEZ`6NY{BgHerQB*=>IB30e*NMR*Z-cnb!?w? z?32I;k%`O7mund-H9&MTC^Jb29_V0jV=<tH(3Ni+cTRkA?||iX?)U4@8YbU5dun5} zr=Iz_zxS7X_~&-(dh9QKHSRNOW-Zwhx=fEle>uY9fa)U^6Q3O3BxZE@u1Y@laXGc0 zw;syOH?CIx9`1S1^jyu9Cr^96`%lU-JGW+)>z`>U`8|{QLaO=xOnS26u%%aj`2EZO zZp(+9Gd=bH<x>&rc?mgqvUaD>NxwcxW_^_)ua~uf-lONPy+1Oqa%U8%{@)h%GWYUn vO+>iPdA|E{v&wC4oATA)Bj4@f|HtIV+PL~u*8lIoWXIs?>gTe~DWM4f(=`}y literal 0 HcmV?d00001 diff --git a/res/icons/can_off.png b/res/icons/can_off.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0dd952fe18f9ff96e4fa0f15393814b8c2572e GIT binary patch literal 3234 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 UH|xosj{pDw07*qoM6N<$g7tO;Z2$lO literal 0 HcmV?d00001 diff --git a/res/icons/can_on.png b/res/icons/can_on.png new file mode 100644 index 0000000000000000000000000000000000000000..01663a50048b3aa0015a799e67c5cfe92c88af65 GIT binary patch literal 7987 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 literal 0 HcmV?d00001 diff --git a/res/icons/collapse_off.png b/res/icons/collapse_off.png new file mode 100644 index 0000000000000000000000000000000000000000..34a9b55f0a3338f7c636cb4395f7191f5b3a1bc6 GIT binary patch literal 1057 zcmeAS@N?(olHy`uVBq!ia0vp^DIm<j1|$m}O$`B3EX7WqAsj$Z!;#Vf<Z~8yL>4nJ zD9r+4#(j5xYXJo%OI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kz!zAp6BV} z7*a9k?QQD}QAd$uANO~18A>%JcqG2$7V!=~BGSYqsG=0r$t5PH6cMG(!s4A9!l81^ z=_9LREB^+;ToI8i8wC}Wy1Lf8C|``26C0ENZPv`)#ye*}`F-%fQ={v}Y3JX)d6UB; zhyzTVd6Cn`_ZD0GKWU@C*2>RBuN<mUf3T4C#*CW0vKRN~yu2@@x|l=i)!c?Z-mIFE zqDxXjCQSOMdqVVq*arFS(ywc-_Q)>2eIRwd{4cQ-%?+{=4EGrS9=Im;Z|=?&jMid* zZ)}ug*v9Cc#1_l`heb{MR`vst4R%Ry-udj|YyT%Z^WR;;&r$uoe@%n?Pg`uTO3LwQ z3TOK__varD3$`t+ebLLBwj?Ik`1~{UxP9_KVewX`WXprv!oOMXu=6pWW;(LA+;LiB z^3ML=wNZkX-tSKc{?qef{UndAkNzAGW3gUYTfRV!HIku(QM}>&j$X^$=h;1xlXd5v zOg+D3`T@>_sp)5C>YT{ZIX?YK|G}lXpL!xsDE+g~-6{6mvOp%IyhC!g!dp+h^Q)h{ zx@;HJKK1!tCeCoa3Z@;*G7Elv_U&oXVXJD$zR|VfM8u|Ksj?IL;S;s&4nDh~bm@Nj z^$+VCjF0SnVm(PBzhU-)yf>@(6B)NXji0<nI!8P2bM*?w1N&QJ`DA==aTIXA;1)>c zE#SDpzQ$+Y>@|~|1GO7u`Toi==P!S~rQ2Y7-ip)pLeXh)=WE_ur`}EYwKU82*1A(m z(l1YQpJ;6H<feS+y(wP>s^eyylY5YGqlCe__!9FEhTFosy5@ciKBwXSe8bBu{%r*w z@h{VoTT8@tytwe*^~8eZoyC&-)&DP(E1Ej>-W7Wnsl%D=f0}mt?nr%avF*#7gVPpO zCh1g5H=Mm8`ep3{pbvLFpAa9=t@$s(f{}-@x>2ot#zuLb*^^@0H1;w4@cSyP-Q{<l z<@w`lp3~FMIQ_Dj{JSN0TWR2L-z{;w_rCnyxBW+N<pu{IeeHtVX%dISJfa(qF%-Vu z`}bZ)Zz{v~msK*>VHdwXW4X?~>W}7H^MX5?*FJrJbwbUcDehsP!B&gMHw?SeEQG&E z8~=9aOV#zz+U+<i)~WjKpI`g-N*|qP&$e;z(!lfg&!_Hh-0f-I^j6{h@h)TaseidR zlgx7U&T(sboLr%xy0~e|nVetpA@PmrC!ZU(|4W|vFMe@~iV_YG^pM}(s>{DhKd2O# Pof$k`{an^LB{Ts5c6rl? literal 0 HcmV?d00001 diff --git a/res/icons/collapse_on.png b/res/icons/collapse_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e3fc57273f47419640f951884df836d2292d0787 GIT binary patch literal 4366 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 IM6N<$f<k-|UH||9 literal 0 HcmV?d00001 diff --git a/res/icons/expand_off.png b/res/icons/expand_off.png new file mode 100644 index 0000000000000000000000000000000000000000..e116193a08c61184ab8c2a04df205f41428d335f GIT binary patch literal 1112 zcmeAS@N?(olHy`uVBq!ia0vp^DIm<j1|$m}O$`B3EX7WqAsj$Z!;#Vf<Z~8yL>4nJ zD9r+4#(j5xYXJo%OI#yLg7ec#$`gxH8OqDc^)mCai<1)zQuXqS(r3T3kz!zAzUt}X z7*a9k?QQD}5l5NhAM<M(1BGfDI$1<Sb$mE9G~7BlZ$xl#iD^l2Tk9Ti%Gt8{BjZ6Q zmWzkjxg2>kxSTjR7EOK6uE8PZl%&P0G-Jk*B(pm)MdjAj=9{;3?&s%;dvxbq{j>eX zySEoJ3gQ40OLCa+xh_4ru&z6_KKj6pJ+s2!G6=0up577F{%dR4-(3oVtOm<(F?!gk zsw7XD&=crnq^8Z8$*9L5-_R#=`)$W98-A1JH}V3n?m3;sz{k+uc<n{G@PYdx$r7w) zE>BfHu<hWy!&tXO!u_fa%Qxo!hWZ&SJ?{Vg7|gx)lur-M?{<!kUh`|W*OlGLS7-M; zjTd?RPvcqSQnnk6G3;$8OYiADKH#6=+WEM}>x9<>^PlQ%v2~2s8@{d3H@>F!K*+%1 zVV|FFdUBt*mLh|=Y_d$puPrAR{`HAqlVOfCsFl<RJ=Sp5@HpSh30wOLZ<X3HE^lya zj|kezaD)2`lkyJrgL?ilw>W1CG^BGrp0~!j>E&;^GZ7(6?%ck&^FZDL_RYuc^)t<q z|66})>$df0ENWgUN8XuS`aJp9y>7{FxidG;e3gn7T-|7VKzx#}XJP7U=i3X@Px$fw z-Eg}6%-3b2=U+7{9|$gLey_|~7WqWL{Y8t;_dDv<Yvv^#+hC{HktENP-B^1-ae=V$ zU$qmy!SlD*E6=$7$U<5xBUyBV<uX6sXU`5@4@&M2tqxho^!I@71Gx{!pE_hWIR4S| zv^!<~y7ZD{(tdO8REFa6>B}#;*1o!Fzu2B9^^D7z^Q_a?te@e(K6i%dYlRIrsxvH; zXXswbJm|Yoa7R#@^z_Dl!_uq<_LkZQzod6`M{b&z95(;Rr5!7d$GzdG4~&1b(?2!# z%H%ATK4yJxlNisNFE5n6Xep_BaeT(tU&aNqey9snPV)2r9qDIWz$f8V(c`qO+QMz= zt<yF0_g>*kJhntKqQBDa``S$#CawN*@#K>!eZp03U(`EpzFU0VU47qG#@GYSMVGIe zS{BYXc2Y~3n>^>+q%TYsTsoy4s=~7juFu}SBQ}2*FjkEe@2Wo9lw2qLbtN!b&lKHV zAayL~wV1G$BJYg$rp<NDs|2dK%cs0dfACi5J@3>Bw|(aGE<W=}_fC>jgYbduPwY$9 zdi)jO%vAp0QXzUYBum?JMONMG6oJiU<;nZluCz+-FnJ#$mQeOjE_q+>C&i=N()V20 zzIWz?srsipT{urlK+^n7&w58wo<03>yK`#)ZG6Sg-s$0j1Eh5QpZ1|#p4IZrL0~Ds N;OXk;vd$@?2>_$I;XnWY literal 0 HcmV?d00001 diff --git a/res/icons/expand_on.png b/res/icons/expand_on.png new file mode 100644 index 0000000000000000000000000000000000000000..a299192773045aa452e74fdebf76c6416ce16561 GIT binary patch literal 4319 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 N002ovPDHLkV1j6G?Q;MC literal 0 HcmV?d00001 diff --git a/res/icons/expand_v_off.png b/res/icons/expand_v_off.png new file mode 100644 index 0000000000000000000000000000000000000000..580d02ec154cfefd474ae81f71623d411407c745 GIT binary patch literal 1266 zcmV<O1P%L%P)<h;3K|Lk000e1NJLTq003kF003kN1^@s6aN?Cz00004b3#c}2nYxW zd<bNS00009a7bBm001JI001JI0lwY)DgXcg8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11aC=1K~#90?VZVs6-OM$KW{V`mq8CkK@^u<5<%1nE{IAZL_s4Y zG7vR-_7CvnK@mjA#pUExamA4Y0@0v|;BqkFMV-V$5)W?ZB`Ua~GxI!DHQn=Gzt>B3 zcU5=)K2XrFr>gjN|E7M`{p(sl5ClOG>djo81P2%cJOUm7J(jfyz<Qvm(>lvqjH$wZ z)YcBif(51k@9<m58=%*!B16jFLi&Mmf#2ixIl&TFff4)`(gdzpRa9f<(Qb^UK3CdD z;4-_cZ9pUBd;{s+3#S46OXn8y58=iVa$*JThG<R8tf@1gtS)PNMtOt`7zaEj++79T z*8hxtBo=a_pJ;dGr5`M5tQEfz-ypwQ(pVd&14G0&$a`R_6{RUDTc^Gm6>g8qC%TM~ z6SwHznTK`me_Bym0~Qe95UuG83wl#gCYSY-L0Nex$(S*~6Oy^Bpxb&(vc5-%;9JtW zD=)1nTy+Y{;<B=EIpVf5q8E6LS?d_lbxbN)dt%DaLN);t4C`p<I=(lTBV5M3|L|JL z#e%h0j#<Dk*%+j$>zY~U6(q!Um$ij#HTD2MW>{bC7^MB(qxJWP!10@iyd%KvLa(4g z^wEA}hf#gXZq&QUXTZ`xzV)aVz$L&=;1B%haM1NFEbuxi!(sdz_!9UTHT0*IR)e%M z8`uxL2;@7EgWk$>4|VfSp}vE3BFZ2h(}B}E-(W@>YsG3{WsH1r4dSs%Cnp(eTR<1C z<y7zWoa)U4*B^UphZw{$#2}6#25}4*I`y@{WP|dvfcyHm5143B*Gu4%LHSB>o9u#z zrpbC(MO>C+xG;xeK5A~D3%mvXwk<*s1VIo4K@bF?NL+X^T#h?KJYNAfZHust#IgcN zEXy%m2*2;Z%w;V^jllxgiyw+l!z+Wbf+o1;;!?|6j1iaR7-A5|5Q8{|7{oDLHb`DW zKAj#)>N0<!o}5ks)4Jq~`;;{s_(kWF&$KBxh<~G>1N%@zep-n#$d|wo)c0~P-=Q4z zR-Q$KPuRHt>;k?<ExoiMkZ(DvHLV5qpw{pWTm4~iahFjo?hrktty>B!d$-UlNQldw zI>2$-BhpDC)L~_h8!4(e(-=Le(=-jy{Q*IU!S7^ekn;s=PmJp>3*dyKb=8(nQ8Q@M ztd$k)%wOoboTdyd<Q*`8+2`g4a8B1HWWXxS`;XOytFAB&;6KtY@pm6L26RMH2A2iu z#-1SEO>OA1%}f;u%prXX`Mh|!_24?mLnk+^C{0OOT$V>tx8=DjAtxp?I*cBb-eNYx zSBSw`;u~bZlEzx`9q|pa(UQhmF&21A^p;1@aARa<BFfgOg9@Rap?l}v(0PUmQ6!97 zkFitw%9^^G683r5b60mP>N28?F3aO2owr^+Rj?KTm_hgkVZ-`wf(0(pZje$huT*B2 z1>s>436)r65^7(N5&S(udaWuFIEwGCj@gwW0DOaQkW%b3RdsrR2f#yQCpKr8tCJuI cf*{nEk2MT#tz0~WJOBUy07*qoM6N<$f+(Xw1ONa4 literal 0 HcmV?d00001 diff --git a/res/icons/expand_v_on.png b/res/icons/expand_v_on.png new file mode 100644 index 0000000000000000000000000000000000000000..9c40e77594293b0d33de90d1e30a10dbdd5997ce GIT binary patch literal 4320 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 O0000<MNUMnLSTYJ!|wV3 literal 0 HcmV?d00001 diff --git a/res/icons/fan-96.png b/res/icons/fan-96.png new file mode 100644 index 0000000000000000000000000000000000000000..524ff1ff30746ca763612196dd91995771fd2e19 GIT binary patch literal 2772 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 ang0W*6$~5N@)4H+0000<MNUMnLSTZS9w~SL literal 0 HcmV?d00001 diff --git a/res/icons/ic_folder_open_black_48dp.png b/res/icons/ic_folder_open_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..ac4de2cafeebce7f86777e227a8ac96038d9374e GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawc6z!vhEy=Vz2V5!6d=<2u>Q-P zW<5if=@(u#g$TuZ3UoBTGF#jD?1`;@(Z9`&`85GvnoIe@7d$z|e0ziO#nUg%9VSg= zGUxg1Y?U}e{SxbE*Imi`Jp6TTrdeefg;ghZng{)0l4L$8eqzO*#;E)SnbI0%_f;DE zn5(!|F61+Ds!RYP2M`S;o^YE~?@rzo>%iN6b$5f8*lCH$#Z^q&qCB0Jmi4DrWXxO? ktS05f#O|%RbjmM=BQ4vwv}Z8P1bTwO)78&qol`;+00w_q(*OVf literal 0 HcmV?d00001 diff --git a/res/icons/ic_insert_drive_file_black_48dp.png b/res/icons/ic_insert_drive_file_black_48dp.png new file mode 100644 index 0000000000000000000000000000000000000000..f68c2bd7cb0538154dad0e89b66132482bd03377 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawZg{#lhEy=Vy>yWCkb_9eLrdM2 ziV8R8zfl#9n46&REQxWN0>>-IUe-4+ZPPj){JDIfT*Bgc*xCh;I;5vP_%`86GM~be zB~8IhN-A%KI5b~QaEd8elFhZ{>clurfs!TVLPyjD9dd*iL6nLRql-eJBa4tY3MGF; z{iCC<=ACw?EDw8zERQOI=DZ1xY?3JfJB}(e^BA3g6EF5V_-j7zE0`=|qI5@rHMHe* z!L-6O5tUmV9>!HFuMH9oHCH?p6lK+ZHs?3f*TOG%d=mZV1O3S0>FVdQ&MBb@07Tkj AL;wH) literal 0 HcmV?d00001 diff --git a/res/icons/keys_off.png b/res/icons/keys_off.png new file mode 100644 index 0000000000000000000000000000000000000000..b03541861b8d5823f8efb657709cb6f13975e9d1 GIT binary patch literal 2369 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 L-R#Oxf%Lxt;OcHd literal 0 HcmV?d00001 diff --git a/res/icons/keys_on.png b/res/icons/keys_on.png new file mode 100644 index 0000000000000000000000000000000000000000..2de448e9191ad8ac01e36ae6d0f3c0dc1fa71f70 GIT binary patch literal 6333 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 literal 0 HcmV?d00001 diff --git a/res/icons/lambda.png b/res/icons/lambda.png new file mode 100644 index 0000000000000000000000000000000000000000..21db54c505da8c1dd2c8e18e836f339cf92f5afc GIT binary patch literal 1950 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 literal 0 HcmV?d00001 diff --git a/res/icons/mcconf.png b/res/icons/mcconf.png new file mode 100644 index 0000000000000000000000000000000000000000..0813a6086ca6d7ed434d2f9b7e03145345400d04 GIT binary patch literal 5486 zcmbVQg<DkJ*By{XWN7JzL8JvK>FyGcMh1|Mp;J&m2F6iA>5!7{R60dcDM6%j5RjB| z_>S-QAN=m~%(-XIbMDE#*IsMK8|bN%kuZ=zAP_Q54HY8@1cwvU;Y0+W93e5)1ur~= zlBNj}c*2O_FTj6dZ;eL?2t>=_-w&rL--iY?()+2J`x$#V`32hhIzj>i0|i|?-4G7; z-j0G^zRnqYvJ4Oi^^T^BqDfHZZdR~~$;suwqFB!gZf!wvuH6fgXa>P%ZxgL9e8s_I z74_o`#<UP=r)((NsU_-B5Ty>@pvk1DxPnR)wW^i$EB3*S=)3QWnkn+4=NDP;VPCvT z8_Npav{?(zLR`N(m(AG>-xrfRYRP$sGtx?6M+xzQyo8iP{HD8Kvb~rd+KsFXgT!B3 z(Tvc;($9wpI$a^xH|*G6$VRhS@HapnL&9$5wwB-uX{(V!+;PYCn5^*>>y21$oZVJ{ zuacXfupSULrV{}U<*$wucwgs)Rl=LlG*96We+)STZ$8mv6Ot&Jtrt#&xy(nGUXKgY z3*c32ErP};4b3>s#B8Kz*K(Y05Hp2v6+FeQlsk|%$h=8YVmpDbiS&biQzb%DA(DBJ zaf%aNZiaSVA|(=6h@T<uZyaupXtshLXeSpp#@Un#Pf=qK)MU_Lx`KifN(Hl$hfut) zm>N?^&@BbN21>9Waeop>=HwmFqgYi1`uuJ#{C_IL6S)-L8+3Mc;Rp%}RyQ=nWMwhW zHF=SXiHX79o^+7^*<V!m_ZLSdBp6y)Am`_;);2fuD=YPsck%d1VsP6+PNM7T#N0hR zzUHfw*SpQ^sme;e?0H5=Zqu7zP=MFc(gK6Qa)XG7s^IsYjI*hzVK={XR>Y%Fs^;dm zy)KJ{@82J&aTu_(>lEs6g2R{c(Q=d~#>(Xt70Ww2q_(!UH(BMFHa0ef{Y^|wS7vM@ z`(AUZL+R+^^71&c{LjzN?fZ~4(lhx&92^|Ke+DjYTcJ^?k&YF6C#Qa^IB6DQV&WGG z2|Xyr`+n0WqM(zoU$M80vf0Cj%Y#Y0L1(|&SssKukB-I#`{EQ5B3D&a4Z>cv*tMH4 znG2DVlk3rWF1C-*Gct-@dhA`Ct)l(EC8wssidjz9*Vp^{1_lsgIr1}_whkB!ra3v8 z+Ve{?U#3yXT7?((>O2}lnX$BFxA3Rb0M_iY+V2Balh@~PxHc%=x9Vu->sy-}lCe6P zB{Tn$Sw@nTm9<hgLn800BWSSj8s6)}L<fbkeb<G()!LhDaFgDqkftYNkxi8ezo;J_ z(`2lzt(62T)KVL<^7QnaPZM)K&Jz(6OJaNw;+LSSM%EI3De-5JH^)0RHa3r!b5OdP zPQZf8+<IYQp}MJwu3XMqSX8vTAI0di+>M{eBxNKdM|g|rMG~+6<IB_CCyVWEHerp_ zi6~T!%LGrRd?d@>-d@Oo6u8BL!a{aYQOe!9hF=pM<>lqS*Hdgc`1wiOLjTZCrN9S2 zkBsP62QKv`(2*LUEB$uoXq?Bg`)VDBZ2VMql7f#m*u})C9)zAwe)5uf?BRhzY>wJ* ze=9VAQKysPIe~-wJUpB{LS86%yfZ_-IhHf<6z7J@5&QOdJ5;m4Yq9;dOh7rr)h|DA ze?c<z^ezDz16Ro{b#-+(9NsxK_0WjfXySuDYvzMc)5FcBwYBGoi8osh`WfF~ptz)@ zq+C2aD-AO?RD}_mNnh(-CdOM3&RH1q`X{fsIzq^{rz;qZjE(=9v!;LX_I!)jo1`RF zFVms7dp|#Mii^_(1Oymq<3Rkjzv1)o@oi0&t>=W>J2*T8CWbU>Dj59y`7=>eR8;Hk z$jAr<xWHVF0398jSINoG!2sH&`6A3R0V+mDZ=Q5K_U)UTq}J5b+?uY)m^8xnl~JP~ z)j7o<_VAw<40LuXxPPz45f>L9Zrty<mIH&R7!*FRx3~B9@mcnW+?^8#JK+E}3oNm? zxcF&dA@@hW?P$613%jec1Mh%<jfYKbZ4dJD@_wKG@H(2F`S!gvSZse2A7WNzqx$$U z$Klb@H5EBHw?tNXmhj8d^@o9D*$*h_>Ei<zg5#Rxq;ic)pit;jakptA3!y5q^9QoB z-iK?NT`Fgnmk!t1zd90Hg_JQdG130hz>BCC7Th-<g@lH#etyl_dS(65k62MrQ8M7y zZOO`WC@?U}_wV1|mJ5><vaNF(>8`Z?lz!#j`4s22e1vRO2#y`_oZAxasnhES1j4pd zl~FH8?w@6dpQoYG<SVPI!BZJoS*YAxHYWK9D+gIM6hqATxIxjSr-p(8<n-5U4?HO| z^QOMOe#Ma2Y%P9H_~~pUwle$C9<YF>g%DCK7F%6iZTAfq;yjv3;aG3}CRmM33bAps zjsUoxqImVFn5eMu(&6D@(D__@xQsI#-n*t>XyoHIQ@OrgRbHM5Dp@duGC+~k`m3v> zvAiwed-v8zNJxSn<aqpOJU|Xyoa_Xj^9u;9&oz1st)cz1zXJbiC~Y$Spl79}MRN2& zHtftGQL>hiI4e=|<to7~CYY=Dy{`1cjggFjp)mjjQZY(hGIn9tH^MHqKjd-Yv~cAE zORyQ^=HXHM5cK@{^WTS`+-F4%JND;zI3bzw@x*4Pru|{$<-`vY5`JnV!l|jK@*5&~ zd3h@VOdDL655jnP<7U+@EEt^a>~ay~r@KD}etjw^P=PL@grvAQ!F<;3VQJ@SnX<ue zj7v<UFR{yUtf}F2baZ0pv|{u)OVQ7srR{f(j_Qp|VjS-YaB?a;&__l_`u+NDSawlQ zKiUzn%iy`tTJkWw9NhAomWhu=MFgaDf+`*!6{FacyN{yP(JUgfe)|i|Nj$pWW}BGk z#a*cpA8MspJ_-`8OWx9ccURHTkvl1?qCx<{T9}$C?T?)8pPV!?APdn{yZp01kR=nC zE-+D~%Q&1RW9DG(<m8kpg(&LxwQTaF@dzc9%V+=5=+U!2l!AW{xic+LZrSv5)^o1j zCHgFdF>IyAf5&ufV}oR+qqUW3XQs-zG09l=%g|7o2a8-7teBvUE1y?Co9)gWEr%9- zQrai;xNu-k3~@(grKM0Rs-A+^_#hHFF<LiTxgb+hZ*Ocvsd#jj+WL@IhA`^dctW?b zz?I&3P$>&|xoTi&$PUKT4Y>ktC%#Y(HpQc#ef4eZtrj<}pjGkL82|(aOI<gdP;+)( zUSqP${4z3@)uyl0KLzfuoE@y{NYK*Kz7ax0)3YChc27^g8{AmwOZYrAL}fBy8~Hb8 zZ4J)DsI9GSI1^Hn>p>Tv-rcPv8*yb0PD@+O(a}*d?5w)qccfw?N75&+KUkG%z<%hR z!0<(V%-CF=a@?)>+~>A!AVkwD#`_t_KDYn;id|>jR$@k*?)W2<N(R^R@^Vzf-wWV) z5~ObWnUd`0whG3-T^?Dr1{vaUUtz+hEY!mGHk%eBs1!AaUJm@4txNl|ztCpsO%|f7 zw!OW5_V>@C_&c{!|FyNXf~lJ(B9^L<po+o4(NS6(B8;<`eCTQ7pqgMpaEy}PL37x- zC_+A)X{F|IA4$<}n6Ixdo^{lFwS7{@22ENqr{S|PYJZQ|qXZ-}NN8-Fb{ZT1<%?Ew za`KD3_1QY-=8%&+Nn~XaEj=Of<SeqCIgwaC<hu|0IV&J$>PQ&%^^A{09r_a$m6UL& zE3L~Km<N2!o4w!nbBl$IhnivA!!Mx>40G;rk3I$L3WuJ$hn-BBLB7Wx^(|=3fBAwe zx%zwgN7bmiD#E(S{WT*sx+qO9JS3^=DRB6hmKLdy6AV5lC+9|pS%pQ+@v$E}7nZP% zHy?v>RZ&;xgu#kueOV*U*t@&C4b03wOku7{OYi*pUZbp0qTBru1>0FuF*V=u`q5aS zp;hp{a6q}-!)5o^FT9^)@vD-++l3qQ%wNOhIXz;}cXxM}cXumJyd&J*%eOj06#lO1 z(5{`X-<Obx1vspU!Uof<u=mmS-JNei5CUgW_V%tWj^GL=;pXNBBxu6i^I)YfRnmup ziHYgnJDN|c7O2TjS`uoBfq&lN^(o5&vyAiKneGB)kdT~(`ezP&LcYm;HoC<4gM_6M zSoGFhLs|bvy-dj{dF+`o%w@#L+IqyK9hejc-?G_to%0x%Os@XT(z3F&TfNDave|Os zcZQ5z$XVqQ0fwQ5nxCuGo-Tvoyg{^g8iG-iRL~Y+${ym?U%|PK%O91z4|?$|Cx?}U zl$3&r>87%>a@$$*vE#!RT)wOQWL#WaM7e4*|M-|m_LyMEU2_Wy(YMZ1LV+-r6?;$5 zmtgJe0s^S>_A@pYQ6vgA6<m`g7kk8LWMT2eWC6fQ{m2C>F|i(_??&|h1_Ov?bz>u~ zYC=to$dSZn0d^KnwL}G1*V3&DEzKlDfBy!(o&z+i{Pd7_gfbF|O!erM7Ape`WEi1( zwv{60i;M&8_lO^5egG2`RC9I3B<ys@kOIoP^tWdhgF$}(Zf;0;lZ(}Ove1!=kuf3k z&mM7kaqwC_Rzq)Rtsr{r?@cC213d0S<N#V8OQf$qMmJM!-?Ox}MFg12aJo3DS*4YI zCE{CwW;BcT;_bmCLmwZJeJbYeo*sPD{Iv4&yH1QXFG*H_LUSr2(kghi(gh%ZJ79M% z2K)DN^+Qg?<3<o}$&ShcJzmSw<6KGCPJH`z?`3~{*U8Qd;G|?c88|lxw)`3`jQuc^ z#H;-%huW6NYb^ha=ttmMM|1LKW@Zb{Ic+!j`T2u_gGFXdOiW%hJ~5-x&z9{9-EWJt zjW~}P9339MX&ZJB151a$PSnemjnB+v;$aNGwRt~QUt2FF36b#_K<e;cDnNIle{~7m zUxT7S>=oXhgZaz4y1EKG^xxd5eA$B7Z1>AxwSJ{4iu>KBMN3O7sAG;8Cud`qkTs0W ze5V+M;MSrIR!MIK=(X=NeOcPO=AilW+#JJDiV(ncWm(UkAN#JXjY>?2h>0nz65QW> z1t?l?W7!CTfM%rOw~2`~OJ4#40wQv9I{4UXRR=abIJKd^-sE`qVZq8|iSh7{3kC)T z5ag9M{X>Ap0gP*y*O8izj#EU$katlD$dy|_Er`wPWJ<mc4%E>7%tP-Yqf=#bA|$>T zc0^V;vh_9pU#BcuHBZ3c_S-K7>#T!<&iK!fMX~y_;DItTS4?>OYiJM^>F12P)3LA! zW;jYUG&HncM447v@io(K^h}$R`((-lR+^r)V=s2BJUl$={8iP}-71pSlXc_<EH^hc zL?6V({;_j+AO4S~FiN;Dt)s_$zRcP9O7>C|%P&aF%je7-#Uqg`G-yDTY_Q-w;fPlM zo=f}i2!DV7%(AjFJCWo8DZXn16O-plOG{49H6W5dLL+VTJUj&630fob)zP9qM$^Oy zdt%9Y4%df#j<>!#MY4lfriNxgy?O<0ZfQCA_A%_-cSGDt0F|E3aM$`{@=Vzl03q96 zPCh<OhyQj=N!fiV&JBZU1RMZ?B{f}Tiw3OL#*HyXDe5i18HvP0CDTD7h=k`ntO2h= zQ%kEG5EYR~Y?za!v$J#Wz`!biCrQ68Xl-4cp{Z#s5=jF5zZ+aU5U#(Ej-H`VWL_wM zTfN}AgMKt|QBqM+fMcGr&qew8`22(az4?}BJ#pms>Cqs%b&ZYbe^}=Nil=j-Ej0K? z!XS9nxK7<E;ubJ2(oqET7C*zOXFij1M_hMHdwAyF$y9rIsGy8Y#&+;lLYY~W@4I*J z^5h&^T8m1AsHms}d3n_fcuN_9!!9$E*Vs->&SXj<QulW{qi#g^>Pawv7kCS>Unf-< zr?0QiNc)_QhKA<%>FM;PFMY}R<$i~V=e*?CTZ&6VKR*Rps>lKt?rXL2#7ve%56k4i zxgdb%|2{l?Gr}<mSWnl)1Qk9$zLEB8Jbzhp=PwC;BN_LXx3}W~7bq!wQUDkjVB0zp zBr!^_1YG#&iB;_F+2?=$<hH$ho038p82HD`bC!@F4B;IZxY-b(tKo}4Ebr}AP6bE# z+Ha0#!T9+dYC))zW@2XcKhz%7PymJzzuXhIdNd}V0_Xn<R_OqkLvzI6j|<^LuMZD> z2UnLjHh3~<>l$UlFOq}VG)qh#|5NAZg>WumVBF?yA>#A%^WK<AzP7XBFJHPdyxQY| zY|Sez)e@4kBmq+AUzgZh%%w9y;HlpVQc+cX-`biv*uS{Q8h&xSyqomqwMKErtL*IT z7icuyRZ7~bB-ra?AgR3(2xSY4^xTsUSGbcCz{eXlHZ~d>8c=Q)pwoVzob<h7S3Z7s z*1H0P|Mz+qsw9+F;Yx#=K3P?;+P^dhfc@$9K50F3DnMaIvaNnVYZkVrWOg4}TJ{VK z5X#BP-4=O_SJjrv3Ni+O-m-~^PyoxS-O3e!!R#&sH5wda(?JTLprD|$zkkE_z)s3u z1tra*{*p;CEUdNopgHJ(W1^O3+F>k%1ITAUN}_6NYNjOsxmAn1#T=BS|3TsJZTa`= z)Fk*IL@)jNb<@()^84&;S8p#~QBjewu&{!)H8bF>F9y)8`OVF@3kwT@)>c(ijJk_% zaM><iU0zwi{rAn>TsQcJS=#TZR$*Sy7O|EZp5kX*j2H)z60L#g|5Czm##b0XI;u#I zI9JJ)24u5B_U_=!CtKhvLMyU;xt~tAxXCC&eOHi_kV}e8JVj_XWfkN%!&A#w%iFb} z`+upfK)V5ryRjfwr+x2fC`Q-+6K*qZZkt~SNTJ1Ck>%1owJarwY$mjO1AhaWP+>%D z%n%bYY$|alNhg$#8f4`#X9S%gC-NpJIUTj|xW)`QntzQ%gug`?${{Y9i5Liz>ff!o z3`pWJ4+>1wxd@@fHIGx%{>s41DgFr3t{fhB`qb$Q1)ky)WwNKckfN0wxxD@-2$e#R zacgYDImQ{sKMB{KWA)O6s<=hp_)UjdtUkoy!XkdUjc#2-J{bO(sOxAe0l86#rmCJw JrIKCr{{g76WvBoE literal 0 HcmV?d00001 diff --git a/res/icons/motor.png b/res/icons/motor.png new file mode 100644 index 0000000000000000000000000000000000000000..9bacffb13bd147d025a703950e3fefbd80c730f7 GIT binary patch literal 5699 zcmV-J7QE?+P)<h;3K|Lk000e1NJLTq003kF003kN1^@s6aN?Cz00004b3#c}2nYxW zd<bNS00009a7bBm000JP000JP0mQpAv;Y7A8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H16~IYEK~#90?VWj)R>hUTf88`Ki0mpzKtM^OxFDi&8xWU?F$yNb zIMK{e(L_`n$K?dgGSN21M2#55OhOWkGbAyZnBW;PQHiJ%BS=I=KtS0Y1sB$)8)%@v z`Quhmx9YubdGC8)ck9VLr%v}*uU^%yci+2p>uyy=`-k2@9dNk$TL&BjbTOr;`3ukp zY%+fvfpx%Jz%pQ|`Ma?daZe0YZH+(-^aoA@PB(uCX59a3;5k!f1Mg<se_7C82y!@Z zF)$wZbcy#g;J$>-rmhF>%jsHTKg)pM1HVMRqBe!LB*^~2g}_C?@p;-b0ds*RIF|Dk zuolP_>Awp3y6S+TrVIm40QSvu&pd=Mj{qN)IFC%BEeLWjFd6s?&^fra3z&njlG(t^ zKr`~T4+93^<GdZ%0lZ-9&&xCBCgA^o<v<67D5slp5>OMg-wr$g`~Y|-;ru=}Fc`QG znQSg7i-DVfK0q}v9Jmg66j%YY#N4AxZ&M1j$pPDdS!S%m3|_r}iNK37?VEw=$k+9W zf$qRmU^o6`w*q$~>j%JS;1|G$=K32Hf51rzqF;a<!v5-kAqIydfGNoOq}%TT?g6@G z^-$Uh#^U(BEn9#)kT(;AeY`~Uq0Pe)?ytZ!<juYjd80MKLV_$YZEg7uvM#JK*XPHK z_dIZl!KpVws0~4z_YmQuy$C}k!yw>UqU_?EIO(S!!VW@qv=xzhu0&W@b)GS1lAj<m z3*c4<T#Kwx;a8h8W7{vL8}J{9B&XZ_ne4^!iorOdZ`KpI33NgTvn^<|5V!!?r^Ip6 z5=28k;07EEv!x062GG&8`xNr>=r)^y^Gh73O`sOI7ypf40h}GQ`!)W=J_4>LD(Mu1 zEC^zu8n_IR#58UX1ntfNR;ueQ$l6kyaJ-5`UmVZ3<u^F?bU5%e^Zzk8R?&i!c9KGt z1hFt!;kMi03UD*RK0(;nqxf^3i%5v=0tO?}ibZZa!lOa<91r0pd4{R~nQH&@l;c){ zAP=ZMrkT3a&F?)3+d9zHUyQ%DtfX`;L&abOupWohD&$S71-?#nop=LbO$Q=8*iLjr zim|gM$OwarT^|lKxQ62QCS;G)5&42vt843UUsbEaXhek754#`2g2F{omr3US8&uu@ zl3bL`k|0$E2YdewrhZa^c`N}wgUneIZ8I<`;rM04(a4)(k(h%#kbey7cOeV?S-8di zBV-R!i|D6p+b<==AxnaMN!`2D;MU9FYS+5+fCq73Q4ZP3PehcOnxI>NV-w<#8iwGr zshNmQ>QaONw*FOwa2B-KIMvjhqv}=@)om4mtO(K>pY5Du>Zhu@>8kxmq8r)CrXP*d zI^d85c%*^@5RI$;GWG?o#}{}1fHN9d_!Lehu?tZa0{ltccXI+<vLeXM>b^gkx?#AN ztHI!|p$1X=XrkPJ5Ji6}%Ml5*B2bGj+Acso)ycRoB8SN3`F7XeQujY?>JCFb{Tw2- z^e+*gEC|vcCn+`KMDV9oU*9Tl|JQMIZviGC7R-g}{<&0WpK_lXWEHZQU5Wpe+*G8G zPUc?Qeypkgp{o0JiTGqe5WPwLp{W~(KhI7@`nXB8ZwAgpzNpoz{+<%?DH+biv83&Y zh<GCYno*1x7XDe?vm8;C^Z-7<Euf`HDdiI6BsHfEI6*_R<nblWNxx8=kT30ML<M8# z^o0`pDhdbV>!z-VLHy2yeLkb^oowp#*Y+y;*`9@R2vUvDey=d~H>$eXCC^6s`-8f7 z3G$+8v3Vo1i7p#vt4@Do>b|DxUPP>LN#F?F*R>V#BIy9UuKK;SNFU`8<TBNE5z)=+ zZk(#5ROo`Q*0*cVZ&lr_gndTf%c`>#h#n{0WsgkR_cYbFRpOnd>ek_OVOC<R0bVg> zGx-U!S+%PP`six<wrx){^$)5#t2RjrN8(<zM#K!!9bX}tbicJ1x*;wywj(Q_Ykkj8 z({_%C&~_843HzApe+nW}Z$u1P9o02m3Rw(0ntL~zzNV;akC`z?;x>Gn3~p&b_y0>% z_c>L!4k1!v&{CB}{8;>*>gj2*HgKKl>o153V=(b{_c_Sg75C6@H6`v^t+_X>-)_dL zGGp8N>&l$dDXOnM$X5gKxT>F$w9`-HG_(zfw+Dz9hMv?e;6IVKGYxb^7C_tI1*ZOX z;vepWJoSZ2zI$#rV_l%?mf(z1Nuf9LEVSflUltGpo!#^7BH=Dx^V4qz*Ty2^svdMB zBKD@)0G+M+S&Qua_rqtGw#3yHEBX4_&y1yQ{-H6g6sSS;SypVfWeuXD*YIt1y<~Pj z0N816+JG#AwZM;X`u=?o0&ESCSPXnN;e<LMl8)`89#J>EK=eV*L?(ZJiDe?bG-k^S zW{i4Ow}|A@;%A9!wzneB#+st*kQcl&vM$?ovl-b^6ont*KOAuSo@Qiiv5V3{2&F@3 zfmt|RRUtS5U)0SZo2ih{Zz3Awv~ZT`BYbd8LEY;Hr(!S!U!2V$o4@He-BlOl`Ry>* zZ!z_^seA4%HqibG$*sulb*Sppmi53_ahtc}iE2Q10(Vi^m+2G=JHc&4tdD8=x`vLX zuZ;!9Yr(k!#X&b@PCJA9Uc$M<RwK`5ebA;6;XeE040nwbS%0rl9au@=e*%Q{AoFo* zjw;|^5!cI*cwfQad4C3HS$jC<!R!WpVvx@o_BVaUxd1(E+8kqWv`}s45I*F0kU3l9 z+9=|EzQX>ss^#iJ$o@?=JQ6rn{a%CUXhH*j3*v-k`C%8tF)d^V^MQXr7Quz)flM=# z*S6`|_;!>^!O{3yh(_QjgeC7r)`l8{FrnDoggE=zjcb46eaxOfcKmiDYV~x(RGYc^ z5IkHpnrG_%s_HIMZAatO?Hb8jah~M^iRZJg1a+H$r;xWTluB9y#v(iEKjB+Da|YM& zA^#TVW413c=kVow6?sM$u29!rHg)>>#d_X+Up2S}pFj(UD*LK|%YpX;WY!{K2KF;P z6?iRZ6PD$q+`VQ5-HD3wVR;Ri3&`9qB+8!ON1jRetU^8AX^7Uq{=O{^DeKD9jHnLu z=IojxlewGdLiZwYoI)s0R<~tbf&N<yv>haT$P;lQ@o_{w<#!^_pwLUD%?{HMKQ6n8 zToN|!ry4(R>a0Sn8Rv^s2<i}?sS(|Sc(hwlum>V6G^;kxl+br;fi?>?Be?c3*ZLxJ z(W)c6PSlmqcP)-3ZbS&I3G11OFIE?BK^8pw`>BMJ$|v*Rh-{Yn;oH`aNZ5ZRL7N2{ z5M1{`aL;0I^oY9uctrTIzrU;-KBO*;LOi|~AbfKY$swQ2|2Dp4bAO7yD-HMKOMGwR z&!L>X(N_^c;WdQF+T7rIaIQ9$jmW2^)fR(N3~XV4Gf*6Fw*Fb|4YWU2Sbk1<dm}CG z&Op9CE1|8ljkF!%S<}ew%(I9})n-v$3T}wn7_KHB=NrrHw+hEK)|$HKRR28zPF5B7 zBMuDq_d{hO&;#Gy)Ru)L4?k#4u$$Kq?=84RJ}qbh^ag&cexFc{zbRRUzuGS^bMVc; zKOve_4c8;P;r0r<5gauvLgunL+B^}wq5eM#dFB=ltHzHoU54***i`1=AZ&0ra0#*x znSq3awRiY4V&${m?jw-7lnX1=|9$WYGPD|BhJGu90W~bZ?MMC_+0Q&y@Q(HczeD)? zy*P1rL79E-QvY`(h9EZbCr9f9$!}<dF|vY6;2IJ{XQk*<gVR_xB8oH(mmnT~X<=X) z_qJCUh$tA-f_9c`LAb{b#G=?$6Qm*L=HVoF82h9{ce0DVwQF<(h9K2Af^5rZkiSFe zpa}xz3)wHId=fY`<AJXQ{ypP9TN|b##;Yu0o%y@f{OuaIIopYddRfAbjQeW~*g^Ks zWlvnC^=!8yuMRV-L@CF6q_yEJD*G&~pRYBJeOQfSRhD(-OYZe|s2uDStZGmTiutPv z@+Oi2CoP<aBlIT)wo$+_p#(UXs6i{1AYBk!u=d`&2l2W~3kzr+50ch|l}Pw^TDTrR z#H|JwHrG&%*o;9`!vpY@ewEP3ew>nkwFa&_ZQ=XX__~xj#FlKK-00C!h{2~9VxnA& zXiPsYFdh+2Cn2ixUSyx8K`VEch6EXkq}a1CsLa8(B5wCjAYOY1Ba+3*W%k<|a5C^O zi2w4B5f9EoaC?Tdpx5XoqT2R|f$9MDyIhZu9z+w+<PZ<ZVnLm43Dx*soVIMEd;`@( zs=pBg1}c!x&{o*UQ|tQpKIKC_@iKU^pw700ONqz1K7+n(fYMH6F@Ik5zn9pnOhqGN zQ`a#S<>Y|c4?pHk7ai2uo*)bg)ny9hiSYweUoRpAu}%)!aK$fF!_i1c?;^wx^^z0= zS0TP$Vf4~_rce9(jud@Y8t%a1_cDUBp2NGO&rEtb!U~rH-^C?I%OOeK_QFN#LOuSv zqBG%?0w*9FCq0QBIB#(s)VYJ~6`AG0p*W8l8x-0V@p}$qWad&@aE}Jfd5*;o-nmdW z)UKp2AeJoasrLb;g?i;n`#J;n&^sYtpY|4iJmI7&2|7}?3BlEF+73nLqUUC#ruvo8 zcQ2g(^IGH!)6oTyK5R0vU5M>lyFH#;U?7|JHOvOR5SL>S#MyXN(8iWCOPEll;Y{Lj zTZQ0m;S8cKLJi0>D3qv1ha}vE_zGJ){o=SAw72`U_|dU*iRYQ)@v{`<h^BoVj_->U zR~AuvzTQf}KKOyBapgIj^|S_=W9Z?ylK6x*RrtA8j>b=Mcx%i()Tsuqm`)a`Ivubx z9N$ORepyp-?x6=D5mI63Sm-O;gt*)+p>0(2V~}~yA{uxT;%cM5Y^H}^$ehF2^x62P z@AK8Q`KC_C%;Zh>uc>$>z7((y*}2=0FO9&nh|?Fy`ZE!iR9{c-eEdv8Pat04+Pm>F zGRm4$1P0@$@z{c-*sxJwZyQ|4;-|sQA%?2!aSqqR@Ix6a@qU6h9_nDA&mms+_V-JL zko-5*&<1_#g)Z)G*TFVt<7Z~D6P=8&7aM~M`FbE|pF<>^+li(L%mTWYzT?t&*d#ck z4UQISkvW8Ju}krj4U8lDRq0q5n+-?@eO^@vSsfPLfGE_oD5xLujkt$A6tTtYHhatj z3uSx`bEkymU4&I;aT-CD>8nsSh&>d}CfWy?Q;74EIJQ%ZJe!bs%?K9>!=j5u0O)L- zcCoRWr7$?Yhq)FK>}A9_RSd=;J5+t|&Y1qv$ov}e?Tx}PycPIgMm`upG}A;gl0?CV zEA+-^@837|T6iic^<RI5=w{@hcSU4yn?fmH%-|YCo15f~?u0Ml+=*mL2t$!u5O>t^ zh=^KB8E@_h_eOKf7<a0=MHJ7ksG-Wt)t*UW%Ln)|i6aqBcW1<>%Z9b>Ae!woFX$kf zZwJ>-B^p)Rh<qt&^gLr!KkE>qP$#0|w4H1|c9XBf-Luk+(G6d3H6{iAor%x;5*PAT zudXLbk~RcCGul8?|BYbK79{Q8fS5i?fiPV7GE=Y9$?8%l^>@CK?;e|iPpA8Po#Y8< zEDS)NMff$^kmtd;^|_f8lBAXdW|+E>YQPrCvn_+adwm75L+FIdy1b6O)o~B^KKz7h zx^yC%;3kJlkX((Q%)lnZObh3#zI5&soucHfG#z)vKj6fwPqgg*owQgJO$}=i*D1+= zhP+`-2s=re;%|)U<2L-GGOXfMC&BrE@{CaWMYg$3bPW7El%c}c+16GfJhu*CBRVAS z-G$+v7{pH`nzSF>&bS7VgjV3^M+phisM^&8eS}H&tu&~U;G|7_th01CAtvkY_&U6@ z9kpkv&K@;&T6Fsh$(<oW#0Mf$ixy3bg=3eKCRPV^T2|Q~w?9Y|KVOBvTeo@af2Zo6 zj=wb-48T{SU4<CxHP!zsVV{2_iufg}&Sv5%1mzH<1OAyGHtEeRsxGNNfllAI29dsW zx~q+p?=-R(&cU&g9msC>SbPVDTN3o8`DquTITlMv6IgDlajmCYkFewL=!(ymHYKjY zJ)b?M@8LN0j6HuOQ_zdmI|zUL0=^od7@H|23+asbTO*J~GJb7vN}Hv0627QAnP@Wp zAC!nsBB;gZ@e7fF$ZO4Sdt^f)u~DZaip$fR#H5=ALE=odVIJQwJX%9NZtj+-z3?>; zFOf}(!dN%}|CpjV2+PsDw*}dBh3b<qleJaiX)!v9(?eDVx@f0{-<vwE^o+}NU5l)n zIaO{(Se_>4a$4ayy+iQT4fe>R?*#}xh41BEEZ6&cBy$VOiXdI_JxgpZ__!nVK<2Mc z(b<D=iO%@K%6qhqT?Y^~vd;8l4+Xmke@)qm@XygWt>+fxt?7Vok(`hahb#{To1pGp zU~ub$Q=#uh_AB-Hc9d<v7ZKL2zl<%UI|{HY7=?dAfju_w45BAQ>k@Zf$UKs}mS%nQ zs<xJ1Y3lW{9H9+l4Z_;`<F6TQa%`T3WANG6YUItxmmKmfg#Y%$nRr`B=X{;@!ICHA zq@@oHj<rP1x6O#!z6+w;)9Uy4Xa`~BgYZw=*?~KHHB6ss^<np__P<IwZY7Rh)n`)K ztkYw0FV5pga!`=Xq<-O6kY0_HIUGpTp!6s%;AJ#!f`{YOCc8<$@Ku5!Lvb%pGw$Jk z4`;FLjxQNn(YBPll&uOK5yuF<Nm_|J2*!f;BhDdT*B4Wam-W%B7ZP3j9uC@#!{6|= zAlXPOw$I1{#u9(P{UCFFU&I~|`ZB$QgaMSAzc&klR3lcsVrgId6HN-e8Q-I^UBf_p zEpZM}iQkNy<T1p1G;T*uJexq_O;uWg3`D+$2Z;|mn2Fmz^*}`3P&j#p5|5f_Z!ngq z6Tnu)y4P2=36IFmAs&7$h_!DT;(9qz6@5=gkomatLna~~A5Y>GnDb)BTZ}ldfq0J8 z6V0k>LlHjK&<!#8ge<DT)LXm5amd1N-`Zlnwz?Fu7{(R5A#Fs|C1Vlxb(Fy&48v<i zHn^XtnEOG<ml5YNxER^x_eCDeNr;Z=Z^R!fk(MAE5F=4NV%F`1C<7-FT}SL%GM)0G z$Pz&o9)U@rKe7Y9oM;-4-H4OjY*XeShN`2?efhln>|W<Q<RR;0z;lSXU=iXY&<P>< z>86}O)YGI1vAy4ou&GvqwjhXwUdZBl5&69mw<82vf{4dUk)87zqS^04s74m>p{fi+ z&I8GJZu?y1?7>Hn^`q6HEeWDwC_<R=<T*<t1{x7w--t__)DvfcEY(r_O=KPU71<{N zO$_aYAQ}!rSjlPTZ`La8l?Xe0&Xje9o3}2sM}maV6WJFWhGRW_kuRVtvRAOu&o*Sk p)?of$kG%Dk-7Ta1M939|{|BvV5>4W%{Wkyr002ovPDHLkV1nuP68r!F literal 0 HcmV?d00001 diff --git a/res/icons/motor_default.png b/res/icons/motor_default.png new file mode 100644 index 0000000000000000000000000000000000000000..9a179cdb8073bffdb301253ee56723a409a2341b GIT binary patch literal 1992 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 Q;b!XsWP2B4g&pnczu>%&=l}o! literal 0 HcmV?d00001 diff --git a/res/icons/motor_down.png b/res/icons/motor_down.png new file mode 100644 index 0000000000000000000000000000000000000000..baa9282e19345df07f44c218f0eae69aa1033c10 GIT binary patch literal 1379 zcmV-p1)TbcP)<h;3K|Lk000e1NJLTq003hE003hM1^@s6k2}7V00004b3#c}2nYxW zd<bNS00009a7bBm000uh000uh0dg$_$^ZZW8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11mH<TK~#90?b~0BokJMM@$cFa?fO%RD_ks11Q)JIRD_De9TA&W zB<M*97nP_bg19J&NJJC85`R)hwyRW%iYD67hGau3h*s)P6w&$<RZX>Yv36a|o;drS z=RNP7nR#Ekuiqy*N%z^Ad7tgG=giFe&Vq=Dh=_=Yh=_=Yh=_=Yh=_=Yh)7>V-zIQ% zqC6~Pz*TKuUkGgR=(hq`UrI)>0QejjC}=kV+|ldc^FlJ3HUOLw(Z9%vnXl)0Uhh`Q zE5<V543BmTLI#g1#x7uCL7M?!u@V0OI9SkkXGl`OWxyg}PhkIUmX|PQWzGYpjMt?B zV=c}Z%X+Pf%-gaEnDo5<(;*i)CP|vJ&vMfLY&Q}&#}=wXF{X^zAaHTQYxDs(cwReL z9g1-P_}GZwobVc#<36Uc-b#3lS`-7^GCON2oh!0X4I{P#*qvy6pgzSI1^&v!27sXi zW1o~WPBX#SGt{LR`+?0yJjGIUDV_U<qrmeC#-5=r#Q^&^wYBGn(J*4K0f!>T?NFy; zYzBVJ#QJbc(op9Bml*M8#F)A2RE!Di+aNJ}4r@8P7uXs&URQN02EbY)Hb~fxzaRS} zY81B<Pp)po_yqXSh=)w%R{*DHVpG7g0b_ZoTQMNrp2I5Od%zdHCgiJ*#TW(t$ixPK zYkL@DVNUyIU`}4@Sd3qQ*Nu2DA63@@$7f={122Ro<)e<p0Q)z132>HY|ArBJ75FtQ z9Y1v~#v8y7nV9dM<6Ph(Bi@Y6sZd>uF@c*qvKkaWldwL{z9sP;T1#Dv0rnDfknVeq ze(ZP82qo<;+SR!jyMgzOc(;lCO5n6iY>Em#qM+Wz0Q*028E`^Q`-Tx41HMd@PgkL* zLxzAyJ=z_Y6JHOEd-Q(<c*ZxWoa?M+<}$VQoa4Dn+f#vSj4_%K*RMoB?kJ7#X^oKA zH^BV1Yv!E}*<X<Bi$<SqM!OY8yTjzaivZT-<W%YDkiUVIfqi}5gL{Y*t7*iR(7ESm z80}sGjwHyzOU#_H4fk7DhONMcL}P6M_GMz(J;(XL1xDXyq8z-$PT+R~zokf|%>-~~ z!to|4-gDe!eE%z8d%`>l#TH{9@K}mO+B`|(Qx~}B9N9BYgSb7%vDkZybw;0AZ$56a zO)+WzO#b2K&<VWdU8C<>+)4Lrd=fa*W6W7Gfwwyf+?QY+fCni)5FKj7hz$X^8SydT z>yq-Q#M{KZD|X_R%z0wp87JfBH=kS@o@36scSg%f;_lz9#4VZ2atPSu(e5ztQi*xw zN?DAL2!B4j340@!TGOM=M$)eky`;W3bw9ly?ivS%6X%iVP2BD9ZkiS3VM<+$pMZyZ z?DIHoO<#pc?1{W(5AaS!xpav6GqOBufLnmGJ=%Ux@5PI?4!Az&dr$En?k&nF#-F&Q z?naNctElka&$Q2oKYv?_vYuzWjC&5<%?{#jkJnC_50{4N{F{lEDcs*l&$-(TWh%26 zpOU}%*?>EpCvD1p?D_!iep9<6z+EL@cTOt17zcreGO^XbcO_qUPO9QS!V~;^OMEYW z&(8msswl<;aQpPXhjC|C#ZbmR!?GQ?7r(tno^kA*dRe#JeH_5fDLYS!h=_=Yh=_=Y lh=_=Yh=_=Yh=_=I`Ufh!OFvyJ8>;{S002ovPDHLkV1khDm0bV; literal 0 HcmV?d00001 diff --git a/res/icons/motor_up.png b/res/icons/motor_up.png new file mode 100644 index 0000000000000000000000000000000000000000..c03d4590557af4fc6fba1f5c8916b08cbc5b5643 GIT binary patch literal 1351 zcmV-N1-SZ&P)<h;3K|Lk000e1NJLTq003hE003hM1^@s6k2}7V00004b3#c}2nYxW zd<bNS00009a7bBm000uh000uh0dg$_$^ZZW8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11jI>1K~#90?b}O;97P<*@$Y7%Mx#-ph)-M+G`gZ7J}@4PB(Mmg z2q6YR-N{AJiylM|q6C775{S7*)BzKti1<LkCqYH<fx&|Y4XBU^5~2x->l!ugc&J^R zt@(FPO;>fN-Tr-GVfjx_)qnU;cU5)QfQX2Qh=_=Yh=_=Yh=_=Yh=_=YNR=J}h9cg7 zHE<x{@AkMfbDae24ai}0i8(~O3FrWKMYOSex{ZE+JEAhp*9y$x=@N5@G9UN`m*gJY zx2uTIVoU)`<5JGFBQS?T#h8~S$6WUSqtpMN4?I|Me?!2XCA7N~SW!Z|l{pJI%<ON? zpTLC$+6p~0I>3*l|DvrQp#NH)8IJ&`c(LPw4GH_`7_kxHx`cfU0e1xUT}xL1|B(Id z85^*@tTSUj@RbpNF8UMvXJtm;?`6bmb!H6VrgwSmZ^8}kDYT8)8hX#lqFP4mb6{7Z z_JQ(>aU1<F6QjW0iTc|H{O!dS0;?0Wy(pudc7nENDWez*fsKL3ZU9bC(C2>OEh9dj zpzSsEPRIWMUP#dPEM*kq0pPsAV;2LDChE6s#8wc$=4ctQH-JNt?UwEWV3P1DU<Y@3 zxh$aVya62C`17;z`ud2^b8$wWH%`C4Ipg(O4B(FgCl2_Y`MAM6)=^-)5g(`c=d`A? zdx3WgwwEhqF|MchO}bUUEeUdX)`*SZavRhz_9bc??v_h(sfsZVcq+1uO~46}ZF~*v zG~z`D@>RgOUM%(cWtLRMSO;7Y*~Sv!{sg(SjaZR2hgHB&f!%{9RHajaeGE2eXZ;-p z&d%tk-vB;iF>u5<ZjiI%G~D#nZ^K^~)ouWP7&tRQJK(;(k43g|0C>}g4^oV^zydEe z3A|V|sSvTnxCpo}MIv3sfome$XdAH`aF@amEhF|C?#wMsY%w<C?!u-tGZ~0^MEf>w z&CxCNImacywMM)hkx!7AVypyiPL+sfId0G`>L_js>TA)z$kyd-5AZ=mK0%5WW0?4< zY(Gyj_yV$<H3c0Zf6XzBefB(0No$L4MQ>q`0e=Bs_Bn0=aH$dh4wwk&=T_`hb%<TS z7r0#|-Nu0rGu|@>oa4nhRB(x^!YKCCugHoxbZXn}UgP));N*<sUowvWIH&#EO>OIJ zJ8sR<E$cbQ8Mrgi*G`;Mrnz2>gSgw>K5LL(OYh8Z0(Z7lVy+hh!q*%v<G5D|8{3j- zLNVR}e)3}en&WcZ1`1!hq?}AmD8>~1*BsWi(;p~zt7wlV6a(CIj*b@_!OiN9!(Ll# zHQrOIR9j{0Za455y|+2Wal1eK8=c2wZPAosfLlfT#aNAf$N3Z77ST#I<uV0s+?e!Y zi*P?z@I6z0I=z}yj6=Zd0muCYyj*fFrY02w!p4DDfZt2b!_>55ypOvbo~K<w9;T)h zV+uErXZarZsG?kYG-)<9V=LMFyS8u)e{<2qVth+^zxj*Ow98bjsTeh)V$_I=Q6nlw zjl|5Rp1|$Y&f{;9oUw)ePtbOf?l*t`3o*r50$f?}y~_fQsqArQUBnb)AMR;bS^Vvp zM>6_5SYi(S{ED5^FI6WZA|fIpA|fIpA|fIpA|fIpA|fJl#lM5hX#J=|;^qJV002ov JPDHLkV1iwscvJuY literal 0 HcmV?d00001 diff --git a/res/icons/rl.png b/res/icons/rl.png new file mode 100644 index 0000000000000000000000000000000000000000..1289362dd617ad35eac8177321597723793b6729 GIT binary patch literal 1869 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 Hu0mjfOYeHw literal 0 HcmV?d00001 diff --git a/res/icons/rt_app_off.png b/res/icons/rt_app_off.png new file mode 100644 index 0000000000000000000000000000000000000000..1b0d85d6e1bbe4c0a83be164b7b3113dd61ec483 GIT binary patch literal 1913 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 literal 0 HcmV?d00001 diff --git a/res/icons/rt_app_on.png b/res/icons/rt_app_on.png new file mode 100644 index 0000000000000000000000000000000000000000..6781234af2878371b80f4413ab5b071f1743747e GIT binary patch literal 4985 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 DAHi1u literal 0 HcmV?d00001 diff --git a/res/icons/rt_off.png b/res/icons/rt_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3138b13b972af20b8de345f07cf84f963738886f GIT binary patch literal 2600 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 KMNUMnLSTY2MYkIO literal 0 HcmV?d00001 diff --git a/res/icons/rt_on.png b/res/icons/rt_on.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb6c1908b605b8d87b0f7e0d6882df964fe1c3c GIT binary patch literal 7827 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 literal 0 HcmV?d00001 diff --git a/res/icons/sampl_trigger_start.png b/res/icons/sampl_trigger_start.png new file mode 100644 index 0000000000000000000000000000000000000000..9b91e66dd97c4e5c3922eae4cffb38790585fe49 GIT binary patch literal 6465 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 bBf<XzkOW<$e5yD600000NkvXXu0mjfRKtP- literal 0 HcmV?d00001 diff --git a/res/icons/sample_trigger_fault.png b/res/icons/sample_trigger_fault.png new file mode 100644 index 0000000000000000000000000000000000000000..e0dee4c6d1a7cd78fd17bd81e65d0c356efc9696 GIT binary patch literal 2843 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 literal 0 HcmV?d00001 diff --git a/res/icons/sample_trigger_fault_nosend.png b/res/icons/sample_trigger_fault_nosend.png new file mode 100644 index 0000000000000000000000000000000000000000..46e40a22fc33b38fdf2aff11d4cc8f7c4cdae7c7 GIT binary patch literal 3601 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 XgWJ{O71gOw00000NkvXXu0mjfOrpK& literal 0 HcmV?d00001 diff --git a/res/icons/sample_trigger_start_nosend.png b/res/icons/sample_trigger_start_nosend.png new file mode 100644 index 0000000000000000000000000000000000000000..526bbf37bc051037c3d91aa1649659fda3f66674 GIT binary patch literal 7535 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 FV1i%DHqQV6 literal 0 HcmV?d00001 diff --git a/res/icons/size_off.png b/res/icons/size_off.png new file mode 100644 index 0000000000000000000000000000000000000000..64611f34db80372fb210e512d46489f92b6fb1cd GIT binary patch literal 1512 zcmV<E1sD2>P)<h;3K|Lk000e1NJLTq003kF003kN1^@s6aN?Cz00004b3#c}2nYxW zd<bNS00009a7bBm001Xr001Xr0UgZ*LjV8(8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H11!YM@K~#90?VMX^TtygwzpXX47Im>;Euz5}FCf$hTP=z~Uj*$# z-b9NcXcZM(O_OMqJ}CHLX=AOZQ1zvPMGzDbd=gr(P%jjVSc(c7rMA_m)Ee5PSs!MP z*-LiMoSA=4W@qMug=BN)pMUquoS8E-=Tv|i32#_1-w7m|NkTj$3Gs|1#50l*&qzW% zBMI@0g&N1~1NOR3BoYRIRe1;1a$Z{;CKwxA$oan0Da$jG5YI?LJR=G5j3h*sKA>t7 zAPJG-d|)#$4jcr|G!3M49g^rwKQIK`2b^7h?;tR38ZZelV+Ak*+)n#<xD|^<za&JT z3a|!v9Js#2F+T&lY${1Y@>vAj4Lkx|m2>P4V9KVlB&0J{;8EZK;6jb#{{(j0R+@yg za}h8K+yk6jpxi6Kaoft1kXfz-HlaG|zJg^Zffpo_NJ3yW@FZ|6=GSF!07oT~iB*Ws zh)I{zz;o6a)rn0=kr9(F?*cyx#fnBq(GgP-#99Z0FT`}jq{|-Q3(0_?3b7e66+wJ? zJ2W8@BPLz;10P5S4N1sO)U0czr20gzJ6Z{8J>(k7lkqF?ri;KKwUE`o4XC|OHv!jT zu~3x5cHoqw*un10ssi@|2gv`7MP9!HOAK?0dSBLGsD5Pyunw50zi)fT*sH(^%NQLA zSxCkV@EULhYR<`~pE-%6&O9RqAsNR|(<bXNZza2c-^4PSgP4S5^kddaW>D+pPKiy( zR$ybp?=uC;z6~6bO{blhgtW>SMQ!2HWlT1m&V)MbZDbqGpJ}AwZ@bC=4)zG;kvr@~ z<A7cl(oF`yQs57|e+Rb+<r2M+RvE(`j$2RX&wl{9DVeB+=*j>!g*49GpZ`w5oT3#{ zL`KGD+CTgEz!`#hMJdEY2B_7=sg|;j3Fj7_5K|c$pEQ&`#_W!EDWaNO+(z?t#R$c( ztUqq}`6b|A+oVhgp@rDCjEpt)@{_<anbewy;*=#N17I=mIci<r1zrnz3iu55C72>9 zqYS(ivJ7=vr~$Vb#^^N};Bluugxb~#aHB!_G3+~VZz;QlRDr)6;(uDO{20C0GBUh8 zWev5&KLsq;EZZt$WB0?o!#g31fWvdt@w7(SUY7wL3c0sK9f#?@2R8&6;F*vL-S<d6 z+@V}3GQcw-gE{paM@{fG5|Rw?Ovql1x*Bh~4^0MW2q|lC?{(;1Z`=iZ4O~L=)b}vz zLNE%-Xd&-u)Kf!k%V~WtgqD%v#g+Qy=ueNdu3bmfGN7D&S;H3foF$n^FW_3pa#X)y z%Co>bz{N7@_>XHL8?gT`9|XQbO}PZ$Vq6NT0uKqrT7v3Jj-YM_xKt>vceoU?4md|R z=6R@1ZHIu5fM<Z439RL~820u7zi7mkdVOV(<9sl0!``*DPlLFk27FmkUCwcFrM>`o z!a>|tCQ<kM?Ero#p}taZA!HD^%t73Y3E)NGWrUtl<r6N1xN05asFBv|z(0=an0KUw z3;-*IV}6V340mJs#Lr$pTF9titoKpZ93N6&Cx`(_Ay=cG!ehf})H6i3qo(1bLsE#% z*8LzyOeRPP=?CsGC>QjI$pk4O8z}bVohU|3CP)ZbihAmf4pEJmOpp-rAo-6gigLtc zf~}CnsAu5LMf4*k6KsX71um%nTtlsiPXlkEPEFrf#*YpgAr+c;o}WN<($51w*(4P+ zHbNGnRt1kTJ9M4sS|X8)jgTqSQtC8m#3Y7oA2KPDMdE)#x=%d_k`T{GLOdf0@r(-j zQyKeE_jV-g830ywJ3vQBqD0au%QKP?&qzW%BMI@0B*Zh45YI?LJmWvX@%M9hn~)d) O0000<MNUMnLSTZUNSo;Z literal 0 HcmV?d00001 diff --git a/res/icons/size_on.png b/res/icons/size_on.png new file mode 100644 index 0000000000000000000000000000000000000000..3fe3ab78c9785af03e1071781478b72d8ea61827 GIT binary patch literal 4570 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 Eg5KkAAOHXW literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Add Image-96.png b/res/icons_textedit/Add Image-96.png new file mode 100644 index 0000000000000000000000000000000000000000..5aa0ac771e8086801e1d8230dc85fa7a9ccb8471 GIT binary patch literal 498 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VBG2H;uumf=j|MCFK0&)m+XX? zZZ&IBAy?M&N9nSic}m8zDHGTW7cee#mfNy^<?TDg3zn^16|I<ZMF?mH3^<&0y5x1q z?NZn!#hu$GU7Iv*(zE|NUTYY8@=t1GSh_fCLdo~))t)=2d=XoapkH<Ih_Vf<#?{$! ztMzJ|T7TSJc~Rlzu1EJ+zcZftvg&qMwRjDS#--KQM8E6(;0jn0UK@62cfuJJ>$C3< zGdxdZFy={UV?1NfAjxKMm?7;F?*u*nU574yTB0qZOEhDPnZ)lu*Rtl??_p$~!7Fhf z=Kw<*Gn;|5LBq`k#xra@56l$$Z#LMZF@KuDdm<SR=Y<T|6%q${m}kJ8X0o53-|TAk zB=*@Ao7Tk52Kq;bS>$D?InX~dyl=5<T%P@H(mJhowUa^{oc3l;%Ktxc=923SORFw! zUedkFdw%2b-N&!K`S@<X%>4EB)3<O3+*&)g?%!LJ`h9Y+;0Dsao=6J>)-}97vvvtc N)YH|^Wt~$(69B@t)71a~ literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Align Center-96.png b/res/icons_textedit/Align Center-96.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe7c4e3382776888394ef564eb1f7e1d33c2229 GIT binary patch literal 280 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo_dQ)4Ln`LHy?(HlSwY0v@mGG; z_ZduUPFS4rSkF-JH-{OhhC#l*t7|L!8u4uY2>okv8{*d3ChU!<K2WvsTf^6+w~VhD z85nAOe;@w*hkbRe0RM-G>zVRLm~F0=-eUjA&|f<Do8!ECpeYZ^x7gdfK6;D!S~o7k zfU5Q_`}?r+U-MPF4)%&Queb0&Vw8Jr^|ra9;rK4U-wNmLfl5AD-;$pPwiu^jKvfI{ b=PaMg^D3IAIhbxY2MKt(`njxgN@xNAY*uom literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Align Justify-96.png b/res/icons_textedit/Align Justify-96.png new file mode 100644 index 0000000000000000000000000000000000000000..a38745cebd9067317d4bf987ec0be545c10b6184 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo_dH!3Ln`LHy}pstB~Zla;O+X$ zyC3$;vnic9pn2eeHBbe^k3S-!+58du*W@<Dt+7qm8&Q3rYU8(tuSstiUmv~2e2tlb zq2ijI5t!Y*m3@skHpM`5=56gigQ5{#u`L5bL;73g%~)-LDduNjco6yf1a@1HoW#(u bd-rc<^PCdXMnUGIAb)te`njxgN@xNA^GbFm literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Align Left-96.png b/res/icons_textedit/Align Left-96.png new file mode 100644 index 0000000000000000000000000000000000000000..1fe3e4fc0b8d13b6a3f7d4150c46b3f2edf473f5 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGo_dH!3Ln`LHy}mJ*!BBwN@$3C9 zvQ}miA3A3<Zey6Iw3i*IhM~SrL^PW}LjRiFhPXAh340@|4^(aZ*6=myE#vE>x0tUn zGcf$v{>}Z_pW`cQ1^5froX?a$!YuQ;_!j#|hU35Hd~-Z!4>YB~|9A2htopmRvab;b zTENf1@ZkO}`I(>Pmw$7#Ik3@gIht{n|AFQluzlNq5ygI(ewYJoL5{9?zxO+L{T<V^ SmaJMokbtMFpUXO@geCwORdfIV literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Align Right-96.png b/res/icons_textedit/Align Right-96.png new file mode 100644 index 0000000000000000000000000000000000000000..351e5526ef18684743f6b8ba90ca30374f52b363 GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGocRgJkLn`LHy}psxMNz=n@mKyY zy+5oL24cpSv=4Y6u>>k%`0!Ix>zdq#xHYy3dn2k3RBim$@HOcz<Ljfhn6GtjWnaV2 zzz}f#pM>py!EE^>%r@6bZ?S)5=r5i7&C%vSa_sWj3D4z$rtFCSt-Kkh8RFUe5&R4c z3)cNLtoo;X&8~yJV$JI<{EryrUR%9wu4p*E%kQ_sd3&Ha1^d6br(tym$P9g;L*+n@ do>P48C-bau)3kYqn-7BoJYD@<);T3K0RT80bfN$N literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Bold-96.png b/res/icons_textedit/Bold-96.png new file mode 100644 index 0000000000000000000000000000000000000000..d733061b041a708c941a895a09da0417bed6b2e1 GIT binary patch literal 1105 zcmV-X1g`suP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000CSNkl<Zc%1E= zO^B9N7=|w!OQ$J9F<cZCvxr=@C<Q@V`d3h`M2jE=aZ?1DU?hTy3qi2_LjxDpCJ-X5 zBuHu#LTz**{Xk-nVn3j{8V9xcT%10LP-edKoag5qo(t~vdq4L*@P2dNa}Fd)k|arz zBuSDaNs=T<J9>&52d@09KY*WrQ@|I%KHxQAIWS*+%D`wAFo^yHjsdR#b5$n}hIjC{ z({<o8U^OsPZ}b>=hdr6j0ULlJtpL374tT0M11wR>z!mRc2hjxO<$bqG5>9xBTBBo3 zqj!UMn6>&Cn4yq|Io?4^v`rxobG$>8=mzj)`$%l@4pFMF+DBqb?cnbKqmyU>uoQS6 zSP$$5jssT(&%K=%HBZHm+MzcJo;eJ>O!;l!qJSd;FYb60&}SyF8MrC%(F6Vh?rPx2 z1<wNdtfjnAB_%9u=*N@@1psUpc<BMJH}+#jlmdo<3j#m;8v8LLN&x`x3j7>b@MA)x z0+tE<e52sUgh&O93jBPh;KzhW1q=)Pe68Tegh&P4FYxn;f*%ti74VqA&u#@jCPXUW z1%aP63Vuw8RKS5sFB8C{3Vuw8Qovl`a;2A3jlGx>p@7-I34xal4ZWD-UBJ`8X@QTQ z>G%hFuL4GaL&%n*CxGXKKHSkRU<NP`cpP{U*a3V?39t6qeZ5yZbR?u9c<FOsmO>up zcn4Ygmp^Uxih74Rh<*f~(TTwi?@*_rzk#j5h*Acwc!xWgu2Wvz3$z08#yj9a^c$s& z2UU`A!aLL&jR6ONISP50;~l0%mzV~JHoQZW>KgED^HdD+4zN`TPqhxlirS&yr<`IO zRIdVW0=s|@fwRbW#q}s>kY_i}#)R5|TP{aG0K5hKD)7^z?5^t^5en!t0(>O!G)`Ic z>lBd+=(9)Q>jOn!Dnu+`2sl~kYn+bVJrS`0C}+QFzZtx(?5!zL3xN9X#3v2BH6wBX zZ&Z341MV^K*M!IgEEf3d%<<L81w171x6Hs_6CxKdBJj7?z+V$07a-ZLzTUuJ6CxKN zIk2(Xz+V$07a%#Z)R`sf$ORk}_<O>@UlXDha3An{rMH`OXwz2I0`>~LomTeNl!yha z1O5?s+pFlUIgtt&0yZJPykmueH#H&@FpKiD@q2-vzAn(Qn^S5B-9@>fWKb;vRst^p zJ1O@_UlI8DzdE%P4ebVxpo?_y!@PHBE!COzpa0?=S}T3pIv6XwgKMEPlz-ehiFbHX zou|Wxw81|>iGBbcZXby)-XYfL8nA_Fa*Mimn1kpBWl!oODoHru9qLqc71&RQmY4^@ zJKQ_zJaCk9h0VQc(+9vK+%d|{D8EqFf4&3`Q?{+IqMWQxk|arzBuSDaNs=T<5>svg Xx}96#0Cs~x00000NkvXXu0mjfmu2d= literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Bulleted List-96.png b/res/icons_textedit/Bulleted List-96.png new file mode 100644 index 0000000000000000000000000000000000000000..0be3f9cc3c3a78e2d83accdd6d2b09a492275429 GIT binary patch literal 388 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VD$EMaSW-L^Y*s4m$Rb)>jmoz zYh3@V3F+vvDp0N4Ht~hpoR<e01!ZR_a7=u%HRA1KnH7mEmc5$jKY2FL3=lXl{jiF< z=QB^a>89RBzMJAJ)?J*fveRRe$ESVE#5~VUdLuTsaEqGfyG?Z;?!Qj^DOGne)J*>0 zDm`yMD<^l)dz=0;iAjE&xgmG{z124>oj+e@{JV<%+Fd3&safaQzO0suDCe%o%lK!q zApYwCorILDYo6+6*nv2^q7Q6Y`14~!-Bsq-d5r8oe_nsTtIBtiIYiFk)6ddR`t$0p z-S91%eYU-RZp!i}OO&4(trK4T`o(V*{nN9KmzqF40Q5pa(IMAArW+^BDKNBr=u~v* zC?l`s!$+(qIK}lHe6BM6D>a=gtQXfXr{E*gla_Ar2`4zGPZoaHaC(Q|2~K8+DF@i> Y7%p?2T7UbqeJ@DF)78&qol`;+09k&l4FCWD literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Copy-96.png b/res/icons_textedit/Copy-96.png new file mode 100644 index 0000000000000000000000000000000000000000..968a2f337e3cbc78e2d5051ea2820cf50a2e941d GIT binary patch literal 578 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VB++2aSW-L^LCE6S4^OYYq)Zn zPGGv!2WO=ewVyrCk5%4e9&Tg3<-yfe@~-=Rk=@s8O_z0Uq_1D3VNu}d0s>F|Te9ml zT0dZ{(6w_v%=tm|#>Dtn&sb_$>L$iNOJl83-hbjOm&Nk?=g$Rl{&1@6oGn)14<bLf zfZ1QT!`vB9YA8susw{3u5t-1#G%3)*Xftcbesvp$?FU#3zV-cGX6)^7y!sH|j(@Xl zdnK8y?hD5?%By(IP+aiYHqqXkyL|4sD8{?*Ie*_|T+VGh`xKbdUc7a~=9OziFZ`WX zV6hz`{CNjhc*D2P7pI(F&A{3cq_>_)M8Iq39<Bffji;Zq92ghUL?Y|C?4{g=d6n%Y z(JP|wDc%)(HLcuZd+V;JBnm%j_B|<cd2(v`<lUSPoBljXJNx|P-IfBjJrm;Z-Ku1? z^L?k*<Nb;I&Xeu+=Q%%2{v&kX`hFw-<!H`h$9H#csNeU`{DV*3$^Yk!>;Ju-Qn@b< e9E(+-*)-M(+&=80xD=Q+7(8A5T-G@yGywnsY5$7= literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Cut-96.png b/res/icons_textedit/Cut-96.png new file mode 100644 index 0000000000000000000000000000000000000000..3830cd93dbd554883c3efc555dcd0ab6b9679a96 GIT binary patch literal 1073 zcmV-11kU@3P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000B{Nkl<Zc%1E> z$%+&~5QaZbo>UanaREIDinyFya2dgaicjDZh<Eo<BnJfN9Ymi%JSmRb!K2{C5nMs= zprQw5ybR(p9=aOKwz@N`Gc&3(J3a^)=&Hy+BPz10t7@V_Q4~c{6h%=KMNt$*QT*5n zTmbF@&wx*bJp-nJ31CZO>N4gCFayjx+Ed_ABT6%41#k!V!1vm1V7a*JOxOXuXZYZE z?S0`(slhg27XRRPZI;gYLvdg&@PTl_FIU1E!FeRhG~t8awOfMoNRp$(3x3xQi_IoM zo?s8)58xWG3s_p%Zs2<HnQi~aVzcSbS^N&7sTiU*I}H4ZPO$s22l(vZXJd>BIMT}C zL+2arpn-n^dma3Y7uyc<buO@WS6Ul<fCrYruh#H&-Qw$RFxBp~I`{xDEdpGQ{x0Jd zU(bW7cBA#d2l!?Yv8aZx#TH-Rf~mG+ELv=4q=ecMu(*b=B^F;&2{0BNtqDHJE<rDX zsqRk_%T5`|lkjvf)zu^yd~mxA9e40^5c_55sleLHBpG~g`y%!g*f+q(c(IMm&!#9d zNI3Xi>fVZ2SXiA~5%Y8c6`JIO4{!j#Nz^eDP`7E37H?wSj*d|YSseLgmH}@_qY_Mm zV@D<QBgq(*klm5r%LY1MnA%tgMsTb~@qH~NMkQo_<X2Jm#jKb~nDX$QWbn&$UroFZ zyaMKc@4!3YQSsS!{DKrK3CRb)E{3@4bRGXTU)f@4J_$A-*<)xf3ATMl27`POZ2OEH z2Dv2IwjEg{u8v0TYNsxSxRszdV9+Eqj%_)*0jvYo12-!^kMU4v<QSBMm8I=g_t{31 z;K>=>5->JkJ59onoWi~YjRC8uUV=0U9$dulB&;W94{YxrX%ZqbLA>B=5-gk}e(<wT zLRGJbFTh*iAutK-tk~}a@Ef@VWOrh&`$%#II0h^Ljw2uZY?9#nP<{sZ<+1-2;@`k) zEunfv3~OgfT8yVJ6DTHPNWYlXYnLlDjZ7uP>J{N?rw3>=p1#eHF%d=b<=kGIbkLV| zB}nv&=w~Nu=ro>VnHpn>BGD_N$}SC|HM>fX>=jYAiyoS@N`hpsh^}1-pgWr+NdBAZ zJa9gga571P<UeYE45s=o$tOXwSHxT})&F8F<J!zb(&dC?uZY=Ts{hAW#%^sAa%xwT z<Z>i=622Eqb$^mef@H4<sg`9)B|)-Rgk;mcq>>=fE24?EmB}RGfTvIw+b=bl9*m>D zerBYE=G?kCiAspoE8=zGyJ-vwR6_3U>yxO2P`x5v6uy)p(4R1A3Hl>GEupGc#9Z<B ree`Fn6h%=KMNt$*Q4~c{lo8|)rPzP91Yjz&00000NkvXXu0mjfW9aXg literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Fill Color-96.png b/res/icons_textedit/Fill Color-96.png new file mode 100644 index 0000000000000000000000000000000000000000..82357b5c3e0b40a5d2a2add061a3a49e22097ee3 GIT binary patch literal 1346 zcmV-I1-<%-P)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000FENkl<Zc%1E= zONbm*6o$VzGng#Q!U&Esi8y8v4DK}IU=lD-jp!tb(P(_2s0()@Dkun|3pFB$2qFxU z5fq{X!KjNYL=Zu6p^1U`Kta$bOnk)Yab9t8r=X)fRp(aSy61NF`QYrj>;CuutGcW1 zqrfl>!!QiPFbpFu{lJ^RgW5uRkpbXs;50Cgg%Fjqf%kCcXJsKoVkz)GXPR#zL}D56 z0iDga5F+pz`Q~Re3+z$S*l31;Z;*vxS3*q;0pDUFsIn3ZK^+Sr0W5?Bun-c!LP!7$ zApv|tctA&Hv+)UG4!BE4X0sUvP9h6o2H345v$;Hv%>4E%;Z7B$4Py!LDt_j-58&;M zFS$9Kg?zNsLI_MYH(bU1_7LufE5Ezx2i_u#`4)mF{lGYKV?P4E7k+jc7>(DJ?jvt* zxKr&1`hY>;YvFfnW^EB9bHnZR2G0Bp3!wt%03Rbae~dHD&lm)b3Xd@h+*VhIx{2k$ zC&<lz1@~;Q80X^`!mXh@)J>cVe2(1wm&rFj!zYAkU}vZfbra_SUm!RCC1mDj_=eC^ zcSjc>H|I3)Ov!dEgbrK?97AsY(-qtE3E>~$#)|DF%^+|Dx%n>yYWE`K4{I%8YoK<M zVi@=Vx%rO<Zoj9mgw?>0$jyJGCLKK)!dl>G<mNwIv!0#`;WFR^vd+d_)zA|mTmeiV z>*O48e`I})4&h4V6X<imeL6Cm8NvwgJF-sApg$_vs1QbgNzy;_|H~@m&k2*jH99i$ z8A5)yGfR4lr&a;qA=5vByR}Y=1IW$4T}fjRJ|TRC+t-`~S0NMK0(K~Al;ZQB@Q{+m z|M5D-VyA&!S^_<hUI{<p77?hjWI;&L-NOx90!tzdVWXD7j7umMnc5$&l#3~To_S79 z-2&^$7x<-~v>@yuzkdhyq&Y^(7dWOTEeL(UA1vO#&-A1@HX^%YXli|0-NI_DLEi+; zdbhfT)#w9$L*EFkdbYZS)fq$I2(20k;9q5~M&AgHO5#B*;~@Hm#IAdTI2VZ3$R}Z% zP)QBOWo*Wcc50hbcm0Z6Ym_8+)9eshz^0u3kCMQw*<P9%LJQcI)9)3)FSv=R6`r02 z=O)|`w6<xX>Mz{5S03$q+xC08RTE7K;S{i;ps$-cd@t{(DjK`!?hqz{Ed_mC3LNk7 z-Q&170;{tFm_px7-)d28KERVX$9TfSr&`&KTL+|Vs<fnQfQEp-bB=Rr;WJ5a9o=yy z6y5E#BiU3wE_Nsa*Wx;;ZE~LZ+l76(9Ji>r=$P{hpG}5TLzqHtKKN}cKjd-TC~POK z5T<Y^hLm+B+F0jt{3z@sja$?*uQ+?BL^}sO+laz8bgzUm8?{&B78m=rHH+INnjBk^ zuc{7hewo#Jk5y<h^yb50#13H^H&jxF!xh>+T(Zq5Y#~kvGr-LibV~QVb*d8;+Ks{n z+|y&K=7Sp<E!+N|72A$NT~Ew&z&!!<NnZ@rsg49_KML!qcBXYY^KS{HZC?c)>Wg`O z2=%ZwPuTrvmr`zEaR#@Nu&dZiwbd5$)UyZq#S&V&>g;c44V@=Eis~eAeNCDMfDb*i z93r7bTxD1WJWl>n@vP=>FMb`aS<?XSHEMYa5N2_2`$}#NQCXJb#%;!Nn?JI<r3u_x z{ikrh(J@(z`$;;A`_F3O?soPmXfX`KFbu;m45JJA7dwO{;kx{@#Q*>R07*qoM6N<$ Ef}d-00ssI2 literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Indent-96.png b/res/icons_textedit/Indent-96.png new file mode 100644 index 0000000000000000000000000000000000000000..2ddcf7e326ad2a5cd3aaa726fd553ee71f1795bb GIT binary patch literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U_9^X;uumf=k4{4zRZCFEe|IO zunJsY<gA@=kzI4EKoGa2>x2u;LYhuZCnS=i_wBBH|7`6K`^?LiZ_iCA5ds<m1RK5{ zjY#&^52(#~$-1gvcdx_OjZ4K>*lqj5boKbOxCOs%T;dLq2PvGP`&T*m>+$C?my)~r zm-0s$Hh6oU&-ya&i{on60^OIPy!R*DWh`aLQ{B7zWA!EWwL%B>E;%pv-c!Eh3xiqe z?YFisoBL!Ayx*kS5XSBQWqZ!$_dmn=rs^`Tc@l9`$RU0Csc8&Wvx2s<TsV0JsD|&^ z6kSFWv+X&Y3nng2y{+32#vhq2<9Ac2VdsYEZ7c~ocNXPvCOkZ}7N|{3uSWf4@`CSg zfOhq^=Bw=G{W4GXW%IhNAEqvu-gxh`a_t3E@qH7%m|Up-x765^U#Ve7*i#<o?xMDn zy6GklrWi{_MxD#Z$+KMCZ22@N`)BZ`V{1~gEN@?8mo;U`i~=((8D5rv8MY0*$xm~< z<+pe-TzXiv4Hyub44M1q<i2bU<94{En;!jZfhhBYZBKbXVYYc`{TiHs8eP@+3LNqv bl|bNm$y}lB>-)@>2(VsHS3j3^P6<r_|JvZb literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Italic-96.png b/res/icons_textedit/Italic-96.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2a4d4a0ee783361650ce7d4fdb6e1cb42b0da1 GIT binary patch literal 605 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U{djPaSW-L^Y+rh;`4<v$3H$V zkSS+jN<GSy+UgLg7!bxWWh&<sQKnQlSCo5-D0eVWT$HKNy6^B0@qOzb#BIO+{_Bq4 zU#{<+FTY|H6ny%bU8lUB@r=}gHCTyljl5eH`&Ff--D0ds|MBrZL$$8AbMNB6|9sD% ziAlf6wCBT_Go`$`2Wo-b?-!V2zMna>wMQ)Bma*~m=q(J#ZH$fIGSwOV`LVy@?zE)~ z)h^Wiw+5<wev!!rsM54uEa4(hrBYObB~Vm5gYjHt+Ow*Du?H*C)0WvD$ZwPX&%WXE zCX*|LTkiiq22^Ph)sPBQX?}s}&et<%zB1?@2nBNWFEY*f2(-9UEa8r^@nyS&?uW<! zv-LzyYn$cr`>*u8nLG6su~xjAIrFtxRKsl`S8gHe450q4U1ABRfTp@{VQ9BCHkNg; z{wEGJPW>X&n(DM?yL!YPY)nsESGk3O8>na61*S6<Y0sjZxeGvg(zh_MgY-CA|5FF* zSq=<}Pe30vizS={$}&YYR02i)fgu7E{VJt<fb;wrpX3AKZSwWpH}WH;UUA%d|Np_v znb};r2UY<s0s3983TS7u*n?$2Zh8izUPW4-{i(qJ$E7QI6Rt6&VI=}Wp+NbiysV!! VPxr!~LcnCh;OXk;vd$@?2>=4T7PkNZ literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Link-96.png b/res/icons_textedit/Link-96.png new file mode 100644 index 0000000000000000000000000000000000000000..98fc71a6bc14e4553935dda59012b696308bb6c3 GIT binary patch literal 1211 zcmV;s1VsCZP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000DnNkl<Zc%1E< zU5Hgx7>1w8X@>NSlOU;4mXtE+h16X_MJWU+76o<LRToi-5!Fp%Wl)NyCH>e{P(dS( zsWEjEB>jj)TIkG_T?LsYqoYk4>SWW!+EZr^XP<BFeb)Y&@qOUETYG))`u09&{euuf z2qA<JLI@#*5JCtcgb+dqA%qY@2qA>H+-U{w0A2=qfggdPNTUfg1pERV1l|Xp0d5KG zw*|Nrcoz5o_&$o6*6&c%=3ZbOa62$1u;;og0JZ?Xr!byWzXC4-bDHow2ltU2&B5<+ z;5FdpCj7=S57+@*%Ap~(x&UkjrYG>*iThA46yWy~&<)&>z;7%qz|+8A1vI2q$AA?c zo>$_&#-jb616D^lOvQBEe_YWGsn$Qh>$pCsmMej+QJJEBR%;K?;gRog%))h4MVpUP z571WSw;kA30$*`D09@mldn&+pB`|I2W8ezh=wnX_{8;)Hm}(`zC2CmFW_`60*i-@^ zzS?fRfK>@A>;ql}?gqMmnO1;0%mNnUI?s23lNlyp5ZD&QS{%hr%1m5amjdg7{)8SL zi>r7ZuIKit<REZw3iCd+0#5*EJiYknH1Ig}JMR#z0DkcF@+UC2UL`%A6>K7(S>J5n zYfn#&^d;%O^rTF|%{_cPeN_8!7k-nhCo^tDEfrv|hp#w&0Zhx;^J))Ye*^QYAKL2i z(3`o~pB!w%&gYh~!fn_cUq5c5Bm8Isj?g%#Cx~*o)F?Pgb{+0yW+irB?*w?kDAb>? z?@2=o@Dq)5y9QvlQRtNn%smPm0!ED3d1wgu47e$Sc5X0Y?*zB8(5TQ|flaM7;uWPc zgntRkjF^33?+S%9bscU9R&=uC)Els^;D(xw;thhmX;BGi=wTyP(HbG_B(uYacOKxP zQ7Gg@<{=|i(Yi?37f><cod-B&6bktlbS?G^FH)ZeY%91u^hWUp!CuW<7TDBUBVJKD zhdVhDl6#Dphrr%R+7Q?jz$3t6%F!YJfg28vTbl{QMk96)*b}jV42)e4_)Nr}2Y0~A z`bzH0*ZZX40qndk0k=tU!YHW4xMcV&#vP+-#Px<zcoZ#1C&6bqdUN#y3-Id@SLI^= zf2IPTdiaV{FK|`Po}cpYHA0=?{f8b8jskBp{!C6*%*JgeHap7MOFmnY?YKh)KAzsI zSHbnbS<ecN0QYCqkcqe{{~++Qr<Y;egtRWr980;8bia%?+=-0k<aaD(c@uuyBfn$E zQU(%wh&`496YpTwTfjRd@ZqcOM#&#z8nCYfW-aZ)4dYsYPfFm&(pMxH5X=Dfm%wzK zCfecLZ-A>kbN?S5=y-Yv?WTz({W4w9IEw!Tjo(V(x9JNS)f9O}X&88sWM5GQcX@8O z0KY-6DAkhZCB1&!tg^ESzn!>WaMGb-8fAJ(ua;KaO5St0x7~-E?4&V15}B{Qrn)c# z&x@kE$F8X!C;fiJY21EBH}2}|ZRB)KRR|%35JCtcgb+dqA%qY@2qA<JLI@#*5JHrf Ze*vZZ*MwHhbx{BS002ovPDHLkV1jkyF+l(T literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Menu 2-96.png b/res/icons_textedit/Menu 2-96.png new file mode 100644 index 0000000000000000000000000000000000000000..ac1b02ea621d4ebc3d62865315f262f0001bc46f GIT binary patch literal 393 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U<~kdaSW-L^Y)gv7qg>?+e2f6 z$nGBzD+QEa9hmy#hTEdq1<RP(x4l?Wt+YiY_i=pOIregi9U-k9M;SdQsQ}T+SoH&z z8(8Q4zR95dKx0RErS}7_7Y*kpzHH!55WKZ<jp~O3KMvN<-~G>c)=A#o^8XC3PxR%s zVzs;RpULXaY=ds^Z}xu@uQk@5u1xyHn#1&a+UHYWxGOl{ME8jce49OgL2knRqA;KR z4Vw?_dn)t!bN&A0&wMg$-*hv3@BdrDT5$eddp);|i<$13<2&4V&R^_55N#h_(>D#| zG|x$C>C#e<ic2QsX3WUVfRI4OjLf7N;sR;XQebq8;r0cC+ZWh=NL=T*9RTsv%l;c} zZ9imWQ^0B<BuMcriD#@WH{064$n1cb$r-aPjCRLN51EC41H<$GC2<#nkX1KSPXa@j Ofx*+&&t;ucLK6TOcBxMQ literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Numbered List-96.png b/res/icons_textedit/Numbered List-96.png new file mode 100644 index 0000000000000000000000000000000000000000..0475551eda4c3e192690a02c9dc105a5d66a049f GIT binary patch literal 866 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>VAk|>aSW-L^Y*U2M_8cDv5)H~ zN~9!CV3iE<=5=)3s#+=~C3UN7TUXOG9_2-AIdWF4ZJS`$ER&_RLa}Lysf^1SM-3@1 zm0yn+rK~WOIlAF`@t*bH@67-HtLA}EmEQTkwuh?kpRSE}bO8aCxn>Wv3NBk5@7g5! zg5_7Ez47YvCKtIb@XTS0W1M`3H;z^13Wp5)Jch@A>`O!^I51z}vtigLD7TC2#LdWr zhNJwktWVbT|7u&$RJ4exXC*`OR<0k6HY|Bpf6N4`$YDHuAotJJ3#(?%w+wM8dfw1{ zhWBqgpJ>9Vg-kw{Aq|@CTn0}A7?;Upa<BOQxBaTtoNksN#?GA{3ZfHc;AJjYDyATa z#UQN%Q=D066s=$g21>3HwUCTBr!%ty3_Rk#F->oX`*U5W=1_e~CQC*C{=XMkWfp#G zw_4)o-l(|AR`mnpj;8-5d#|iy+`;D){Qt4k-viSYHHW*J|FkjwES8~VQT?)X()kbR z;o%!Up3YVO(EY(dz47<~<p;b5f<OPxKk!S*f6<w$j{mOlbGE0mf3V#2+~?Per`I`p zgyf!Z|Ka{pb6x3om2mp{7U!0B3$~o7g!l7K+*>&1;Oa%q9|Y#Je%t2qtxwH6R<WFe z|D#(%esIeBlucJeH}T$(kC0}rzRe+SFi&SIL&3ZP#`i`t+ULJ3xat(2{V}_E;RIXB zzI59QmqZJu7aYh;h;Mrw$-gCpRfcUD2m70I6+W*Ur!8w(dtf@N)7f>23Ax7}NAYhF zVco*eJTXD|$Li&4*0Aq-!yVDS|Evu6wZP{e*Rt<g!<}*DK7UthmEYTHx9&vS3#riu zvL3utV&Z+E@2i^ry_5gH^1p9ep1hI!_;5d)Sp@5vO{b5v-)CR5kt-rqyu)77uw%c` zq&ahy{^^yo+{l}<{!$;~eop>+9*YFg4X18>Jj}~m&t;JaWS23<ckX{tcl^Ke{59F- zh0BBd^gVyCyC_<wrg{~aK9+)$mDYh7%71JHykpn4&h3Q6=Ng}SMy+)ha!$Ez>jmZ= N22WQ%mvv4FO#qY(e{lc+ literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Outdent-96.png b/res/icons_textedit/Outdent-96.png new file mode 100644 index 0000000000000000000000000000000000000000..039b67007605414e452e8f3fd644e7289028dc92 GIT binary patch literal 505 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U_9XI;uumf=k4{4zAT0!Ee|IO zXbRa*2w;)iIw6Q#v3A16<EkYN4vZWpRkR&BUYE~{{QX~Lx%&N{gmXebLxAAJV&A$) zJDC?Xob<OTcMvi7+4-EWgGtT);~hrbc#wjIuQuMhO5z`he?Of2!+E`D)zp&MkBO{z z8l$)}Cf!rH8&;E`UcO)()2t=@p5H~~Zyl6fv9&?%rT3-eqwL~$)&I_U%f0*9P1y_| zM&EgbW$aR+4wrv`=x~SNV;26e*Zb~1UK#cO?_}?4OZj{A{#SeIKR<li+D;Qlz5dC1 zz(V}RU&&(@<*R<#p0Riz@>64_#Pd_Xdo1p*(!XMT?wtdFyhHGPi`~p~7d0&V`}hrC z$t)&2Ra=(3=_{G;sorG;(SDQin%->=Vbq_r4ov$`($mu0GV9)h?|r&vwhzDe=$cg@ zelHuH6O-J{o1A^@#w^2aX_?8<U-cwQ&;4qZO@7U1vW(&Sja|%J#UIE;moK=+By{YW z?25GwQ>L%A4)A95)CUS4=Ju$*xr<pg4iacP<c&_-Pr1Vwc;JcpJZlB68Gnuxv%4@( ko?r2<VVXWj4G<LnV4Jh0Y)A8fiZT$_)78&qol`;+0Il@bivR!s literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Paste-96.png b/res/icons_textedit/Paste-96.png new file mode 100644 index 0000000000000000000000000000000000000000..84945f91876ca99325db52091424e28b298aeca8 GIT binary patch literal 791 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>V7lk&;uumf=k46RSt5ZF4*rQj z8CwM3igNqjbNaYkbj=a-4I8hz3kWfB?Q7Hc@tJ{bjd1Q4UMH68N!>Y%j-ETP>BXBf z_hwd?9eaP^I*VELx$=`KySV>8()z$t!Ck}N*Yz{(&l}AG*Ui!f*Bi_aaDJ#hIEP{V zOu4WNO#Kap-QxE4$qyDju-2Hzu-qiR&T{#I$8WANKV<wWXIU!e`Q3Q;_j#ue@L!r9 ze@?JKGu!d}&1HL^PXBC^?byGQp(o=%gWJ*fax&2e_zD<gF8zD-&uo6f?gK}Y-Z56s z-1l4HM*6StT{jQ?o0i5~!RT{BIPP5B$Ge}`FwZyM?bC3#{zu6vs}F{bHmP}G6?do2 zxi|TzKwPOnVEMVQirkJked#y)ow}dw%hI05wBD|~n9X!&#onVVWvx4I?hJic=3aJt z9gw@vtMKWXOZE?c-pt=|dg+TtvU^`nS-(*F=#v`WwX^1PR<Av))OqFn?aQV0MuiNR z(AK75-{SADnT)FT>nV&h#{czFLjPa)2z`r^{>?QxbY64I-fPRctL55_BHyjP!_wEf zBXoZ9gQ`Pu(i<l$uE?MKb=x)52hQw*wR6i4%v{o|*H}99xmIu4%;!2!OSi>082$^| pHP7(!cG<sHw-q>=!06XW`KxQsnYg82kp(7r22WQ%mvv4FO#q8pcTWHS literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Redo-96.png b/res/icons_textedit/Redo-96.png new file mode 100644 index 0000000000000000000000000000000000000000..48f09e5dbeeac8bfaefdbe4214d937d7a0150dd0 GIT binary patch literal 1018 zcmV<W0|oqvP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000BQNkl<Zc%1E> zJ7`ov7==F*O=>k*_=;c<i4X~*R)Q85Dk+SL3Swigm9el9Vj&0y-<6;uh;Oh_1RJpt z6(60(fRBi%NkEKfd}J-Ii?Z%+_U_D`e`fCg!RgPOlbiqU+}XRJD2k#eilQir5<eG# zsnRC$OaXWatPu8*TMB>l6F2}&k+qXQ3MIM+w23;(8KngjfKR}7NmF^ETmePtfObH& z0(3w-V4?zaKxa%X1?YgzkTeD8fX;xl1?YgbOuYp}KcMFWTY+BS67Uol0Nw*5m<4B3 zW56DuA)6T7(F|+`&H;nS2b)&6f!WqmaX>q87#K!AL{kj|-FD;2jxOLX@}XrRuLpE1 za2@%Oveq+TiKWb}Fd66pz91itD|s`Z+kgki2O=fWPtaY&F<?z4GN5~aaYN&=Xav|~ z7H2y4SzbWMx(_TcN;4(<Ggw53`c5*08_nWO$4<+O2vz;SGQ%uWvl{qeXgmg82BsNi znVNa{wMix+=YzIL6Un`<bO4gN1I#rIvR?MqU@%sR4BCI03yfAVXsU<6A(E}?PGCBA zH@Zx`y#ZEP^imgBu^;+ppbuE+z<<3SMFwpt%ds2$IB*(hakz%G9!G&44*gZ-CicP~ zMCNi%<56_bmePs6eV%@j=L8be;_nw89?Uw4o$v>MnU1~x%S8UX7__A{V`qzb2>Fv{ z)%<xeXv@)!dHCbNTGz(Q;QgR2#~I8EIOW`RdAuI9m3W0&_+Nop&Rv(s>p@$N`I!Ip zA9L=yGTsi_N^HZtfJM$-SH{~xTM5&rT~FLwj*Bap6>!kK<+yl^Spgf}TaF9UJ0PF_ z{|CtsW(9bAXf+hZFe||O`)uDaEuhK0<+w22gbV7P+ecnvR={HCjw9m{dK)Ur1<VTQ zb8k5=dNC_Nw;~LQZ8I)7V%v@ml9(RI1j#APuYxPiT}OnChw=qry=&vK&;)$Mynqqp zkEI055$s$A(g(AGWf5^4O$?fA*eRd@d;r$DwI4o9u~$HW<cc~E%yGGh(8=Np8sC7U zK!?M11WVRmQF;L!2e$C{D@v1`tSlgU$gY6clnD*MEe{qKf-++U@YaI``mRjTR}}~s z0LifYCA7E@<b>T07ZjSDu?xKtL<<1eK=SZKdeJ_~IV*v8br_9RBD4TEYBU(T#K_}| zTfHivNGthxb+NYv6zKrYlD`jb-qB9-LZ-Y7YHw)-)&M7f=g0?@y8=pS<^P{Bc}?;w oM$#eXq5wrv6h%=KMN!=F8}!CH3uWJD7ytkO07*qoM6N<$g6!zYCjbBd literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Strikethrough-96.png b/res/icons_textedit/Strikethrough-96.png new file mode 100644 index 0000000000000000000000000000000000000000..e43af9f5f3d5773ad104cb05e1e865a8ff0a33f7 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGoPd!~6Ln`LHy>yVb#Xx|?@l*dJ zqo+v>jkmH_E%_UL*^UpWhGED1JAbBy^Q#<qwtY{P0;Adfr&pOdH~iFHFXz#4HotQJ z^mnfU^7lU8yzTeO%Nzp23Th5M4Ko-F8Izcfuyk<Z7BG*M&D$!yUM`^Fp?RF`0*1r+ zd#W55+wNC<ZJ5vhLFDjJyt)aSZ^#I8y~JC7)xC=6x877-3*vgZ`njxgN@xNA%`ji3 literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Text Color-96.png b/res/icons_textedit/Text Color-96.png new file mode 100644 index 0000000000000000000000000000000000000000..0bde5f12f7d9e500848b2d17c7291caea3792248 GIT binary patch literal 1136 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7Ro>U@`Y}aSW-L^LDoPiqKGr<Mr3Q z?|7^idFf)Hv1ARKs9W<q;e$f%KUq58B(hB8Yr5y?v_4Yotk>GcNwFda!}%x7n>?YV z!>O6Aw3W>(;Mw9UPZP9bp5EL1uX_IG>*d#W-RIwT^WObm|Np-}V3%J1y5X@!9~k-7 zZ<gbjXvM@6$*D6_aaBRGv_J!UuZh@Mp)DVnH(d5ezWB!Ne#8I9NHe3;DP{$1waiQ( z=5$_is%)%!$o@dVAVG1P30s5nmHQ10cQO}jw|KWK@&{wZeTV$QoCQDG{xJJ^>+h6l zYfLr)DzKRoQ|f5rR1Va5`pP2jN7=jXH*7vI=gJ}P2Ue>-ShZG5z5RZ0b>`CP2VWm) z{>yViJ?1;R!HlrFdpt~wk2J@!+GxgzH?V5*J~_vHgxQwQhdnJ|@9)mo|Aj&9Ge2{F zbZ|cw^S`y=ujZ<=MM`HDaA}LZxKaLZb?a;94<SPAGdH(YOsFsXc;$801N(>j{(8!! zoMU|Cm?!akpMUFbrh@F<pFTe`+amD1zxaLfqrI=AOD9;q7ve7vnPGHpZ}>u6>zWLE zM&|>8j~MseU3gsX;XekQyrYiKbey^0_wm_=b=sC~O;jlVCdB_PVaf5S2Rs*^&s=4> zxmd3B#Xi3mTZ3N+H$1O?rBEE_#Qm0S;dSREefeAS(;0sBRwTUYUy=Br<$^v#`PWk} z=k9ciT{AYVdM8j_cR?8FYR<O{BcCt1?X@s{fz&Pj?}uF0t#JNc%lk`C{1@A*_3I{! zef@gy72DqJ-Fx@HI_3DR#@lAW<dF4}uQoZokezYF`S;EY#<v+a{&RgXc3p33I?*_P zQS0VC-KK6wOx<RtIRAEhVDK^F-?CpS=BX<;9BbXRzq@o(GGmm+?A<ZxQXkguxHe7i z`l+t984Gh*=DpZdCwSe;adUfZ*%=q<IT2Sb>;8HteJx4;i_2H%?tQ=8<Tvu~3Kq59 zGQYj{z{aZOrr&E1RNr8iS-n`qYRi6^+!y!ww{BU=;}h9eyCLgsrY3XnmC4zE1JX5e zGU|DM+27624{Wdcq{pDYZH2O>{^FVcOdG|%W`9uRlDxIr`8&g&i4NyCFPg@1XR?F; z>pSgvKc=x%r3IdyA!;iv{33HM|HU)^<^)`RzGzu;irtp^eRflW{Puq3`uZV^LC$x@ z>gP6nd0(Ej>{=GYTP+fMU**cx;(gA>KPNYC>vzd*%&MC!YraUj=BUH{KT^MfYOG&d z<}Z}qbI;+v$b<60`-w)<x8m9Ubf&#)nCQ0RyJBR<l8u7h7kVS-UEaU4d7XE5N|Rje zNi&n+^v3L7leh%?S=WL?KEK(Qu6AqwGUg9^Cm!2)WoF=d(@QU)*{-ix@Kyhepwlw1 l8P<?N6v`Y2qvc}H8MgRKyfT}q0V+=zJYD@<);T3K0RYPKDzX3o literal 0 HcmV?d00001 diff --git a/res/icons_textedit/Undo-96.png b/res/icons_textedit/Undo-96.png new file mode 100644 index 0000000000000000000000000000000000000000..af1befc7b3d8ad682b73385997b2509aa7e9f997 GIT binary patch literal 1041 zcmV+s1n&EZP)<h;3K|Lk000e1NJLTq003YB003YJ1^@s6;+S_h000BnNkl<Zc%1E> zO^8lm6vuxIV?Dk$nAcYm3nN2z6c!d5l6-BfER{mBl8=oI(!^w8fl^44l9h#&gp{&C z$k){5tC8euW-M+KGV{Lo-t*jZp7*}zSO5M0{Lg#ux%avEJ})?q<2a7vIF94k(E?ns zHqodo0bT-w)<znQvA`kV7fJZu07Yg4clZ;$H$agsKp+2y?+qxJp+P%b@ZNxe`FqfM z0~8r<(0T)u7-`UY0~Dw>XuSail4j6)0}3MTp!Eg>W;C!H_<=0^kopMp0?&YlBuC{z zU^6hYm>6uB3f#ax@T__boCP)j<ASH6#5&*u_F+o(9ykWf4I58!NC$1qx&?HGiz+;e zfXCPeRkSVxt${KNLX3m9Xng^80b>H>CnC=sZJBfzm?cgzCuJG5QoRRO3A4<_dXj5u z>i}ZV0Ldvyoi^ZJMzdwsURj*^Xrl3ka5Wu}#hIVQz|#~48$sKIS>|Rua4Chsvg-%1 zOqitzAJEAaVnrIHgbHvI`yecJ8)%jWDZvLc>=CCJfaN61yplpf(E>~WI)F{UQQ(2l zTQz+KrUdk#8|i>9nz<xP&tC){N78u(|EbwZz9O}lO!7b`WCI3(g^D%Qq(b%qt<4JH zZAOpPbXC`WZJJ45%<3o31^~<;d3GG?C}`KUpN_Nx+KMT_iz>dds7u*<YSIj7OWFu? zWBCr_`+{0j8_?EtlAK1QO<1FCJS!s&=omPSyaA`wUFTr90UZO=fN#he@J!vcfWHTH zEOaA33Z`qDmM}D+V_`n>25eS$T{0daYruYe%jMz-vIh8v=R!6jYruVd%jKdSSp%Ny zTP_z9ku~6*zU6Y!jI06Q^evZ*ad-nv@l%j79mpC`SIZGGBE1Z~r*FAjbRlcNIep9J zLb?>OPu+2e@WnV|8g4l{CR%B*2Qsm71^KW4q`K>pupW8%gTQKS<7J=?_=G(CUXq={ zoD76~G3%(Z_qr$KtBL)<99{eM&1#ZGvk>7A0vC1d*Dn>q@AxtREYK{X9+?ju2fh<F z{6Ql7K*O3*{QHSgH{s6n!>O=Ol!`K3Hton8a4oD0s|Q^t*-xnutc#0XZ-7a;(@lYO zfiX*Es{-pHV^u%NmY0QNU1+S@DG4<T)`iBVeqg&O(TrFZ9Fx8RYh`g}$GYfP)B`LP zW|<4?!eh`ilDldXtc$nQ(8jGz;uHl~hhU{>wl1~~LQ_A1Gr+tc$pykX6b<zNhlzCi zdh2kC(i7kWuoB~Qd@ZbllBf@O#s7a{QVE)n<2a7vIF92uP6mDhf;~CdFE3BW00000 LNkvXXu0mjfepK1{ literal 0 HcmV?d00001 diff --git a/res/images/vedder_nunchuk.jpg b/res/images/vedder_nunchuk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..50c10ad7f74f9ea37330ea8c42cf0916a0f45fd5 GIT binary patch literal 16228 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 Ch!Lp( literal 0 HcmV?d00001 diff --git a/res/info.xml b/res/info.xml new file mode 100644 index 0000000..b9fc255 --- /dev/null +++ b/res/info.xml @@ -0,0 +1,542 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ConfigParams> + <Params> + <fw_version> + <longName>Firmware Version</longName> + <type>4</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The firmware version(s) that this version of ENNOID-BMS Tool supports.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + <valInt>0</valInt> + <enumNames>1.3</enumNames> + </fw_version> + <help_can_forward> + <longName>CAN Forwarding</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;When CAN forwarding is enabled, all communication will be forwarded over CAN bus to the VESC / DieBieMS / ENNOID-BMS with the ID selected in the ID box in the connection page.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </help_can_forward> + <master_setting_description> + <longName>Master Setting Description</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'MS Shell Dlg 2'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-weight:600;&quot;&gt;Master Settings&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'DejaVu Sans';&quot;&gt;This area is specific to the ENNOID-BMS Master board.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;This is where you can edit your ENNOID-BMS master settings. It is &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif'; color:#ff0000;&quot;&gt;very important&lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; to setup (configure the cell and pack specific parameters) your ENNOID-BMS every time you connect it to a different battery pack, otherwise the battery pack might get damaged to the extreme where it might end up in fire.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;The BMS settings are stored in their own configuration structure. Every time you make changes to the BMS configuration you have to write the configuration to the ENNOID-BMS in order to apply the new settings. Reading/writing the BMS configuration can be done using the buttons on the toolbar to the right. The functions of these toolbar buttons are the following:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/846930886.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWtJREFUSInt1L9LlVEYB/CPP9I7iFAkpojgq +lOCg0u4COIi0aAipuDQv+Ag4dbQ7ChUSNASNIWLiAjSkEugIAjXSREUU0QMUYdzgpfTe7tXsu1+4YX3P +N/nnO95Hr7PoYoq/hfq/sK14TyzbsE0+rCP0yS/BuN4hiYUy4k34Fvc8Bu9uME13uTs6cJl5BezRG0Jk +Zl447dRMIsfGEUhiU/gEMfpYXkij/FaKL8Pkwn/Ca0YyMQeRJElXFUiMocn8b8G83iU4YtYxctMrF9o1 +8ec8/4Q6cGrJNaB2ST2HsOCGWAKG9ipRORaKHsMF1jAC6wkuV8j/xwPMYJ3eQJQn6y341cQeruJz5Hrz +eSdxfgUfglt/VKpyF3wQXBhaxQ4QWNeYikLV4Lv2EJnFCyJf6nkCkPCdO/dRaRdcFiD8OR0YxA/5fhfG +L7DcrdJ3642PEUzlnEkuKdWmPRdrMuZ6ogbHGBNmeqqqOJ+cAulnEDcgz/2JwAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the actual BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool.&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAbJJREFUSInt002IjlEUB/Cfd8Y0xTsWGjYWE +7MkKZRYqMl3Yulj7CykbC2sbJSsLKSJohEWk0RZiIhYKmUiSmoWamgsNIbxORb3PLpuzzAWdu+/nnru+ +frfc87/0kIL/wuz0Ibb6C18U+jHg5q8fqzBGI5GbI5lOBD/xyvjDvyI4Oq7gUb427A0K3Iu4j9jec0lB +vA9YlbkHT3OCD4VRbdjHDszkjEM40RBMDd890qS9fiCb0FyskjswHm8w+IgGcVhjKAzi92N9zhUktyJ7 +zTeoLtmBF14hVMZSQ8+YFs2kZu4gH05ybzoYg8WYG8NQYVjeBlFRjEb1zAU/h5Moi8naWAR2vEcb3HpD +yTPMB/NOE9hEJuxMC74GvfzpAY+RnDT39GFr1LnFW5JotgVJBel3f5GMiKpYcMMSDbiKSYy2wSu4AiW4 +HKZ1JDmdgYHI2g69GELztb4BqW3dBcvpivQxBNpL6tqLrJV2td1aX+VutqzuM7i/GvxlXE8Cg3hofSQH +knqWYeVkor2K+adYXK6Dkp0SFK+KilpWFLbJukNVOjF6sJWohtrMWem5C208O/4CY0gaupzHd1QAAAAA +ElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool. The default configuration is hard-coded in firmware, and is how the BMS is configured right after uploading new firmware.&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1714636915.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWdJREFUSInt1L9LlVEcx/FXYupYkJhLEDTEx +cmQaKpcjJZoCCLJxMF/wKFFBJeKaG20KFSQtpbGRIlCcGhRiAhJIZUyEH/itdvwnEuPD+c+XC+03Q88c +L7f8/2c9+E533Ooq67/pROZ+CK6I3VrmMGdEL/FSmStuziNRbyvBD2L6+jBNp6G+BI6UcIfPI54z2M/z +I9VAqTVgk0MpHJlyGd8CzVpDWMZP7OQhmqIGU2hDddSuZPoxTiKWUMtkCVMoy+VuyL5XZMxQy0QeIWba +A3xA3zEl1hxYybuQAFNYa4LW9iRdFhZ77CL23iDWxiqdoeFsGAp8z3x7+Dvhdrn+IB+/MIpNGNVFd31T +NKGZcB3Se9nIZexh694EXJRSOxMHuFHGJcwgt+Runks4Bxe5+06BtnAaAB8wkQFbxE3JK/E7HEh8BJze +IiDHP+65GIe5kHy1O7o23YGg7iQ42nAfVytFVpXXcfTX2+vTfc/khePAAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Write BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will write the BMS configuration that currently is in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. Every time you make a change to the BMS configuration in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool you must use this button to apply the new settings. The new settings will be used as soon as you write them to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/14018.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAA/klEQ +VRIie3VvS4FQRjG8Z8TiQvQ6BCdRifR6TYholFKTtRE4QJcgsINuAYn2cIViFKjPfS0QoPCSsbYnZ2zj +tMc/2SyO/s+7/vMZD6Wf0ZgJuqv4ByrHWq94gDXbSYltqJvJ7hKFC9wVr0/YafOKGSI96jt1ej2cYPTK +h7qH7ERinspxwQLWMdyTWweF+MwaWMu7Mx2LDLAPR6w2CbOMTnEdiK+NA6TzQxNkr9ak2+kZnKLS7xl1 +OlhF2s5puE5KXISAoogdxiPoImXEU0a9RNZk+kwiW/oNhr1qS3cx7PP3ZJj0M8dTennVd+llamZHFfPL +n/GL+5w9Iv8aecDId06ZCcBR3oAAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Save BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will save the actual BMS configuration to flash storage. This button must be pressed before shutting down the BMS otherwise the modified settings will be lost after a reboot.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Every BMS setting has three small buttons to the right of its value. They have the following functions:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/719885386.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAApUlEQ +VQ4je2UOwoCMRRFz4iduAOX4AJ0HwqW2YIrcQfpZzYy1rMGG8sB21Gb+yCIUZOJ2HjgwsuHk0cggR8xU +4pQAV6pSggdcFXcWNkS6IGb0msuiznQBTJLp7Vk/BOZxafKHDC8EA5E7nMaEZ6Bneo9sFbdAgfVl9Quj +TrorHm3eZJ7yl/4PWFx7PdYAKuRriNwssGG+Kv4NNvHDu015NKGHRbjDvLBOhzaahdWAAAAAElFTkSuQ +mCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Current Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the actual value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1189641421.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABy0lEQ +VQ4ja3UuWsUUBAG8N9uNCbe8T4LDdqpYGNhBCWQxsZCRMWjEBsbK5vUVv4DBkQR7ETwQkUhoCBBRAQRQ +RuPRDwKC2M0mpCsxcyaZY+sRQYejzfvvZlvvjmYYSk00C/BBqzCbPzCh1y//9d4Cw6gHz8xiVLFmsRXX +MK2ZgiLuIwjiaYfT/ERY5iPTdiN7RjHcVxtZHhnIriO5U0i2YHBdFYjxdxXa8xnPSlgbb2LWVXnfejBQ +wxgCH+wEJvRja2C72llvyD+guBvRG1SJkwlZSB1TRG+xUksRifWoDUdvMc7kZC+dNgU4QTu4qjIarvge +anIbiWAeYKKaQ2+wGhVqCVRSl1Vf3rybhjn03FNyOfwAHtE8a5DG+7gE07gYr79nPsCPFZFQRnhoCjYj +jpRXEv0nXlehidpeAhz6xkcy30Ez3EbZ0WZjCbSshSwCGcSXRdThV2WUxnWPdFu3blaMQdfKt6W8D11h +Qz9n+xKLzc0br1XgscVFboi7osJtF7VxZU0+gM30YtjYgJtwSFRVi9xGHtxK//01UPQgoN4pHZ8vRZ8n +RZlUtaPi85pLxtpNBA6sNFUpwyLJH3DSpGANjzDmwY2Zkb+AmCVfJ8j/k4uAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1350490027.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABiUlEQ +VQ4ja3UQUtVURAH8F8iiOt4lRuJBF/wAj9Drtzk24maguuo71G67xtIayNa5t6lqagrFVMRdGdQ1LPFm +fu8He99mvSHA/fcmf//zJyZM/xn3LvBPoAmhmN/gB38+NeDHmIJR+jgMlYn/i2Fz60ifI4PeIANrGA3b +KNo4xlOMYPVXpGN4zvOMI2+Cp++EDoL3/E6sQaOcY5WJvDE1T0WaIXvcXCvYVG6o+nSv/tYw2/8wicMl +uwzwVnMxQaky173d5qvpWK8wpv4XsiiX8e30OiSn+KRVIBOifAFU1iOSEnFKtDBRwyFRheTcfpcHnopg +89SEVqZbT64L6C/RiDHW0zEgZu9HIuU9+OUZo3fT7yX+jNHM7gHZcFtqfxt1b23j60g5gG1g7udk4q2m +a0Q3IiV42Vw3lXYNKTWOcdYZhuJVcZY+B6paWzSM7oIx1n1T28ufC6kt99F3XBYlvryq9RnO2FruhoOJ +1LKPYdDgYZ0p4euj6/DsFWmedsB+zj2e+44YO+MPwJ2YaVTOqggAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Show Help&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will show a help dialog describing what this setting does. If you are not sure about a setting the help dialog can be very useful.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The full BMS configuration can also be written to and read from XML files using the &lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; menu. This is a good way to keep your settings when going between different &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool versions, to share your settings and to store your configuration in general.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;justify&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Notice that uploading new firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; will reset all its settings to their default values for that firmware. This means that after uploading firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; you have to perform the BMS configuration again.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </master_setting_description> + <slave_setting_description> + <longName>App Setting Description</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-weight:600;&quot;&gt;Expansion Board Settings&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;This area is specific to the slave portion of the BMS, parameters specific to the interfaces and limits of the slave BMS.&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;The BMS settings are stored in their own configuration structure. Every time you make changes to the BMS configuration you have to write the configuration to the ENNOID-BMS in order to apply the new settings. Reading/writing the BMS configuration can be done using the buttons on the toolbar to the right. The functions of these toolbar buttons are the following:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/846930886.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWtJREFUSInt1L9LlVEYB/CPP9I7iFAkpojgq +lOCg0u4COIi0aAipuDQv+Ag4dbQ7ChUSNASNIWLiAjSkEugIAjXSREUU0QMUYdzgpfTe7tXsu1+4YX3P +N/nnO95Hr7PoYoq/hfq/sK14TyzbsE0+rCP0yS/BuN4hiYUy4k34Fvc8Bu9uME13uTs6cJl5BezRG0Jk +Zl447dRMIsfGEUhiU/gEMfpYXkij/FaKL8Pkwn/Ca0YyMQeRJElXFUiMocn8b8G83iU4YtYxctMrF9o1 +8ec8/4Q6cGrJNaB2ST2HsOCGWAKG9ipRORaKHsMF1jAC6wkuV8j/xwPMYJ3eQJQn6y341cQeruJz5Hrz +eSdxfgUfglt/VKpyF3wQXBhaxQ4QWNeYikLV4Lv2EJnFCyJf6nkCkPCdO/dRaRdcFiD8OR0YxA/5fhfG +L7DcrdJ3642PEUzlnEkuKdWmPRdrMuZ6ogbHGBNmeqqqOJ+cAulnEDcgz/2JwAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the actual BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAbJJREFUSInt002IjlEUB/Cfd8Y0xTsWGjYWE +7MkKZRYqMl3Yulj7CykbC2sbJSsLKSJohEWk0RZiIhYKmUiSmoWamgsNIbxORb3PLpuzzAWdu+/nnru+ +frfc87/0kIL/wuz0Ibb6C18U+jHg5q8fqzBGI5GbI5lOBD/xyvjDvyI4Oq7gUb427A0K3Iu4j9jec0lB +vA9YlbkHT3OCD4VRbdjHDszkjEM40RBMDd890qS9fiCb0FyskjswHm8w+IgGcVhjKAzi92N9zhUktyJ7 +zTeoLtmBF14hVMZSQ8+YFs2kZu4gH05ybzoYg8WYG8NQYVjeBlFRjEb1zAU/h5Moi8naWAR2vEcb3HpD +yTPMB/NOE9hEJuxMC74GvfzpAY+RnDT39GFr1LnFW5JotgVJBel3f5GMiKpYcMMSDbiKSYy2wSu4AiW4 +HKZ1JDmdgYHI2g69GELztb4BqW3dBcvpivQxBNpL6tqLrJV2td1aX+VutqzuM7i/GvxlXE8Cg3hofSQH +knqWYeVkor2K+adYXK6Dkp0SFK+KilpWFLbJukNVOjF6sJWohtrMWem5C208O/4CY0gaupzHd1QAAAAA +ElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default BMS configuration from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; to &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool. The default configuration is hard-coded in firmware, and is how the BMS is configured right after uploading new firmware.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; color:#ff0000;&quot;&gt;Warning&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;: All of the BMS settings currently in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool will be overwritten by pressing this button.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1714636915.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAABLDAAASwwFyLQTKAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAWdJREFUSInt1L9LlVEcx/FXYupYkJhLEDTEx +cmQaKpcjJZoCCLJxMF/wKFFBJeKaG20KFSQtpbGRIlCcGhRiAhJIZUyEH/itdvwnEuPD+c+XC+03Q88c +L7f8/2c9+E533Ooq67/pROZ+CK6I3VrmMGdEL/FSmStuziNRbyvBD2L6+jBNp6G+BI6UcIfPI54z2M/z +I9VAqTVgk0MpHJlyGd8CzVpDWMZP7OQhmqIGU2hDddSuZPoxTiKWUMtkCVMoy+VuyL5XZMxQy0QeIWba +A3xA3zEl1hxYybuQAFNYa4LW9iRdFhZ77CL23iDWxiqdoeFsGAp8z3x7+Dvhdrn+IB+/MIpNGNVFd31T +NKGZcB3Se9nIZexh694EXJRSOxMHuFHGJcwgt+Runks4Bxe5+06BtnAaAB8wkQFbxE3JK/E7HEh8BJze +IiDHP+65GIe5kHy1O7o23YGg7iQ42nAfVytFVpXXcfTX2+vTfc/khePAAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Write BMS Configuration&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will write the BMS configuration that currently is in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. Every time you make a change to the BMS configuration in &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool you must use this button to apply the new settings. The new settings will be used as soon as you write them to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;, and they will be stored in the flash memory of the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; persistently.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Every BMS setting has three small buttons to the right of its value. They have the following functions:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/719885386.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAApUlEQ +VQ4je2UOwoCMRRFz4iduAOX4AJ0HwqW2YIrcQfpZzYy1rMGG8sB21Gb+yCIUZOJ2HjgwsuHk0cggR8xU +4pQAV6pSggdcFXcWNkS6IGb0msuiznQBTJLp7Vk/BOZxafKHDC8EA5E7nMaEZ6Bneo9sFbdAgfVl9Quj +TrorHm3eZJ7yl/4PWFx7PdYAKuRriNwssGG+Kv4NNvHDu015NKGHRbjDvLBOhzaahdWAAAAAElFTkSuQ +mCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Current Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the current value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1189641421.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABy0lEQ +VQ4ja3UuWsUUBAG8N9uNCbe8T4LDdqpYGNhBCWQxsZCRMWjEBsbK5vUVv4DBkQR7ETwQkUhoCBBRAQRQ +RuPRDwKC2M0mpCsxcyaZY+sRQYejzfvvZlvvjmYYSk00C/BBqzCbPzCh1y//9d4Cw6gHz8xiVLFmsRXX +MK2ZgiLuIwjiaYfT/ERY5iPTdiN7RjHcVxtZHhnIriO5U0i2YHBdFYjxdxXa8xnPSlgbb2LWVXnfejBQ +wxgCH+wEJvRja2C72llvyD+guBvRG1SJkwlZSB1TRG+xUksRifWoDUdvMc7kZC+dNgU4QTu4qjIarvge +anIbiWAeYKKaQ2+wGhVqCVRSl1Vf3rybhjn03FNyOfwAHtE8a5DG+7gE07gYr79nPsCPFZFQRnhoCjYj +jpRXEv0nXlehidpeAhz6xkcy30Ez3EbZ0WZjCbSshSwCGcSXRdThV2WUxnWPdFu3blaMQdfKt6W8D11h +Qz9n+xKLzc0br1XgscVFboi7osJtF7VxZU0+gM30YtjYgJtwSFRVi9xGHtxK//01UPQgoN4pHZ8vRZ8n +RZlUtaPi85pLxtpNBA6sNFUpwyLJH3DSpGANjzDmwY2Zkb+AmCVfJ8j/k4uAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Read Default Value&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will read the default value for this setting from the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:1; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1350490027.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABiUlEQ +VQ4ja3UQUtVURAH8F8iiOt4lRuJBF/wAj9Drtzk24maguuo71G67xtIayNa5t6lqagrFVMRdGdQ1LPFm +fu8He99mvSHA/fcmf//zJyZM/xn3LvBPoAmhmN/gB38+NeDHmIJR+jgMlYn/i2Fz60ifI4PeIANrGA3b +KNo4xlOMYPVXpGN4zvOMI2+Cp++EDoL3/E6sQaOcY5WJvDE1T0WaIXvcXCvYVG6o+nSv/tYw2/8wicMl +uwzwVnMxQaky173d5qvpWK8wpv4XsiiX8e30OiSn+KRVIBOifAFU1iOSEnFKtDBRwyFRheTcfpcHnopg +89SEVqZbT64L6C/RiDHW0zEgZu9HIuU9+OUZo3fT7yX+jNHM7gHZcFtqfxt1b23j60g5gG1g7udk4q2m +a0Q3IiV42Vw3lXYNKTWOcdYZhuJVcZY+B6paWzSM7oIx1n1T28ufC6kt99F3XBYlvryq9RnO2FruhoOJ +1LKPYdDgYZ0p4euj6/DsFWmedsB+zj2e+44YO+MPwJ2YaVTOqggAAAAAElFTkSuQmCC&quot; width=&quot;20&quot; height=&quot;20&quot; /&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Show Help&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;. This button will show a help dialog describing what this setting does. If you are not sure about a setting the help dialog can be very useful.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The full BMS configuration can also be written to and read from XML files using the &lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;File&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; menu. This is a good way to keep your settings when going between different &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; Tool versions, to share your settings and to store your configuration in general.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Notice that uploading new firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; will reset all its settings to their default values for that firmware. This means that after uploading firmware to the &lt;/span&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;ENNOID-BMS&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; you have to perform the motor configuration again.&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </slave_setting_description> + <data_analysis_description> + <longName>Data Analysis Description</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif'; font-weight:600;&quot;&gt;Data Analysis&lt;/span&gt;&lt;/p&gt; +&lt;p align=&quot;center&quot; style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-weight:600;&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;Here you can stream and plot data from the ENNOID-BMS to analyze what is going on. Next to all plots the following buttons are available:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1804289383.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAOtJREFUSInt0j9KQ0EQx/FPTODlIMY7iIXWg +VgoSmzEE3gEsRDvoCm0Tx0lJ/AUsbW0TUCfFhkhLlmeAcv9wrAzO39+u+xSKBT+k0P0w+9H/Ce2GvJdn +KBCB+3Yb0dcRb67qUgL+xjhDedYZPoXuIi6EQ6iP0sPN3hFja+w08gfYRD+IGI4W6mto/8WO6nANT5Xi +lftCQ+YJiLT2H/O9NUx9xfbuMIsucmw4SbDZPAshvdSgZRd3OMdkwaRSdTdYc+aN+lkRF7CLmNglamr8 +IhjzHMnzon8MMc4/A/LdxNry/J3jdf0FQqFDfkG0GlAe84ws98AAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;img src=&quot;data:image/1714636915.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAzBJREFUSInF1k9oHGUYx/HP7O5sNptNVo20E +T14KqKmeIg9Bbx4LygR9ObRUsFDaQ8e7NGCVG/qSbyoPdR4EhQ8VOjFHoQUUYoHRYXYvybZ/7uz42HfN +5mkMS0o+MLDDDs7z3d+z7zP75nEvVYuQQmVcEyQY4wMmUR+UIrkgOQlVFELx3QfyBAD9DCQGN8/JFfFD +KZDVEOUCvdkATBAN0RbYrA3XWUfwDRm0UA9xFRQUikoiZA+OiFSuS2J7j9DJoAm5gIkgmLJipCRnVIVr +5fkFEGVAqAaFMwF0GyIWLYpOy9/HCD9UKZ4rRyyjeWyWLpKAJRCsvj0s3sUzRRKFiHDAGkXfhfKOMJQb +iQxjkqq4WnrBcjcHlAtgGK5+qFU1V0Kdpexi14l9EGtAKkXVO2U7n1H1KRedd1HDukZes21AiArqIuAm +ly/FGTGLTpVAM7Y0HTOUS3zSmZVNPGwiqaSWS3zzjlqQ7Pw7qLiqagydnIqNlxmyruesmzFgpNWLWqoS +82omAuQOakZDXWfW7TgpGUr3vG0bDt5GqIcd0vJOY+74CXXPK/tkLhe8RumlU1JNTAtVTaQYdrLfvedR +1y25LIlZ113xDdedMGbbk/y5+oOOx9eWn5XHLPuuHXLNl20Kdd10aZlW45bd8z6vvcxdth5uXrZWRWnr +Km7ZNPQhgUDjW0lp/zoPX8oS6VST+r5QW7RbW/7WVvXVx7d/n/Dn56x6nVv+cIqOpWgYOy0X532scyXP +rTkM8+5YtEnHvOG72X6hlpoG5qRhUb81BNqep511YpvnXBF2U3cjLkr240z2dtDZX0n/OSEGzZc8oGjW +jqG2lIj3DGSGepr6XjBVV9b03QDt8IWHoScQ2RRSXTT4h5va6o6Yw2zxuaN9HDTSMnYUMMtZ/yCDZPO7 +4b7+wVYNrHtXA0PFeJBPOD+Or6FzQD6C3dwezsSvWgrcSZ0FN10sqKlH+RdEbQVzjshX8EgE2P5ttHtd +tNJsp6DXbgdABEy2SBhUu5YfWIgt+VuN+279zzpFJJPFBUm5O6hleiGT4K9bnq/k7EVAN3dafdb//GM/ +x+/VnbD/vV3198lXlrK5rk7bAAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;If this button is toggled active (green), scolling with the mouse on the graph will zoom the graph horizontally.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/719885386.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAARFJREFUSInN1DFKA0EUxvFfVDBipa1l9BbBG +1ioWMbeM4jYCnZeII1dChHPolXwCpvOFCZa7CwmC4lvTBb8wzI7s/PNNzvz3uOfctO0wREmOMwRbWSa9 +JKml6kL08I7vlLbasLkGNNkMk39EDnHdeln963UXys7GCn/onpGaEfEm0GTM+zhFru4xj4+8Ja338Vsz +7z3F4wvZCsw57Q27wAXM/1PPK1qMjZ/rA+175PAGs0TSagTywNkgpdlC+SWFbj6gybEStEVzZNz3CnLS +Te198o8eQ2u8SttFOYzvhDM+OidjDGojQ3S+Fqpjqmqwt11G1QMk8kwR5Qbwo+1thE6yuTr5IiiIVxRK +O/jOVPXPN97eDNuBsQAEwAAAABJRU5ErkJggg==&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;img src=&quot;data:image/1649760492.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACKaAAAimgG+3fsqAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAzdJREFUSImN1rtvXEUUBvDf3bu7Xtu7Xju2C +YiGDslSkBLJQAGUqSlwh0SDRBOEBEi0UEJFnKRD/AMxEgVVSuo0KFKI6CgQAePH4td6X5fiznhn18bJl +T7Nfcz5vnPOnDlzM8+6ChnygAoyFBhhiKFMcRlF5RLyikIDbVzBCla85Kuz+/J9W6Gh+H+uiz8U6gn5c +sCKr93w1Ge+cT0RWk7E6s8nUpjFIpYSkZJwy3vI3LeRCESRJSwG+4mreoFAGwtoBsyhYWjGr26CJ24a+ +knuFF00UA98FQUyJ+cjKUNtBYH2uWg2veHIKji06o7Xz0UxdrCVpq4SBCqYT7xvTQkt+8HbysqCzJZ3g +kgq0Eo45mMxxEjqmA2piSIxoiW7XvDQtYnUPnTNntUgMo5gnOLZwCsP+6CZkMYxRtK26TV7FnzuiX1VX +3hsW92xzFs6QTbum0FAH31fOs0UcmmZju9jvhcdWtYM3r1rzY8e48ShY0072McudqbwD3aryoqohdDiO +BPQcNerKlpq5uQadsz73iuGuvqOjay45ZfEpp5w1ZBXw7pEVBPUMKOlKldXM6um6VOFQktfpm9gqBrIa +4lt2oYq1VAx04iimQ/8HfKdhwWt4SRgL6Rk0iatQrKqstlNYxRQ+M5VFW1186pyub6h3MCcnitGch+eO +TJKOMT7SvJxlFRGrI5TQz0DXQNHBjo2MdAJz11DPZyG+dF2GDDCqJoQ9pLxNODER36bqK4t8973+1R1d +RObXsLVxzBG0kvIuyHfRwEH7lnwputua/oT32pad8M9CzjAYZh7coHgMAuZayj3RMRkL+poe9EtXQ3xa +uh66q62Dv5FR7lf9pR7pkSmG9tKL3hxHLw6SAz3tG1b90h6rXukbTuQRqEY1XHg6xF7V2YUwj0MmPZsx +4afJ0TK553wfT/MP0g4jgLvWT0Labv8PFl026Grmv6y75PkPDk27eCF50kpeZJEEPtR2ZNy29Y8AGsey +G2HSOKcaDMhcF5kLJQuYGx0OzbcxyiM4/flvDJtUwLn0zWZuoqy0cWjtYaKl33sD3eUpR/3VRe9uAbPL +zIWi30pNtP0v2uA0bP+u/4DiYs9rS0c1UcAAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;If this button is toggled active (green), scolling with the mouse on the graph will zoom the graph vertically. Often it is useful to deactivate this button and only zoom in the horizontal direction because the sampled data can be squeezed together horizontally for long sampling sequences.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACdjAAAnYwEdzQRDAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAS5JREFUSInd1j9LA0EQh+EnEr+BYBdJKrFST +KGIimhh52cTLMReBEH80ymCjZ0INlqpRToLeyHqWeSCe6fEy92mcWDgbmbn93J7s8PWkBixjY0aAPXge +Q2diNoNXOUhHTxHEJ/EWxiIuV3T2MM9xvPJJPVWSfElnOIj1dlO461AuxSkhi1cB/UJupiKAVnEQ0687 +/vBukqQut4WHeEzqP/EbCxI35p4DOrPc/nKkKbeGWjgOK1fjwkJAbCMm1/WFYa0ZXs+D5Dm21Ugt1gZA +BhkhSAbafykBKAw5MJ3az4NCSgEmZM9AwnOsCo7VCtBDnKAvt9hIQakpTeDwpN8ic2C4oUgO+n7Ow4xP +6T4n5AJvGJX+dH/A5L/iV3M4KUiIGMhJGzRql+R0av5L1eiL2cWjCtk8xZ0AAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;img src=&quot;data:image/424238335.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACdjAAAnYwEdzQRDAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA4hJREFUSImt1k9oHGUYx/HP7k5mN5tNWlttS +lsKKbbRixDBg5aihVKsiHrRo1QFQax/yEEvnjyVHvSQg4gXEaSCetBD25PtoVTRQw6emv7D0EBDbRubZ +Jvdzc56mHdmh9jUgr7wMC8z8/6+7/M88z7PlNBzr1FCGVG4lsKKBN1g91YQrfukjBi1cB24C6SDNlbCN +fl3yH7Mgj1iE+q2qxlVVRcbMqCsrKSkrKcjsayjqW1ey5wV05pmtIPeTpxeC5nFZT2DGA57qwdbDb5EB +V+64Z0WmsGW7Fd3xsL64UoBGzCCRrB6IWhFyGohWDUfGzflZTccdMhjTt4NskccPBgJoOFgQxhEVT/9S +YC0HLPDlEOuegJlW33lhLZxDTNFSBkT6mFnjSBe9GgoQNL0r+o5aswXnjJrLN9oSddHvkXDhLqL6XZSS +IztaiE0GWRkDaiGqu+MesfTrtlk7djlrLfdJnw0cRrMslJYPqqqn+ihIJyBNmIzNnsBn/ndPlfXIHo+c +CrXGFVVSzMY5eehLg5xroUcZKDhABnGoFjFS7oedsEBG81rgN1mvOl67vGIWIwKZVGI9JCBMItD/Kthw +VAhR5vxoPO2OuxxP/nNXnPgXefCmhixqgEDKST1JLWseGQ2UIBlZ2eji+pe03DcFbsx6ZI5kSOuFtZWw +tGlTKSUxk2pMMuwP3jIQRWDKohcVPeGB3ztVvimKg65qeJsvibTSPqKZT2C9WckEj3v2eeETeg6r+RVD +V+6ZUxTWrm6BnW86Lr07CS5RrmvGOWPkvyApTZlhz9s8YmOcTMO2+a4K8by076IO9Ky0grQbH1XJygmR +FbD42Ud/braMuVJcM52B2xwxq92K6Wp1A2ARSxLS0sGa6OtJQq+KkvC7WZe7FZ8botL9uQnYF7D6x7xv +Yq2G/gTN7EQQEsBdicH3tbWziC9cHu+UE2PeTYksD9+ts37HvUjuBFsAX/hdgGUasxrWclyIngyZwVNn +xpz2d6CfM8uF7zlF5NmQ43IWlYrCC8FUOZV05w46ywpJMF06AdHvRLinhhzzqRTjrhmvSqchmg5ADLIk +mlx1in7pX5G23Ni1z1vi+M+9I1JC+6vnzRz8cyjmVBurG1aJy16xoTTmvoNa0W/zP97Z2RRyZ2ibBGyE +5zBuE332eMjTZF5kTmxaXHBg52ZcLarf47/8W9lfUjxjf/43/U3pE5Iq8YBubkAAAAASUVORK5CYII=&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;This is the auto fit button. If the toggle verion of the button is active (green), new realtime data that drops in will cause a rezoom in the graph to fit all data. Deactivating this button can be useful of you want to zoom in on the realtime data manually while samples are dropping in.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAACXBIWXMAACdjAAAnYwEdzQRDAAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAS5JREFUSInd1j9LA0EQh+EnEr+BYBdJKrFST +KGIimhh52cTLMReBEH80ymCjZ0INlqpRToLeyHqWeSCe6fEy92mcWDgbmbn93J7s8PWkBixjY0aAPXge +Q2diNoNXOUhHTxHEJ/EWxiIuV3T2MM9xvPJJPVWSfElnOIj1dlO461AuxSkhi1cB/UJupiKAVnEQ0687 +/vBukqQut4WHeEzqP/EbCxI35p4DOrPc/nKkKbeGWjgOK1fjwkJAbCMm1/WFYa0ZXs+D5Dm21Ugt1gZA +BhkhSAbafykBKAw5MJ3az4NCSgEmZM9AwnOsCo7VCtBDnKAvt9hIQakpTeDwpN8ic2C4oUgO+n7Ow4xP +6T4n5AJvGJX+dH/A5L/iV3M4KUiIGMhJGzRql+R0av5L1eiL2cWjCtk8xZ0AAAAAElFTkSuQmCC&quot; width=&quot;25&quot; height=&quot;25&quot; /&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt; &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Sans Serif';&quot;&gt;This is the non-toggle version of the auto fit button. Pressing it will zoom the plots so that all data fits in them.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-weight:600;&quot;&gt;Realtime Data&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;The realtime data page can be used to stream and plot filtered data continuously, which can be useful for visualizing things in real time while they are happening. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt;In order to stream realtime data, the &lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu'; font-style:italic;&quot;&gt;Stream realtime data&lt;/span&gt;&lt;span style=&quot; font-family:'Ubuntu';&quot;&gt; button in the main toolbar to the right has to be activated:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Ubuntu';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;img src=&quot;data:image/1681692777.PNG;base64,i +VBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAGXRFW +HRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAABRdJREFUSIm111+MnFUZx/HPO/POOzM7u93Wb +jFtt40RApRWYsIFBm+8hCipUYxcKFygwQskVqsXxP9S/8RN1gRso60Ua0hpiDE0Jpgof7RcaKxpMJAAp +qloQSOpbdndme78eV8v3vPOvLO7unrhSZ6LOXPmfM/vec7zPGci/8vIVFBFBdFwlhQDkfS/3Spad0UOq +5UsDuBKWJEG66M3tHUOUQbHeBIz4fNAxTm7HPGil0z6kZ5ZkWiILEaKSN/nfMqD/oJlXEFXJFtPW4LX5 +a4bWaTtTneoO7fqu3Hr+5ZbZa6V2SmzRaYVPLZqxGvMpWpeEKnpuk6m6Wn32+gNHUQiPS1tM2oWtVwIm +gau1sR0EFGEpSqzJDJYD9zzE3f6KPa6zUnzLrnRP9xtoyoS93qvH7rPbn9wxmEM0JXHtwyuKsKZWSzHf +eSGa0rx3qyFSV/3stiSVMM5W7ERG7W0QnASbBrO59ANmAo2GayFpmzEGCn+kMR3RYg0tVBRM6VInYapo +CwJ31NXD8B+UHzF+M3Ptea/6wdbHoEzFU9oiMIdbGmias4t+pqmXHa1Wjh9XSOAa0PFvbBhsgKaBmiRZ +l1ZnmqF4pot6iKRVM0tHhWJtc0g8h6vSExiAg0NEysU90pqy9BCZbfkkStYHoE3Swiu7tg2DEFT2yG/L +cVqQi0ojoeKl/8NtFcC1oPVsFwZVqZELYQ+NeuPtjmLVEfTs3YG6BQ2SILiZKi4uFCt4JUmGgGUGN3y3 +DKVovbGqmJEKgaeM+91cz7gOUR+4KawYQ6PAzhXPL0CuhI4yukTNvuzOqpFza0YqA4ve0WM2DecVtPzg +m3Omg6bttQ0SuAC2iy5srjZcRBWdcx2n/R9B2wnVxyhIhmr2/ncu7Xt8lc9seNmw4aJiiSAawGYlCAjW +CHqmB0+4yvucsBhbyBas46Ojff7Ezhp67pr1xqPmfV59/mSb3s47BVOlPfT7lgXGfXYTzgr1nfG27ymg +q5UF/T10JHf3L5RoRhg4KgdvuDjDpqzz2tGLTSrDD9UDUR6Ij3pMP/63mnBHudlMidMY0mqI5bK02gBS ++EAy4piccQOX3W7H3vIh/09HKYAp1FIp2ls8rK3a9po1oSqaUX9bduka1pdS1NTX1NHoibTGKpeCodY8 +LAt5t3kZw660XlcKtlFXI5FUlk45fUWjC5G0cwTE2ohgfKiEFs2pRrCMghr21gyZ4cjdnnKYde6YFS1x +l4nxeUqam23BOwY6PiOnVJLWAyKLodTjymQWvA17/Co6zzjkQDthL2WS9Zj1J16ygqL9Pismx2z12lnP +OF54zW5rLhnvz2etd0zjrrKxeCBdoCXD9CjqK15g75SWtR21LTH3eY3vuhVk+53Q1BbqMwtdck99jhlx +q894ioXgncW14SHx0A5j7vDhb8zsM8++815l7/5lUN+bleoOiMXpy66w81e0nLKERv8E28FK+BLpQN0C +9j48za/4ZM2mXeNV/zeLxVF/7QZt3vAgx5zj/N6qm71ER2Zpx3XHN6RwnPtAF0cWunps/pdnfiY2Pu86 +csmNBla3QmzPu0Bh3zPAR9U95bnHVcda4HLYyHL4aseeyvBN+Ahu+31oszqFlez324HfdNuTzrlcY1Qp +Ub9d5QVRXzXeNyXwVM4iXvxaniYJSVo0Xli87ba583wu5X/JIq0+Y8P+jL4MH6Bn46t+D/9hSmP69ddk +anI1GTqMo1g9TC3fqcrjX8Bmh7iKXvL0NIAAAAASUVORK5CYII=&quot; width=&quot;30&quot; height=&quot;30&quot; /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </data_analysis_description> + <gpl_text> + <longName>License</longName> + <type>0</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;GNU GENERAL PUBLIC LICENSE&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Version 3, 29 June 2007&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Copyright © 2007 Free Software Foundation, Inc. &amp;lt;&lt;/span&gt;&lt;a href=&quot;https://fsf.org/&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; text-decoration: underline; color:#0000ff;&quot;&gt;https://fsf.org/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;Preamble&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The GNU General Public License is a free, copyleft license for software and other kinds of works.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The precise terms and conditions for copying, distribution and modification follow.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;TERMS AND CONDITIONS&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;0. Definitions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;This License” refers to version 3 of the GNU General Public License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Copyright” also means copyright-like laws that apply to other kinds of works, such as semiconductor masks.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Program” refers to any copyrightable work licensed under this License. Each licensee is addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To “modify” a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a “modified version” of the earlier work or a work “based on” the earlier work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “covered work” means either the unmodified Program or a work based on the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To “propagate” a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To “convey” a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;An interactive user interface displays “Appropriate Legal Notices” to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;1. Source Code.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The “source code” for a work means the preferred form of the work for making modifications to it. “Object code” means any non-source form of a work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “Standard Interface” means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The “System Libraries” of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A “Major Component”, in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Corresponding Source for a work in source code form is that same work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;2. Basic Permissions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;3. Protecting Users' Legal Rights From Anti-Circumvention Law.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;4. Conveying Verbatim Copies.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;5. Conveying Modified Source Versions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; a) The work must carry prominent notices stating that you modified it, and giving a relevant date.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to “keep intact all notices”.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;6. Conveying Non-Source Forms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “User Product” is either (1) a “consumer product”, which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, “normally used” refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Installation Information” for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM).&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;7. Additional Terms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;“&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; d) Limiting the use for publicity purposes of names of licensors or authors of the material; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;•&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt; f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;8. Termination.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;9. Acceptance Not Required for Having Copies.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;10. Automatic Licensing of Downstream Recipients.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;An “entity transaction” is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;11. Patents.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A “contributor” is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's “contributor version”.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A contributor's “essential patent claims” are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, “control” includes the right to grant patent sublicenses in a manner consistent with the requirements of this License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;In the following three paragraphs, a “patent license” is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To “grant” such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. “Knowingly relying” means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;A patent license is “discriminatory” if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;12. No Surrender of Others' Freedom.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;13. Use with the GNU Affero General Public License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;14. Revised Versions of this License.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License “or any later version” applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;15. Disclaimer of Warranty.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;16. Limitation of Liability.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;17. Interpretation of Sections 15 and 16.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;END OF TERMS AND CONDITIONS&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; font-weight:600;&quot;&gt;How to Apply These Terms to Your New Programs&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the “copyright” line and a pointer to where the full notice is found.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;&amp;lt;one line to give the program's name and a brief idea of what it does.&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;Copyright (C) &amp;lt;year&amp;gt; &amp;lt;name of author&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This program is free software: you can redistribute it and/or modify&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;it under the terms of the GNU General Public License as published by&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;the Free Software Foundation, either version 3 of the License, or&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;(at your option) any later version.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This program is distributed in the hope that it will be useful,&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;GNU General Public License for more details.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;You should have received a copy of the GNU General Public License&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;along with this program. If not, see &amp;lt;https://www.gnu.org/licenses/&amp;gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;Also add information on how to contact you by electronic and paper mail.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode:&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;&amp;lt;program&amp;gt; Copyright (C) &amp;lt;year&amp;gt; &amp;lt;name of author&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;This is free software, and you are welcome to redistribute it&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot; font-family:'Courier, serif';&quot;&gt;under certain conditions; type `show c' for details.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an “about box”.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;You should also get your employer (if you work as a programmer) or school, if any, to sign a “copyright disclaimer” for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see &amp;lt;&lt;/span&gt;&lt;a href=&quot;https://www.gnu.org/licenses/&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; text-decoration: underline; color:#0000ff;&quot;&gt;https://www.gnu.org/licenses/&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;&amp;gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; line-height:100%;&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read &amp;lt;&lt;/span&gt;&lt;a href=&quot;https://www.gnu.org/licenses/why-not-lgpl.html&quot;&gt;&lt;span style=&quot; font-family:'Helvetica, serif'; text-decoration: underline; color:#0000ff;&quot;&gt;https://www.gnu.org/licenses/why-not-lgpl.html&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; font-family:'Helvetica, serif';&quot;&gt;&amp;gt;.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;br /&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + </gpl_text> + <wizard_startup_usage> + <longName>Usage</longName> + <type>3</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif'; font-weight:600;&quot;&gt;ENNOID-BMS® Tool&lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt; and the &lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif'; font-weight:600;&quot;&gt;ENNOID-BMS® firmware&lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt; are experimental software designed to develop and test electrical systems incorporating Lithium Ion batteries. Electrical systems can cause danger to humans, property and nature; therefore precautions shall be taken to avoid any risk. Under no circumstances shall the software be used where humans or property are put to risk without &lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;thoroughly&lt;/span&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt; validating and testing the whole system. Software and hardware interact in various ways, and software developers cannot foresee all possible combinations of hardware used together with their software, nor problems that can occur in these different combinations.&lt;/span&gt; &lt;/p&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;Things that can happen, even when using the correct settings, are&lt;/span&gt;&lt;/p&gt; +&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;electrical failure&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;fire&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;electric shock&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;hazardous smoke&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;overheating motors and actuators&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;overstrained power sources, causing fire or explosions (e.g. Lithium Ion Batteries)&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;motors or actuators stopping from spinning/moving&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;motors or actuators locking in, acting like a brake (full stop)&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;motors or actuators losing control over torque production (uncontrolled acceleration or braking)&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;interferences with other systems&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;other non-intended or unforeseeable behavior of the system&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;ENNOID-BMS Tool and the ENNOID-BMS firmware are developer tools that for safety reasons may only be used&lt;/span&gt;&lt;/p&gt; +&lt;ul style=&quot;margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; -qt-list-indent: 1;&quot;&gt;&lt;li style=&quot; font-family:'arial,helvetica,sans-serif';&quot; style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;by experts and experienced users, knowing exactly what they do.&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;following safety standards applicable in the area of usage.&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;under safe conditions where software or hardware malfunction will not lead to death, injuries or severe property damage.&lt;/span&gt;&lt;/li&gt; +&lt;li style=&quot; margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'arial,helvetica,sans-serif';&quot;&gt;keeping in mind that software and hardware failures can happen. Although we design our products to minimize such issues, you should always operate with the understanding that a failure can occur at any point of time and without warning. As such, you shall take the appropriate precautions to minimize danger in case of failure.&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + <valString>Important usage information</valString> + </wizard_startup_usage> + <wizard_startup_warranty> + <longName>Warranty</longName> + <type>3</type> + <transmittable>1</transmittable> + <description>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt; +&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt; +p, li { white-space: pre-wrap; } +&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Ubuntu'; ; font-weight:400; font-style:normal;&quot;&gt; +&lt;p style=&quot; margin-top:12px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;LIMITED WARRANTY STATEMENT &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1. Warranty&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.1 THERE IS NO WARRANTY FOR THE ENNOID-BMS® SOFTWARE (ENNOID-BMS TOOL AND THE ENNOID-BMS FIRMWARE - PROGRAM FOR SHORT) TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.2 Kevin Dionne and contributors (the publisher(s) for short) shall not be liable for any defects that are caused by neglect, misuse or mistreatment by the Customer, including improper installation or testing, or for any products that have been altered or modified in any way by the Customer. Moreover, the publisher(s) shall not be liable for any defects that result from the Customers design, specifications or instructions for such products. Testing and other quality control techniques are used to the extent the publisher(s) deems necessary. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.3 The Customer agrees that prior to using any systems that include Open Source ENNOID-BMS® Software, the Customer will test such systems and the functionality of the products as used in such systems. The publisher(s) may provide technical, applications or design advice, quality characterization, reliability data or other services. The Customer acknowledges and agrees that providing these services shall not expand or otherwise alter the publisher(s) warranties, as set forth above, and that no additional obligations or liabilities shall arise from the publisher(s) providing such services. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.4 ENNOID-BMS® software products are not authorized for use in safety-critical applications where a failure of the Open Source ENNOID-BMS® software would reasonably be expected to cause severe personal injury or death. Safety-critical applications include, without limitation, life support devices and systems, equipment or systems for the operation of nuclear facilities and weapons systems. Open Source ENNOID-BMS® software is neither designed nor intended for use in military or aerospace applications or environments, nor for automotive applications or the automotive environment. The Customer acknowledges and agrees that any such use of ENNOID-BMS® software is solely at the Customer's risk, and that the Customer is solely responsible for compliance with all legal and regulatory requirements in connection with such use. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;1.5 The Customer acknowledges and agrees that the Customer is solely responsible for compliance with all legal, regulatory and safety-related requirements concerning the products and any use of the publisher(s) softwrae products in the Customer's applications, not withstanding any applications-related information or support that may be provided by the publisher(s). &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;2. Limitation of Liability &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED THROUGH THE GNU GENERAL PUBLIC LICENSE (GNU GPL), BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;This section will survive the termination of the warranty period. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;3. Consequential Damages Waiver.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;In no event shall the publisher(s) be liable to the Customer or any third parties for any special, collateral, indirect, punitive, incidental, consequential or exemplary damages in connection with or arising out of the products provided hereunder, regardless of whether the publisher(s) has been advised of the possibility of such damages. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;This section will survive the termination of the warranty period. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;4. Changes to Specifications.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;The publisher(s) may make changes to specifications and product descriptions at any time, without notice. The Customer must not rely on the absence or characteristics of any features or instructions marked, reserved or undefined. The publisher(s) reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities arising from future changes to them. The product information on the Web Site or Materials is subject to change without notice. Do not finalize a design with this information. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;5. Statutory laws. *&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;(i) some countries, regions, states or provinces do not allow the exclusion or limitation of remedies or of incidental, punitive, or consequential damages, or the applicable time periods, so the above limitations or exclusions may not apply.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;(ii) except to the extent lawfully permitted, this limited warranty does not exclude, restrict or modify statutory rights applicable to where the product is sold but, rather, is in addition to these rights.&lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;(*) European Consumer Centres provide information on EU-wide consumer laws as well as consumer laws for specific countries: http://ec.europa.eu/consumers/ecc/contact_en.htm &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Times New Roman,serif';&quot;&gt;&lt;br /&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;The LIMITED WARRANTY STATEMENT is released as Creative Commons Attribution ShareAlike 3.0. &lt;/span&gt;&lt;/p&gt; +&lt;p style=&quot; margin-top:0px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-family:'Times New Roman,serif';&quot;&gt;This means you can use it on your own derived works, in part or completely, as long as you also adopt the same license. You find the complete text of the license at https://creativecommons.org/licenses/by-sa/3.0/legalcode&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</description> + <cDefine></cDefine> + <valString>LIMITED WARRANTY STATEMENT</valString> + </wizard_startup_warranty> + </Params> + <SerOrder/> +</ConfigParams> diff --git a/res/language-eng.png b/res/language-eng.png new file mode 100644 index 0000000000000000000000000000000000000000..9a02a3a3a2c7ccebd8bbb4e58bc70fd1bc6c2dc1 GIT binary patch literal 11778 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 literal 0 HcmV?d00001 diff --git a/res/language-russ.png b/res/language-russ.png new file mode 100644 index 0000000000000000000000000000000000000000..f07d85c8607f202cffee8abf0ce73befdac421d1 GIT binary patch literal 3533 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 Hu0mjf7$%F( literal 0 HcmV?d00001 diff --git a/res/logo.png b/res/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..aa72cc21c8617952d12cae86edb2d34ff7fbd3df GIT binary patch literal 22681 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 C$86^S literal 0 HcmV?d00001 diff --git a/res/logo_white.png b/res/logo_white.png new file mode 100644 index 0000000000000000000000000000000000000000..3dcea953fc01c0808fa047f300051e2406f0eeff GIT binary patch literal 32865 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 literal 0 HcmV?d00001 diff --git a/res/menu-akb-monitor.png b/res/menu-akb-monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..524d6c6060839b09329add70683a72b5780bc35c GIT binary patch literal 4660 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 literal 0 HcmV?d00001 diff --git a/res/menu-cells-monitor.png b/res/menu-cells-monitor.png new file mode 100644 index 0000000000000000000000000000000000000000..022b85e75bc4ede986eb4b1e98276592eb5614ed GIT binary patch literal 3552 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 a{T=}A$z*TuSWJun0000<MNUMnLSTZ&Oo;se literal 0 HcmV?d00001 diff --git a/res/menu-configuration.png b/res/menu-configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..1e568281c1c99703de355822a7dd383488c71052 GIT binary patch literal 11962 zcmV;rE=AFaP)<h;3K|Lk000e1NJLTq003kF003+V1^@s6oUs=<00009a7bBm000id z000id0mpBsWB>pPPiaF#P*7-ZbZ>KLZ*U+<Lqi~Na&Km7Y-Iodc-oy)XH-+^7Crag z^g>IBfRsybQWXdwQbLP>6p<z>Aqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uh<iVD~V z<RPMtgQJLw%KPDaqifc@_vX$1wbwr9tn;0-&j-K=43<bUQ8j=JsX`tR;Dg7+#^K~H zK!FM*Z~zbpvt%K2{UZSY_<lS*D<Z%Lz5oGu(+dayz)hRLFdT>f59&ghTmgWD0l;*T zI7<kC6aYYajzXpYKt=(8otP$50H6c_V9R4-;{Z@C0AMG7=F<Rxo%or10RUT+Ar%3j zkpLhQWr#!oXgdI`&sK^>09Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-<?i z0%4j!F2Z@488U%158(66005wo6%pWr^Zj_v4zAA5HjcIqUoGmt2LB>rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_<lS*MWK+n+1cgf z<k(8YLR(?VSAG6x!e78w{cQPuJpA|d;J)G{fihizM+Erb!p!tcr5w+a34~(Y=8s4G zw+sLL9n&JjNn*KJDiq^U5^;`1nvC-@r6P$!k}1U{(*I=Q-z@tBKHoI}uxdU5dyy@u zU1J0GOD7Ombim^G008p4Z^6_k2m^p<gW=D2|L;HjN1!DDfM!XOaR2~bL?kX$%CkSm z2mk;?pn)o|K^yeJ7%adB9Ki+L!3+FgHiSYX#KJ-lLJDMn9CBbOtb#%)hRv`YDqt_v zKpix|QD}yfa1JiQRk#j4a1Z)n2%f<xynzV>LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_Ifq<Ex{*7`05XF7hP+2Hl!3BQJ=6@fL%FCo z8iYoo3(#bAF`ADSpqtQgv>H8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ<AYmRsNLWl*PS{AOARHt#5!wki2?K;t z!Y3k=s7tgax)J%r7-BLphge7~Bi0g+6E6^Zh(p9TBoc{3GAFr^0!gu?RMHaCM$&Fl zBk3%un>0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 z<uv66WtcKSRim0x-Ke2d5jBrmLam{;Qm;{ms1r1GnmNsb7D-E`t)i9F8fX`2_i3-_ zbh;7Ul^#x)&{xvS=|||7=mYe33=M`AgU5(xC>fg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vF<Q0r40Q)j6=sE4X&sBct1q<&fbi3VB2Ov6t@q*0);U*o*SAPZv|vv@2aYYnT0 zb%8a+Cb7-ge0D0knEf5Qi#@8Tp*ce{N;6lpQuCB%KL_KOarm5cP6_8Ir<e17iry6O zDdH&`rZh~sF=bq9s+O0QSgS~@QL9Jmy*94xr=6y~MY~!1fet~(N+(<=M`w@D1)b+p z*;C!83a1uLJv#NSE~;y#8=<>IcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a<fJbF^|4I#xQ~n$Dc= zKYhjYmgz5NSkDm8*fZm{6U!;YX`NG>(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-k<Mujg;0Lz*3buG=3$G&ehepthlN*$KaOySSQ^nWmo<0M+(UEUMEXRQ zMBbZcF;6+KElM>iKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BK<z=<L*0kfKU@CX*zeqbYQT4(^U>T#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot<a{81DF0~rvGr5Xr~8u`lav1h z1DNytV>2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z001N9Nkl<Zc-riJd5~V&Rp0NNd*AY{y{cQSU89ja<FSSrGuWPC29NClQvtIVhAdSH zSs;G^DIioOfsmvil}bXTs0v_0;UacSD928vfMRhRkBt|`_JC*6jFyo!T3X#|_4@U< zzW46ECx5)9zg{#_tGhMofvfsT>h4edz4y*N+wc6&x%BV8`bqRJMT`r}*KuZX3ck`v zoK;Wld+@*QuMR(Iob5$6vCkZQ_|Suc2Zm#3tUwU3hq4#ot-6+?HvVe%b<0Fh#N0}H zo!>h3Xa8#<YBdzG7Lnd^-1&6@768DBAa=<eeU@JP4J!_hj2?wzg;y4?0)PYXb^wp! zZ&tnr0sM5|*9`!_oeIMtcIJ+MF|YlGKw!n<oufzbj-i7{oE3qH0LWi|vt->LfZ)U- z*@7?tKr;~%XR}A1epGBN9AZ2)au97Bk#UwFf|VBl`s*lymA}#VC<K5JE3r+s{5kZ` zzx>~EUu_(k6|6W2<cUGQ@*jQHJ%KpI?A<r8_giXSsp3T7M6jn+L(LE2G9fZC6!BYD z7>P4jiaQ_x1cDWd%gb|!Tml9|G2{2n{`p5fbM=KUgvt*yGykUmZfsgZuC?Y-_e%KS zq0~hfXAkTx4}NQ)eK-+lX6z}|H+<mguZfm;tg$Douln9tX>iroFU(&2iLcI_`-zGd z0)PeZo;wnVuROf6IEmO<eCMG@AR>sJ1v`UOBU0P=R@Q*+(IN{cD6B@NC3hBOh04SE z#&vw=>Wg^){*w?0a`Qx)qW;Z#<7J#fWMgRN%)=nQQ-M?gR05^V>BY(Anpdj*{RiKd zI;%|DJsTsosZa=nu8m)cow-6FjqH8y&Njq7znI90Aeiel-$Ot}An;h@_`n1-tKxn4 z4UFNbeGej3e*Rp)3Baj45y(LRp8zmOpqPjTM#9=kbRmLktp!9j0Z}FtqW`3c|3|Jk zA_Dss6bOUB%=p~Zmxo@Szw%|x>Om_GHLrx9eE4r+D5w<gefQoIxPNdTm<nt1o!N8U zv_K4iLjXo7eb{Tlz4Uv`l$o#0K#GH+l^sHFF|)=*AR;__^%Tx5UgN44syuNHl*XFJ z1mi5aCfc&E)c~9oCjel?!HL@-%1{7g)kDt(rHPR^3oCCO4atr3=O<smnZ;`elt%zm z|IgQMK*=0BWqFDwhOgA76KQ>;+o+rv+~*l*5hxE89jr@;raMb$C%t}kZ1-!*-tsU4 zt+$+|-ZNpY()iNUX`GtBf|B<0{rCF-d;rFX8|>NS$7>>N#eqOjL@4V3OoUMRcy8t_ zfBeiB^8bJP0vQc!Pd#(s;eoD+kvNM(wb4~?=$Qn+{?Z@gwZ?S>N&~<J0H5m*_wK8Y z<7XfJ5b8l0u{Cc24I#9WUcdR72k;B|7gaCZd#N$=Ve9O$aTWr>P*BB0We83LOpI3- zuGC*!nnv9(Z%!bZb?CE(;at+ZPD8pjM#uDE#X}a(^;RWCbFbr9p8wzY#c%l`)cg=V zYj(XyQN-(_eJc(V<v|RGRWV|1o*GDjB~f8TG;1#DVDlOR2;3T&Y~79_24}DAlUGTt z>V-JFbPd1!^-tj!-}OVN`@36HG^e)TIf0`UjBjsw5M!kQL^c7|x%F-O?Ck;GfU*v7 zdhr^5`Rkv?KRx+Dl=beZkF4E>6s4A;>;>>x!HHlfC}XTNu;amt_Sxf_SArsjaTX=z z-|;UidjT#quH)BU_#?b??7noT$-NKQ_pB+d(~00}a~2;scoGi`?pqal-Hk|6D`N6k z!D9s`g5o=iqn!v85%yO{QT4*ip7KqM;JxQB^6T`NaHG47%geJkJ~**bY`ROgQ2;Mn zDLzSdQxoN3gc(Y_d!0IgL3m;A(wmZ7@%G#TFi{>vDHFzSUy2#mI}Kc1o`J9Q?h{C= z>KY<%B|J;;^86Jf)~<t-?rDJt1d>)7-%?nX#|qQ!C0uUKLib^I_r5@!yd{Yb`8~Zj zcNtdfT?0>f%h~~X%a*S^R+wrp;L`GJUU=I1uy;!Wku=LEpduoN1wt7!gPq7hC!%E+ zBqB~ES-DP80(n^=R|Nv5G~zm1AG`Mja{s_yc&wp_pM2N&@!$7YD+lL%*7WrLhiWD5 z({6~m99E(c&5A#EI`~gh?ZuzZv-Fbo;O>%P-jYB9<s(!YOzhYF@_?^2IdSk=V=$;7 zP~L8_POI!u%@4y$oWdpofzSG`C5Br!St+N{xvaRAzjm{ucLG-+xgwCe=p^+v-UOUW zxi2nb^`%1F4avFmCAox547b3*??Hh~widudV4`b*@_L$7$ssja^`MOMF3H^6rdM32 zBF5RpYggvFO=xCVaj5%c9IB1nmCdy!fkZY2rA3*jm2{mZhRbYjE9t_C-4z09#9gGN z*i;}r6GyR4U|lMZM48>8Aw($?g@~AmiAe!)MKLQaXzdQPm-_#mu9f?{i`TMUKE!EO z3z}5ffuLC-P#yy1?FtR?RkBJ$G%2n62;_VhX|!7sh!Y1*3QpwW^E2l^B#?swSWV0` zoyNGwTFEYO>pdHrJTYV<eSYcsvmFzGiC~<?NLa&@`yRL}+P)=$*o-VEBGGKO`GOVq z0%3(@riph&_#0VML{bF8Y_EaX888TK6XCJ(V^GYn*4^6zkxVE|1kDVRR39`eC`v1k zyFnm6uMpY@1WgK-9GnvzsEpvreGlF>)4OFKV&Nddu+D*qQ1U#KbpRt4W|w4#{Y*p$ z2a_Qw0>M~$0E2#IOMQcP3>n<XGR~srhZreUQ4h)(465*0fwF#{UGP$AYA7(yLX*N! zP=O+avKQj);uJn{_KOJb5)8Culck7ppfZdP9(n|SaPjMCCf$q+jPC;QBLKShuyO<d zo&)e-Q>_sE%%dN|sfDZf&6ocSniYKI;idU2xU@WrgVm88*OV<sStDT$f%34YRLA!n zdpACP{wwI17#^#`0Dg2ASS*{;L4lur^n391fp_39XD{~UC@HP<%hPA^qbI)g-Zfdd zc8q1ccab&NTOPs>-v2l%UVzvcXT{-Oe<jX10q}G0{9e5O;7PQT-n#n?m50Bay@;!= zIe1E??HNRr!A4nB`6g?Kh{I4&L)i;qMLdX<A`@e*G=LvG_IT${F8@_6wx*vke^0K& z+44Vr=$YEn`ycWfQHMh1kpNBV<1aH2+DU{jPMyJrk3WIf8W-6l>DdH1**dlcPP?p8 zRw1^=bxo9;@0}M25o3RK7@8PN^c`g{{0(1ea?aVK^>O{1PyhHHPwCyjT>OEu_P;xJ z26exLQ2Ab{ye~2FA1h)XKp-R^50!U*uDgt9ubo0<lZCTOQ!kE$^}T7iL2!I<FAi2m zVa35?g|3Yjzx(K8X)Wb$`H+A;1nhx{%5^_H<SP$O96VAO4yt#Z)3gOEq03m|BA0dW zJ|=!&4xI?ebBfe?5kb!+h^=uQ6DL8^Et+FHCPw5;+DT;-Oq7T1j~;(=^9?&&i?WJp zf#etFvO4>2UK?w*06E~8`VCgJ(xc2EFc>*D;Y6rwk~`WRTSI%(SK;9Ldn9)2BEmNS z`6SYgsQ|$102LL|?B#6sw-bRCM@9^pmGb<i0w&Fzq6AyXZm+c#pqatMQ!mb5jy=}C zgM-H!b-%o8sHHud6k6dcjj7hcrvl~uhqN1t0Du$`mg6qYEl$BYhq<8iuj)bRS2Kag zLev_0y>VmMigTGDPv6dGD`qeerrS&Cns{p(GS_P&0~6=ZH>ML!?B@ll!}UG8refHL zI;-IK`KUF0v_6Jwtpy}v^XL~&98B8aDv8*al49D0Ah8L0HrcRgwlH&R8$}_QX)obI z<2q)$%SfEvnm|-mz+ob#S&=3M2bY11oE3iVeSv6J;Ec(T6{}RJJshr&;!1NK9UB1z z(1w392&S)~g+8E?i4Z%3>#apBMeV|z6A>b7aIL+Nh1QHf@wOGH-eTlMQr0;H%EzJF z2rewmAj(?waxw54U)k?N^A%fz#i)fw)IlrhVz#@yN+5}|U|Ov=Tc!bJ%<u&O{|qTm z=Ky#Bo&Zn+cEyN?R^N5{0A9-nlKJf6{-FsFfaSQ08=WN(2p!9yBz*=Vf>shCR6RIJ zQSYvaFyC#aW{4G-IQx4=AP(t_lx>T$EF3ruCZ+)VHu{P@CFTEmSqD4rL;3?cC$h>x zZ%YUaL7+5ZYcSnjKr8NnD4qY(jCy^cKf$<_!3$aBwdu(YTLc%=p);J$ph>HQU?k4q z(-*$7<HATGb61oB_Ev`Q%)y6I)&Y7Z*%m$(6C*MS&MZ!%V`3;y+uyQWr06``$Yk9K zJz~o~#E65+@SDV0Ot$7R*_uN$>Fqdd;zST-(?6XE%G$@NxyyKR-`nxc<Hu0e0TOHO zur*Dfh!Hu1GmF<!VcZ3>!`3T?;@~TV%gZ-#xiyPc62T*e$BMAStN;-yHl#qHS!1r( z#3x_-6235X3g5QxA-r?XeHie|=-FhGf*~~G4o)vjA_WOGa(Sfl#9TfS5h8-bSub`; z;IdulM8r5_R~)zz>ulnPgaBxzH`JePiLyq*8lIoMfbr4*j@HLvQ#0~U0Q?>7V1des zla7h<O0nleekZocr$g=Ag>DO<IQ!@L%#|1L-u(~Z@rk#g?v>Fs@f(^l%A9${^Ko+I z5FQ#nh(LL`xIBaNOVjW(z_j9pKVR{}4~a;}iO2&(`|C&RV-@49P>Lc;$HXQxdww(S zT)o`7@eeeqSpjgVd83Hjw$+E!ybxohIvfPoyA6z222l+|Sm%xdcxuO-d1fwktP7hS z+hk8<;!hW>m#i)A6KB7OXD465`wzSWPfR?3iWeZV$toY0v)qXYAi~L!!#GsiQ%u!+ z+t7Y|$v=(rOViM-FyNO@*8S3xx%1vv8N$)}7!sFuTg5IxD~XC^b1`ZScTD6fX1umE zjo6v=v(}jPEmsWpSBKNl8z6K{gcoKn;pE66l)b>Z9c%*41!5(wN01P#I3Y@b&TjU= zbHsVJw~SAm`*VD5@)Vvq_%PnR_c*Fvh}ao;%m|<{-Ce}jW?sYP<r{cp^vEiq5fQ$1 z?*p*T;oQ;`Dqi4BMwPYVkcdO#Y$1@9e*=yL##v{@x^s)unC&jZyGciu-iq(2`z4Hq zbr@&SF)_L(LC3^+e)a+$+jC4bsU2gE=K_gsCJ+!}XI$c(i?cbzs}e3^Xys$Bw~XIC z{W*Mg@+ExWz)8Go{5Te(HoiQ48m}%~#d6ZYp3)#zXb@8PD<R<9_P;%~2JJ;xQhp(j z3{pWpt||W>rSLrjz{?9)Fx_5)rxdytNVhR<k3a~71C<eQIzi~MAA9iqKSe}J0P7Lc zlM@d-zSH2MK#(|FWXg%NC;#&|{@{DgElz(uP`ZqCT<aA222v_wRJ;%~oh5wi%;)j! z<S8sC9T25L3zeVlYH{F|Y;g~OpLQaS1nzzN-{Bvq41b{Rmx^gXb-#lA>s){)#lb)z z7_nnV>SMp#GfA6?xTO8^@16VNN4_!p`d<XfE3Wm91;RwAd8L$2%6$KO_dWFY0-bVs zH8CC@Jp_;MdVwnV=&R3u%E>jC!R9Xlc;`lM^jRZdjVrBL1WIE#tQNbSL73?*K@p?s zg|Omk84^*k;t;Zj_v}5f*$%PrP;Jk5<f(wi3ZK9B%F|z)Iqw4H1pr<F@aUFE4lbJ$ zB?8m65jrM9$Mn!O(VN2PO-+XNGGQQtaO92NPsL1@)#$7hhbzt5e2|$1kn{&Lxn^!A zMDHX$w2~g$NiV%t=hj{8mbS3w0-sU7((sioO1N)EjVcA|_(q0Jl{0h2nK{_d2fdL= zHsWx(Ig7)!QSp>^d4Wp1&F|wJ4HmJ5Z%Uj+Yz<;I0AMw<*;0XOvNfLrXH(Ug3yH_t zb4Uf^v&P->A(9Crv57R}&W{l2SpZ?5XI^*h=_G2GJsJTc1^Y5I_dX_iOfwtfY}~Wv z#A9Rk*YZR#4_4xgq|L-QvoMK^%QMADs*>kpG^`iUiXy_{>K>GJ2oZrIg%d;j@Sg4o zl(Y{;yl1jC|Hzg!<lNG9Mz-ejbKPb~5e>M$cz!1fRQV2XWe^P$p<|+{!LV|ED6F8F zbbB`&iIF&qL~K#Vh^>JY!Jbkbkulg)s(<_agA*Sy&cZm01Jw~cHg;^4`B{#;XuBva zyRyQw*IvQ@x%gF-v=1W=d&`4(Wb{Z@z;Y<-00-ap)GA8qBcq2=)_&^GlsEd>$(O!g zZ_PvyB&!Q3=B!{PP|VOfT%e)?)ME%qMpk1gDUTi=J&c#;E~6QDS52Sp7bLAQPd7RZ zFbG3oC2!hUA^&cGVXbh3W#yh(L9+r$DkNqFhyw&*ULWE*5jf}IC_{-ww&p|n2+PET z0_#ta&$}a#eE3*)91#J+q4MzPo+Ef^?h2NoPH|m|xwvMxfsLQ;EFg9U!$HmVvm0+m z%lnU4aVbqWV>x8RkDDOBYiE^hNg#=HFk-=wUOS0D#zbX-*o3W~>n@)Nwdc7Vf_$@` z?m8xlGLz+XOg!6&yKyEQ9ITGyf<odf+NOt<G0Cfz2Y?hQ+~_RD504xf9?VAGT5+hX zJztBmY2UI!0Sc8y)k~+4=F_huXNtak<#-+XT~r<mfo+9#LIh7~w4(@$c(D`reu^la z>zuI0Om`{tl}9@X!8<tVn8>D-DMDltYD67V%%}%2R;t5@!}ZP*L;%HvAG-eujFsyB z9q1ni@Bsi_<E%U}@xai##*VE@I@dnPbd2H3vv~XP0rXq~KOHrKxn2{mE?fm?A#~j< z=Y)xs#6<h32W5Dy5GoHP?Ri_^_NMiRP8w579@ga-sEB)Nhi5M4z+L{CoOaNzlu1E| zoyGOe5@KsW8Bw96J!n>_`KA0`_5v8q3td$&EJz1$v>{ii7%P;N2ak0M(@<KdQ<Sz= z8?ozhGon@8Hh^er4Ld}%UY+leMMSW0Sd7|8+-lOd1JJe+7J985gIeP=+#PIC6qF#F z!703spR&URDiJ}b19XzO0Ql|+VSwPALnH2FMJZb4Jo6b}JsU$}LDdVTKYPCut#%L? zao{Y1GtMD)7K&ED$F-mVgA2NpN)dC~GT5YuQ1R~_E#Yjw?o!+?8dCl2z%ziLiAQ`= z|K4X^b0k(o<h}bIdUU`q7ZpWG(cHomoo`&n$IgDfI5@59h4`@tKY&5MQfSlB`dBej zD?^^~edgUo;;C6-xbIvR0C;ubD*od7S(LO7j}^`=UYpypK+<_q0jzUxYU=?3@R(sm zGR=^Js5V|6L?iAXaTY$S>VRMQaK#G-a-?>wR4@Dqke=*0-)(}4;FO2?UK7vFyatao ztT+t#W&FT>??H(@m`tNaO9QC){f^sNjktrE?h?v6fM$i|xD#zl)jrRZ?>fm^P-My? zf=kPDnCmrH%?-{OAp?FHiW#n8Qr&#gPyT;WN1Fx?q4E(buXr)>DmMI`Cf2J=7Hxyc zTI)y|e3wiUfk{D(;Bs>o7ng6K5qB^YR#Eo+LR+(11Q?8(4$(|{N#d*+XNy|KT9J6H zQ1W~bs2CBVXyxPxMT~$o0<BZafOM+&o!&z}7lw#tx4mGo(m%o23EBw}!6Sv9O>nt6 zi_?pfSdP2-4#R+7LfH!nfiThiBVp}H0*MtDKRA5g_`AoCR|2Jr3_P+48c`}5j}^W& zbsAr}eimK^g-o{Qak)7QMVt{JLj38~7cd-Di^%M$i3jnHkwZ7VZsROoUAT&liNV?7 zFE7l#{%_AMO@6MdgDMmCmZHvcdM9jo;w+{+i#SpngA==LzuRYx$QqnpzJ~LSX)Hu7 z=#+AlJy?TBM~`BnGK{6D4W#2ep1OZv??)A-aQZ}f2#<{&TV-A+n{#No4hZS#IG?|E z3LkmpGbm|4PdKsAZKQW60#AGRlgodFiVm{IQHy<*;adpA;cGW8V7A-HFfWcuUhpTz zxvw^&4iu@av)|uH6)!c@LoSb0$BI(sR_tu-EY2=X;q2lR8gUy$v|<0AgP`t*=$f=( z#;k1~VHFA5+QWSNM=?=4r91T*sX)XDQc_l`^F$1f)B2CixV*PCS(Mg~a;*bECk7`- z6XXA0d9et^cdW*$Na51*Y$}x6p3K&6Zh5Q`+XNSzGdR6?4UMP+#k3B=UFVSj424xl z59ry%^$Wyq5DEI(scQs+ue=O|T$9xG%`6lrFwP)xs?d;I0g${NVC2XezHeYJzWp%a zvsYeBi(fk#hHB<iC;}X*Z%!z_(m1y?jWdhau+VElvx28?tHro3KmdUZ2IZD<Ze%E^ zq#>+0)VvVJIS8#B<Z@+swy^C%7Um{mp`1w>ByjL`kdYq*CGBIPGK{)kf)y#?mbE^k zW8$Kc*-CmgarW~>w2&!+2GEOaf@Ae@xC1Bghp#`69cLkEW?X9BfB-mJ8!HZ=qz$rb zLCW^<mByLHYxvsCc@VH!GQqC`_<n&j6Kma5`yL#7&)yTo4<nP{dV8@j5k!Qa{NnH6 z_2!MDu(s4|V>$Cd5JA;1;pFfkxa{E%hgJORZ~0*ysE%YAI1uX9*ErQ)z-KPM2+nFl zGu_6;srJH$j}DB_%bKaJMl1${YDQMS3rmy2<>n0t1mop_RJ{d7mP<f7pNbU5N&|Rx z@hZN4<9yKwxydyKU?h9pRxP7H7r0qov35%7+L5^HlVSq#N}i&LX|B5r%?bx=BdO`@ zd$*MoTDdC%5dex6A{%3|*Gg~5t+Wy_5t?xq*Sm|@Um3=0jhRA+HiIikdcc{i1^L!O ztT_t3(aEMa`@Kfel=5bNXnlB&RkJ54ttirbw+SM`!M-V{c`mYLaB(vd886pS4@&7= zt+ZipRfSP;dIr`~+{S3B2I>)#%!c2}SLGO#N<(1oA6SszXdYKNap;%`4g$^u;$$U% zhpg@ybVz#;D_QfAaW)Ny`}+$sO|%)|LbF0-lB5}Tnu--Pao9<EOOY{FGh?zjkH{pL zs0?ODMKL-_w6y}&?P>-f7_SVV=9O|*{2OQblvdV8!`f{bD<c*orCK&kA@aZD&^PUU zV(;5BmOJ2)LNo3bdCaQ|SMhJY{z*jH92Np_dT|o%B%QG+k{%LyVrYMQw!AesIdTZU z^sXPy7%nO6<Un;8CGBUh5##wA7jSxU5+0|Fn{$n+kN&~M=l_MLbcu;LGD*DDYcJ&* z={Csjc_#&u&UXOD%LAx+;ihT~xgg_PkkJT)#kd7##=+_+0P;q{x?lIp#R;2{iP5!5 z@eo=`52qHcpxf7g(@J_U&J>9sGozZZG8HG-Q>x>e_8ckBW=s=EufVzhpk;cPY%k=e zp(0TJ`6KnQ#q*8pi($qA?l+(Pn%#dtdMDLmZ+QSUzjVikYte1|oQZI)HJ=`T>Q}Lr z-!FaUD%V1vH7xh{|MeT6^gk33Waf)vYgP#)P<oX)<rLcQ8!b!fiG6Pa0KC3@<E9&G z!vfW<t6H0%fj+)PVchPrS+sJcIfvz-YnjNb&h%HHmArpGZ)q+{z2Z{3PNpHTGw7PA zXd;blvg-bGhrQ}^nBlNe+_EAbgYfvo2`~}PE>7KEM4E_|u8q;PF^se8M%WS3sXt{E z<h>ReDNCb!GjlWOmr(V?9T$c`cr>g%LZGLexP*zrQ27)6@0sl_<7#s*EmSFu^GnyU z&}$*Gaq&=x!g{e86KC=C{)h0?zPBUEru!VO?SW4kN~K|OVhx_Vey$iLD*#@ezx-S6 zr1!aQ5{KFIc{SI_6N3|&Y|Udi?m*o_?{(sgO9|4MKy0#3u|nmcv|1qk%`AV#573XK zZWR-Iqu=Ai@uBLTU#oiIlg2q{=5@m=Z*&^?#_a29rq3E@7ALXLYr<Gl^i;oN<ZwZI z?U@+gdFWC6qlca;lD>?z0k5yj`-Q1fnCms6iD8_JXF5wCo2U$ZWi5R+clx(oQ>S$% zi#B}Jw>DXVsvja?y>0YSCcXt)OwKx2PAQ*mL$F_EKwu8+d8`VCM=p>Qbj<P$teB}H zQe(B6_5(t|9zx|q6T`A2Cibs)8rWMN*nrb~`_Dt?gM(EcC3EdctnEMj*#cN)*F2?B z^FsKnw|!O?XJ_=@q<k#aIWf)^N#@#3Q+U7JK|2RAG0>+WQTE^^(~vy8UD<-N&Wx|2 zml9Jtj$@|Nz*u<@CGFi&Nn3YJd~LS3TwF+XO<kCYaHu{C#f5Vm1h5ytQXaQAk`9=# zW5nu;7eZ|?CEJM$M@#jf=9ki$yUgpFggjO#dqK+AWrg8V4G)hW&*qGz0(o%g0KzP% zh^@h)>If92CNAw4G`Q5fQ3#?DcNS-R&EHVOQ<=Yj0FyaUaJJLH{_60C*L+KX)V%P_ zSFfLI3Z&Mv$+{ixD}^68_U-}=%`l?JnCJ`%;S1BR;_Tw&x@n%<>AJ_t0~iTw>v9?6 z?AW`;kB^LowX{r2yo#)l3v;48SUB*Jpo(wqW3sOZ#LFt}Kv{W(c>{pU&1L+~E1xZ9 zl{DktXBVQ@FC3|l!LHF>Dkw*SJDJI&%U%E{PFB=?JxJC+4mH;r0`TnAD>&bn-cddl zfiT-`U^u9*BP=s0hXZe$jK;j4_N=l3Q<1Z*G23e<$)T)+q~e7|Q|D&$r&~F7N?GG8 zsOJXJOtw2I%P<LFoO%`K8q)~1kDiNnP9Q|+nivbcCPqv3RiU&a5i3rz_Am(FBslKN zk~gyJIhN&e1Xk7u270B^2c%PvisvD~w($paE9oUj8xE^I6GyG2Hv-_u%7O0=sxLYT zl!yN}`SQp&<}VGFlwa>AG4)KGbW9X&=7XJsSeNQM6QO4kCxYh9!r$5MGDgBWeDYQj zG$G|HkAtkr#~Wygf`X^KH>4<WR-UDT6JX$s6jjSs((5fo?X%gqkP^~Xxm6mpUG7s) zw&q_0@C*RkN}}H3`q<yS-d_B8j=d12?a%pHAWV$!I_&?_d-uKl=a`rQkP}I)v(fFF zAt1I^x;C+CWl`zbZe#Ahyzqy=V#Kxy<N=rla0-2~|FOaGRUu{K?D*poCq@rch6|>8 zNv}?k#w&vuE>+*~dir4yCdOY(pT%=C=ip_T{Y+=+f4;ta{U3s;M5{DpMNbBU%C?wp z&BPIasB2?9Hg*gjJosq5oOH7WPATH}{t3;8s-r^yhPLv-PNYae)03GOj|a;8qa-o8 z4gZ&gKqT!5DrtX}K(sSnRR=2PPHkM5SDT(L-8MZ;w-?h|I|yylo0_N$%WSvNk(*RI zw`-`L27r!<@bJhH{P6uxq^c)alO}F|IGZ?wu1yNmv**m($VAq9$$rP0=OH^0XfrXi z%G%S?wrO4Q!lHjYw;VfCUA5xy_};hSNA7>Jz;dcyh<pe@KVxtE1KOOKetW>>+E{7_ zqdN<roo$5*0CwU~_Ck!62Qk}i>{#E6UXHq$=``>gr~Wjf;^QyN+W$FC99t3Ru?oKZ z;KM&N6jb-;EWM-kF^q<_BH~FCvdtZMqDi5mONCh}sarGX^U+FuJ|tf1wM|L+dZTP! z5o4;efT{LU5w^FI9?mze_w#?BztL^{rV*D{H~8epp&6g`h0Iql(!O^%aj5zs+DRA9 zq_-nnX5F(fo|`$>9}Zq%=3mXrk`*2JgMQ_2@2?K;&l}yVUWmG1Dj<eHe0ZBwBE<~V z#{>4&EpX5b7AH%^wHjw_GwIrL9Be2Mk5g{giwl>Ekbbtij4xb!1tvSRo`9E@lkP|J z#Mg?$!Rq%Golom8V`mRy)kL%oAyv$P00Vv*q4JexrSlj(?|AJu9(RlLzBc)z4U*Qi z;j(5f`u-GgHqan|%><Gr$01rt4_zCl6~i}iRJz^>*(DH$!YXPyL}U$ntSDfeX37GD zDvfq@wk!1}qnMjKY)hbNKny_jb@dh^c%)MRv(RSJf$~(SJeUpqoW}~j()pS1dBoTw z;6`?<RR9f$psG_ew__r_nM-e+BN!}4Z7fAC7;(Lq=P!SJs=aW`ii?f2u5Ehb<K@A+ z73VT|ngiwC@u^vwm7eP^-)JV?pJn1^X19xhRr%PxQwx_?osDS4O^evy9}Fs0E9-5R zBIYZtxrNKk+4<~59B(=9p0eUTMd=aI1b_ulfY^!-(6jNIDv<v_0M$V9X$ph(od5s; M07*qoM6N<$f{~@*+W-In literal 0 HcmV?d00001 diff --git a/res/menu-exit.png b/res/menu-exit.png new file mode 100644 index 0000000000000000000000000000000000000000..7e48eb5ff1757501e319961bb929c957d725d4d7 GIT binary patch literal 6262 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 literal 0 HcmV?d00001 diff --git a/res/menu-history.png b/res/menu-history.png new file mode 100644 index 0000000000000000000000000000000000000000..2d67721f568c1da29e26f2fcc10665f8ae88d593 GIT binary patch literal 12899 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%0A&)ANqu}0>RSj(E@COZ2>Be(@0f6+>@M% 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 E0JpsgN&o-= literal 0 HcmV?d00001 diff --git a/res/menu-serive-of-bms.png b/res/menu-serive-of-bms.png new file mode 100644 index 0000000000000000000000000000000000000000..52f84c5f028d0b7ce8cd077188bc412b87007d94 GIT binary patch literal 16995 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 literal 0 HcmV?d00001 diff --git a/res/menu-settings-extra.png b/res/menu-settings-extra.png new file mode 100644 index 0000000000000000000000000000000000000000..a39e10b0f9671148b854c3273ccd29d396af8d15 GIT binary patch literal 2965 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 LNkvXXu0mjfRrOT7 literal 0 HcmV?d00001 diff --git a/res/menu-visualization.png b/res/menu-visualization.png new file mode 100644 index 0000000000000000000000000000000000000000..4fbbe6bba5307e72edc4a8224d87ffa8d7a2f5ec GIT binary patch literal 7142 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 literal 0 HcmV?d00001 diff --git a/settingsextrapage.cpp b/settingsextrapage.cpp new file mode 100644 index 0000000..959493b --- /dev/null +++ b/settingsextrapage.cpp @@ -0,0 +1,100 @@ +#include "settingsextrapage.h" +#include "ui_settingsextrapage.h" + +#include <QIntValidator> +#include <QDoubleValidator> +#include <QDateTime> +#include <math.h> + +//#include "configparamsgetter.h" +#include "connectandenterpage.h" + +SettingsExtraPage::SettingsExtraPage(QWidget *parent) : + QFrame(parent), + ui(new Ui::SettingsExtraPage) +{ + ui->setupUi(this); + + // Коэффициент размера интерфейса: + if (mSettings.contains("app_scale_factor")) { + ui->uiScaleBox->setValue(mSettings.value("app_scale_factor").toDouble()); + } + if (mSettings.contains("app_scale_auto")) { + ui->uiAutoScaleBox->setChecked(mSettings.value("app_scale_auto").toBool()); + } + ui->uiScaleBox->setEnabled(!ui->uiAutoScaleBox->isChecked()); + + // Подключение: + on_pbSerialRefreshButton_clicked(); +} + +SettingsExtraPage::~SettingsExtraPage() +{ + delete ui; +} + +BMSInterface *SettingsExtraPage::bms() const +{ + return mDieBieMS; +} + +void SettingsExtraPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + if (mDieBieMS) { + //connect(mDieBieMS->commands(), &Commands::valuesReceived,this, &SettingsExtraPage::valuesReceived); + //connect(mDieBieMS->commands(), &Commands::cellsReceived,this, &VisualizationPage::cellsReceived); + } +} + + +void SettingsExtraPage::on_uiScaleBox_valueChanged(double arg1) +{ + mSettings.setValue("app_scale_factor", arg1); +} + +void SettingsExtraPage::on_uiAutoScaleBox_toggled(bool checked) +{ + mSettings.setValue("app_scale_auto", checked); + ui->uiScaleBox->setEnabled(!checked); +} + + +void SettingsExtraPage::on_pbSerialRefreshButton_clicked() +{ + if (mDieBieMS) { + ui->cboxComConnections->clear(); + QList<VSerialInfo_t> ports = mDieBieMS->listSerialPorts(); + foreach(const VSerialInfo_t &port, ports) { + ui->cboxComConnections->addItem(port.name, port.systemPath); + } + ui->cboxComConnections->setCurrentIndex(0); + } +} + +void SettingsExtraPage::on_pbConnect_clicked() +{ + bool isConnected = false; + if (mDieBieMS) { + isConnected = mDieBieMS->connectSerial(ui->cboxComConnections->currentData().toString(), + ConnectAndEnterPage::SERIAL_BAUD_DEFAULT_VAL); + } + + if(isConnected) + emit connected(); + else + emit disconnected(); +} + +void SettingsExtraPage::on_pbDisconnect_clicked() +{ + if (mDieBieMS) { + mDieBieMS->disconnectPort(); + } + + emit disconnected(); +} + + + diff --git a/settingsextrapage.h b/settingsextrapage.h new file mode 100644 index 0000000..7fcf90f --- /dev/null +++ b/settingsextrapage.h @@ -0,0 +1,53 @@ +#ifndef SETTINGSEXTRAPAGE_H +#define SETTINGSEXTRAPAGE_H + +#include <QWidget> +#include <QLineEdit> +#include <QTimer> + +#include "bmsinterface.h" +#include <QSettings> + +namespace Ui { +class SettingsExtraPage; +} + +class SettingsExtraPage : public QFrame +{ + Q_OBJECT + +public: + explicit SettingsExtraPage(QWidget *parent = nullptr); + ~SettingsExtraPage(); + + void clearControlls(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + +signals: + void connected(); + void disconnected(); + +//public slots: +// void onLoadParams(); + +private slots: + void on_uiScaleBox_valueChanged(double arg1); + void on_uiAutoScaleBox_toggled(bool checked); + + void on_pbConnect_clicked(); + void on_pbDisconnect_clicked(); + void on_pbSerialRefreshButton_clicked(); + + // void cellsReceived(int cellCount, QVector<double> cellVoltageArray); + +private: + Ui::SettingsExtraPage *ui; + + BMSInterface *mDieBieMS; + QSettings mSettings; + +}; + +#endif // SETTINGSEXTRAPAGE_H diff --git a/settingsextrapage.ui b/settingsextrapage.ui new file mode 100644 index 0000000..f493865 --- /dev/null +++ b/settingsextrapage.ui @@ -0,0 +1,677 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>SettingsExtraPage</class> + <widget class="QFrame" name="SettingsExtraPage"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>1071</width> + <height>755</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <property name="styleSheet"> + <string notr="true">/*QWidget#SettingsExtraPage +{ + background: green; +} +*/ + +/*------------------*/ + +QGroupBox#gbSerialNumberLocal, +#gbBatteryModulesCellsAkbBmsParameters, +#gbCellMinMaxVoltageNumberAmperageParameters +{ + background-color:white; + border-radius:10px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; +} + + +</string> + </property> + <widget class="QLabel" name="lbCenterTabName"> + <property name="geometry"> + <rect> + <x>30</x> + <y>30</y> + <width>991</width> + <height>41</height> + </rect> + </property> + <property name="font"> + <font> + <pointsize>26</pointsize> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Дополнительные настройки</string> + </property> + </widget> + <widget class="QGroupBox" name="gbCellMinMaxVoltageNumberAmperageParameters"> + <property name="geometry"> + <rect> + <x>30</x> + <y>90</y> + <width>1001</width> + <height>641</height> + </rect> + </property> + <property name="title"> + <string/> + </property> + <widget class="QLabel" name="lbConnection"> + <property name="geometry"> + <rect> + <x>540</x> + <y>30</y> + <width>401</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>Подключение:</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QPushButton" name="pbDisconnect"> + <property name="geometry"> + <rect> + <x>910</x> + <y>70</y> + <width>41</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color:white; + background-color:#FFFFFF; + font-weight:bold; + font-size: 14px; + border-color: grey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + image: url(:/res/icons/Disconnected-96.png) 0 0 0 0 stretch stretch; +</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + <widget class="QComboBox" name="cboxComConnections"> + <property name="geometry"> + <rect> + <x>540</x> + <y>70</y> + <width>251</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <pointsize>-1</pointsize> + </font> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + </widget> + <widget class="QPushButton" name="pbConnect"> + <property name="geometry"> + <rect> + <x>860</x> + <y>70</y> + <width>41</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color:white; + background-color:#FFFFFF; + font-weight:bold; + font-size: 14px; + border-color: grey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + image: url(:/res/icons/Connected-96.png) 0 0 0 0 stretch stretch; +</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + <widget class="QPushButton" name="pbSerialRefreshButton"> + <property name="geometry"> + <rect> + <x>810</x> + <y>70</y> + <width>41</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color:white; + background-color:#FFFFFF; + font-weight:bold; + font-size: 14px; + border-color: grey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + image: url(:/res/icons/Refresh-96.png) 0 0 0 0 stretch stretch; +</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + <widget class="QCheckBox" name="uiAutoScaleBox"> + <property name="geometry"> + <rect> + <x>387</x> + <y>70</y> + <width>61</width> + <height>31</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="font"> + <font> + <pointsize>13</pointsize> + </font> + </property> + <property name="toolTip"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Try to determine the scaling factor automatically from the screen resolution and the system font settings. VESC Tool must be restarted for this setting to take effect.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="text"> + <string>Авто</string> + </property> + </widget> + <widget class="QDoubleSpinBox" name="uiScaleBox"> + <property name="geometry"> + <rect> + <x>230</x> + <y>70</y> + <width>141</width> + <height>31</height> + </rect> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>100</width> + <height>0</height> + </size> + </property> + <property name="font"> + <font> + <pointsize>-1</pointsize> + </font> + </property> + <property name="toolTip"> + <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Scale the user intefrace with this factor. Useful for high resolution monitors. VESC Tool must be restarted for this setting to take effect.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + <property name="minimum"> + <double>1.000000000000000</double> + </property> + <property name="maximum"> + <double>3.000000000000000</double> + </property> + <property name="singleStep"> + <double>0.100000000000000</double> + </property> + </widget> + <widget class="QLabel" name="label"> + <property name="geometry"> + <rect> + <x>40</x> + <y>70</y> + <width>181</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <pointsize>13</pointsize> + </font> + </property> + <property name="text"> + <string>(нужна перезагрузка)</string> + </property> + </widget> + <widget class="QLabel" name="lbUiScaleFactor"> + <property name="geometry"> + <rect> + <x>40</x> + <y>30</y> + <width>401</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>Коэффициент размера интерфейса:</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_1"> + <property name="geometry"> + <rect> + <x>40</x> + <y>150</y> + <width>401</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>Адрес домена 1</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_2"> + <property name="geometry"> + <rect> + <x>540</x> + <y>150</y> + <width>401</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>Адрес домена 2</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_3"> + <property name="geometry"> + <rect> + <x>40</x> + <y>270</y> + <width>401</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>Настройки сети:</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbSetting_4"> + <property name="geometry"> + <rect> + <x>530</x> + <y>300</y> + <width>431</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>13</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>.....................................................................................................</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_4"> + <property name="geometry"> + <rect> + <x>540</x> + <y>270</y> + <width>401</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>Настройка 4</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLineEdit" name="lineEdit"> + <property name="geometry"> + <rect> + <x>40</x> + <y>190</y> + <width>411</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + <property name="text"> + <string/> + </property> + <property name="maxLength"> + <number>250</number> + </property> + </widget> + <widget class="QLineEdit" name="lineEdit_2"> + <property name="geometry"> + <rect> + <x>540</x> + <y>190</y> + <width>411</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + <property name="maxLength"> + <number>250</number> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_5"> + <property name="geometry"> + <rect> + <x>40</x> + <y>310</y> + <width>61</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>APN</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLineEdit" name="lineEdit_3"> + <property name="geometry"> + <rect> + <x>100</x> + <y>310</y> + <width>351</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + <property name="maxLength"> + <number>50</number> + </property> + </widget> + <widget class="QLineEdit" name="lineEdit_4"> + <property name="geometry"> + <rect> + <x>100</x> + <y>360</y> + <width>351</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + <property name="maxLength"> + <number>50</number> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_6"> + <property name="geometry"> + <rect> + <x>40</x> + <y>360</y> + <width>61</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>USER</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLineEdit" name="lineEdit_5"> + <property name="geometry"> + <rect> + <x>100</x> + <y>410</y> + <width>351</width> + <height>31</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> color: black; + font-size:18px; + border-color: lightgrey; + border-style: solid; + border-width: 1px; + border-radius: 6px; + padding-left: 18px; +</string> + </property> + <property name="maxLength"> + <number>50</number> + </property> + </widget> + <widget class="QLabel" name="lbSettingTitle_7"> + <property name="geometry"> + <rect> + <x>40</x> + <y>410</y> + <width>61</width> + <height>31</height> + </rect> + </property> + <property name="font"> + <font> + <family>Segoe WP SemiLight</family> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + <underline>false</underline> + <kerning>false</kerning> + </font> + </property> + <property name="styleSheet"> + <string notr="true">color:#869098;</string> + </property> + <property name="text"> + <string>PWD</string> + </property> + <property name="alignment"> + <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> + </property> + </widget> + </widget> + </widget> + <resources/> + <connections/> +</ui> diff --git a/utility.cpp b/utility.cpp new file mode 100644 index 0000000..4b96d3d --- /dev/null +++ b/utility.cpp @@ -0,0 +1,258 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "utility.h" +#include <cmath> +#include <QProgressDialog> +#include <QEventLoop> +#include <QNetworkAccessManager> +#include <QUrl> +#include <QNetworkRequest> +#include <QDebug> +#include <QNetworkReply> +#include <QMessageBox> +#include <QFile> +#include <QFileInfo> +#include <QtGlobal> +#include <QNetworkInterface> +#include <QDirIterator> + +#ifdef Q_OS_ANDROID +#include <QtAndroid> +#include <QAndroidJniObject> +#include <QAndroidJniEnvironment> +#endif + +Utility::Utility(QObject *parent) : QObject(parent) +{ + +} + +double Utility::map(double x, double in_min, double in_max, double out_min, double out_max) +{ + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} + +float Utility::throttle_curve(float val, float curve_acc, float curve_brake, int mode) +{ + float ret = 0.0; + float val_a = fabsf(val); + + if (val < -1.0f) { + val = -1.0; + } + + if (val > 1.0f) { + val = 1.0; + } + + float curve; + if (val >= 0.0f) { + curve = curve_acc; + } else { + curve = curve_brake; + } + + // See + // http://math.stackexchange.com/questions/297768/how-would-i-create-a-exponential-ramp-function-from-0-0-to-1-1-with-a-single-val + if (mode == 0) { // Power + if (curve >= 0.0f) { + ret = 1.0f - powf(1.0f - val_a, 1.0f + curve); + } else { + ret = powf(val_a, 1.0f - curve); + } + } else if (mode == 1) { // Exponential + if (fabsf(curve) < 1e-10f) { + ret = val_a; + } else { + if (curve >= 0.0f) { + ret = 1.0f - ((expf(curve * (1.0f - val_a)) - 1.0f) / (expf(curve) - 1.0f)); + } else { + ret = (expf(-curve * val_a) - 1.0f) / (expf(-curve) - 1.0f); + } + } + } else if (mode == 2) { // Polynomial + if (curve >= 0.0f) { + ret = 1.0f - ((1.0f - val_a) / (1.0f + curve * val_a)); + } else { + ret = val_a / (1.0f - curve * (1.0f - val_a)); + } + } else { // Linear + ret = val_a; + } + + if (val < 0.0f) { + ret = -ret; + } + + return ret; +} + +bool Utility::autoconnectBlockingWithProgress(BMSInterface *dieBieMS, QWidget *parent) +{ + if (!dieBieMS) { + return false; + } + + QProgressDialog dialog("Autoconnecting...", QString(), 0, 0, parent); + dialog.setWindowModality(Qt::WindowModal); + dialog.show(); + + bool res = dieBieMS->autoconnect(); + + if (!res) { + dieBieMS->emitMessageDialog(QObject::tr("Autoconnect"), + QObject::tr("Could not autoconnect. Make sure that the USB cable is plugged in" + " and that the ENNOID-BMS is powered."), + false); + } + + return res; +} + +void Utility::checkVersion(BMSInterface *dieBieMS) +{ + QString version = QString::number(DT_VERSION); + QUrl url("https://raw.githubusercontent.com/EnnoidMe/ENNOID-BMS-Tool/ENNOID/res/ennoidbmstool-version.html"); + QNetworkAccessManager manager; + QNetworkRequest request(url); + QNetworkReply *reply = manager.get(request); + QEventLoop loop; + QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit())); + loop.exec(); + + QString res = QString::fromUtf8(reply->readAll()); + + if (res.startsWith("ennoidbmstoolversion")) { + res.remove(0, 20); + res.remove(res.indexOf("ennoidbmstoolversion"), res.size()); + + if (res.toDouble() > version.toDouble()) { + if (dieBieMS) { + dieBieMS->emitStatusMessage("A new version of ENNOID-BMS Tool is available", true); + } else { + qDebug() << "A new version of ENNOID-BMS Tool is available. Go to www.ennoid.me to download it" + "and get all the latest features."; + } + } + } else { + qWarning() << res; + } +} + +QString Utility::fwChangeLog() +{ + QFile cl("://res/firmwares/CHANGELOG"); + if (cl.open(QIODevice::ReadOnly | QIODevice::Text)) { + return QString::fromUtf8(cl.readAll()); + } else { + return ""; + } +} + +QString Utility::vescToolChangeLog() +{ + QFile cl("://res/CHANGELOG"); + if (cl.open(QIODevice::ReadOnly | QIODevice::Text)) { + return QString::fromUtf8(cl.readAll()); + } else { + return ""; + } +} + +QString Utility::aboutText() +{ + return tr("<b>ENNOID-BMS Tool V%1</b><br>" + "&copy; Kevin Dionne 2019<br>" + "<a href=\"mailto:kevin.dionne@ennoid.me\">kevin.dionne@ennoid.me</a><br>" + "<a href=\"https://www.ennoid.me/\">https://www.ennoid.me/</a><br>" + "Based on: DieBieMS-tool<br>" + "<br>" + "<b>DieBieMS Tool </b><br>" + "&copy; Danny Bokma 2018<br>" + "<a href=\"mailto:bms@diebie.nl\">bms@diebie.nl</a><br>" + "<a href=\"https://diebie.nl/\">https://diebie.nl/</a><br>" + "Based on: VESC-tool<br>" + "<br>" + "<b>VESC Tool </b><br>" + "&copy; Benjamin Vedder 2018<br>" + "<a href=\"mailto:benjamin@vedder.se\">benjamin@vedder.se</a><br>" + "<a href=\"https://vesc-project.com/\">https://vesc-project.com/</a><br>" + "<br>"). + arg(QString::number(DT_VERSION, 'f', 1)); +} + +QString Utility::uuid2Str(QByteArray uuid, bool space) +{ + QString strUuid; + for (int i = 0;i < uuid.size();i++) { + QString str = QString::number(uuid.at(i), 16). + rightJustified(2, '0').toUpper(); + strUuid.append(((i > 0 && space) ? " " : "") + str); + } + + return strUuid; +} + +bool Utility::requestFilePermission() +{ +#ifdef Q_OS_ANDROID + // Note: The following should work on Qt 5.10 + // https://codereview.qt-project.org/#/c/199162/ +// QtAndroid::PermissionResult r = QtAndroid::checkPermission("android.permission.WRITE_EXTERNAL_STORAGE"); +// if(r == QtAndroid::PermissionResult::Denied) { +// QtAndroid::requestPermissionsSync( QStringList() << "android.permission.WRITE_EXTERNAL_STORAGE" ); +// r = QtAndroid::checkPermission("android.permission.WRITE_EXTERNAL_STORAGE"); +// if(r == QtAndroid::PermissionResult::Denied) { +// return false; +// } +// } + return true; +#else + return true; +#endif +} + +bool Utility::waitSignal(QObject *sender, QString signal, int timeoutMs) +{ + QEventLoop loop; + QTimer timeoutTimer; + timeoutTimer.setSingleShot(true); + timeoutTimer.start(timeoutMs); + auto conn1 = QObject::connect(sender, signal.toLocal8Bit().data(), &loop, SLOT(quit())); + auto conn2 = QObject::connect(&timeoutTimer, SIGNAL(timeout()), &loop, SLOT(quit())); + loop.exec(); + + QObject::disconnect(conn1); + QObject::disconnect(conn2); + + return timeoutTimer.isActive(); +} + +bool Utility::almostEqual(double A, double B, double eps) +{ + return fabs(A - B) <= eps * fmax(1.0f, fmax(fabs(A), fabs(B))); +} + diff --git a/utility.h b/utility.h new file mode 100644 index 0000000..f600f1f --- /dev/null +++ b/utility.h @@ -0,0 +1,62 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef UTILITY_H +#define UTILITY_H + +#include <QObject> +#include <QMetaEnum> +#include <cstdint> +#include "bmsinterface.h" + +class Utility : public QObject +{ + Q_OBJECT + +public: + explicit Utility(QObject *parent = nullptr); + + static double map(double x, double in_min, double in_max, double out_min, double out_max); + static float throttle_curve(float val, float curve_acc, float curve_brake, int mode); + static bool autoconnectBlockingWithProgress(BMSInterface *dieBieMS, QWidget *parent = 0); + Q_INVOKABLE static void checkVersion(BMSInterface *dieBieMS = 0); + Q_INVOKABLE static QString fwChangeLog(); + Q_INVOKABLE static QString vescToolChangeLog(); + Q_INVOKABLE static QString aboutText(); + Q_INVOKABLE static QString uuid2Str(QByteArray uuid, bool space); + Q_INVOKABLE static bool requestFilePermission(); + Q_INVOKABLE static bool waitSignal(QObject *sender, QString signal, int timeoutMs); + Q_INVOKABLE static bool almostEqual(double A, double B, double eps); + template<typename QEnum> + static QString QEnumToQString (const QEnum value) { + return QString(QMetaEnum::fromType<QEnum>().valueToKey(value)); + } + +signals: + +public slots: +}; + +#endif // UTILITY_H diff --git a/vbytearray.cpp b/vbytearray.cpp new file mode 100644 index 0000000..60c00b8 --- /dev/null +++ b/vbytearray.cpp @@ -0,0 +1,248 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "vbytearray.h" +#include <cmath> +#include <stdint.h> + +namespace { +inline double roundDouble(double x) { + return x < 0.0 ? ceil(x - 0.5) : floor(x + 0.5); +} +} + +VByteArray::VByteArray() +{ + +} + +VByteArray::VByteArray(const QByteArray &data) : QByteArray(data) +{ + +} + +void VByteArray::vbAppendInt32(qint32 number) +{ + QByteArray data; + data.append((char)((number >> 24) & 0xFF)); + data.append((char)((number >> 16) & 0xFF)); + data.append((char)((number >> 8) & 0xFF)); + data.append((char)(number & 0xFF)); + append(data); +} + +void VByteArray::vbAppendUint32(quint32 number) +{ + QByteArray data; + data.append((char)((number >> 24) & 0xFF)); + data.append((char)((number >> 16) & 0xFF)); + data.append((char)((number >> 8) & 0xFF)); + data.append((char)(number & 0xFF)); + append(data); +} + +void VByteArray::vbAppendInt16(qint16 number) +{ + QByteArray data; + data.append((char)((number >> 8) & 0xFF)); + data.append((char)(number & 0xFF)); + append(data); +} + +void VByteArray::vbAppendUint16(quint16 number) +{ + QByteArray data; + data.append((char)((number >> 8) & 0xFF)); + data.append((char)(number & 0xFF)); + append(data); +} + +void VByteArray::vbAppendInt8(qint8 number) +{ + append((char)number); +} + +void VByteArray::vbAppendUint8(quint8 number) +{ + append((char)number); +} + +void VByteArray::vbAppendDouble32(double number, double scale) +{ + vbAppendInt32((qint32)roundDouble(number * scale)); +} + +void VByteArray::vbAppendDouble16(double number, double scale) +{ + vbAppendInt32((qint16)roundDouble(number * scale)); +} + +void VByteArray::vbAppendDouble32Auto(double number) +{ + int e = 0; + float fr = frexpf(number, &e); + float fr_abs = fabsf(fr); + uint32_t fr_s = 0; + + if (fr_abs >= 0.5) { + fr_s = (uint32_t)((fr_abs - 0.5f) * 2.0f * 8388608.0f); + e += 126; + } + + uint32_t res = ((e & 0xFF) << 23) | (fr_s & 0x7FFFFF); + if (fr < 0) { + res |= 1 << 31; + } + + vbAppendUint32(res); +} + +void VByteArray::vbAppendString(QString str) +{ + append(str.toLocal8Bit()); + append((char)0); +} + +qint32 VByteArray::vbPopFrontInt32() +{ + if (size() < 4) { + return 0; + } + + qint32 res = ((quint8) at(0)) << 24 | + ((quint8) at(1)) << 16 | + ((quint8) at(2)) << 8 | + ((quint8) at(3)); + + remove(0, 4); + return res; +} + +quint32 VByteArray::vbPopFrontUint32() +{ + if (size() < 4) { + return 0; + } + + quint32 res = ((quint8) at(0)) << 24 | + ((quint8) at(1)) << 16 | + ((quint8) at(2)) << 8 | + ((quint8) at(3)); + + remove(0, 4); + return res; +} + +qint16 VByteArray::vbPopFrontInt16() +{ + if (size() < 2) { + return 0; + } + + qint16 res = ((quint8) at(0)) << 8 | + ((quint8) at(1)); + + remove(0, 2); + return res; +} + +quint16 VByteArray::vbPopFrontUint16() +{ + if (size() < 2) { + return 0; + } + + quint16 res = ((quint8) at(0)) << 8 | + ((quint8) at(1)); + + remove(0, 2); + return res; +} + +qint8 VByteArray::vbPopFrontInt8() +{ + if (size() < 1) { + return 0; + } + + qint8 res = (quint8)at(0); + + remove(0, 1); + return res; +} + +quint8 VByteArray::vbPopFrontUint8() +{ + if (size() < 1) { + return 0; + } + + quint8 res = (quint8)at(0); + + remove(0, 1); + return res; +} + +double VByteArray::vbPopFrontDouble32(double scale) +{ + return (double)vbPopFrontInt32() / scale; +} + +double VByteArray::vbPopFrontDouble16(double scale) +{ + return (double)vbPopFrontInt16() / scale; +} + +double VByteArray::vbPopFrontDouble32Auto() +{ + uint32_t res = vbPopFrontUint32(); + + int e = (res >> 23) & 0xFF; + int fr = res & 0x7FFFFF; + bool negative = res & (1 << 31); + + float f = 0.0; + if (e != 0 || fr != 0) { + f = (float)fr / (8388608.0 * 2.0) + 0.5; + e -= 126; + } + + if (negative) { + f = -f; + } + + return ldexpf(f, e); +} + +QString VByteArray::vbPopFrontString() +{ + if (size() < 1) { + return QString(); + } + + QString str(data()); + remove(0, str.size() + 1); + return str; +} diff --git a/vbytearray.h b/vbytearray.h new file mode 100644 index 0000000..40bc86b --- /dev/null +++ b/vbytearray.h @@ -0,0 +1,62 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#ifndef VBYTEARRAY_H +#define VBYTEARRAY_H + +#include <QByteArray> +#include <QString> + +class VByteArray : public QByteArray +{ +public: + VByteArray(); + VByteArray(const QByteArray &data); + + void vbAppendInt32(qint32 number); + void vbAppendUint32(quint32 number); + void vbAppendInt16(qint16 number); + void vbAppendUint16(quint16 number); + void vbAppendInt8(qint8 number); + void vbAppendUint8(quint8 number); + void vbAppendDouble32(double number, double scale); + void vbAppendDouble16(double number, double scale); + void vbAppendDouble32Auto(double number); + void vbAppendString(QString str); + + qint32 vbPopFrontInt32(); + quint32 vbPopFrontUint32(); + qint16 vbPopFrontInt16(); + quint16 vbPopFrontUint16(); + qint8 vbPopFrontInt8(); + quint8 vbPopFrontUint8(); + double vbPopFrontDouble32(double scale); + double vbPopFrontDouble16(double scale); + double vbPopFrontDouble32Auto(); + QString vbPopFrontString(); + +}; + +#endif // VBYTEARRAY_H diff --git a/visualizationchart.cpp b/visualizationchart.cpp new file mode 100644 index 0000000..c5567ee --- /dev/null +++ b/visualizationchart.cpp @@ -0,0 +1,723 @@ +#include "visualizationchart.h" +#include <QGraphicsView> +#include <QGraphicsScene> +#include <vector> +#include <iomanip> +#include <cmath> + +// https://russianblogs.com/article/5807234373/ + +double calculateDistance(std::pair<int, int> &x, std::pair<int, int> &y) +{ + return std::sqrt(std::pow(x.first - y.first, 2) + + std::pow(x.second - y.second, 2)); +} + +double calculateDistance(std::pair<double, double> &x, std::pair<double, double> &y) +{ + return std::sqrt(std::pow(x.first - y.first, 2) + + std::pow(x.second - y.second, 2)); +} + +double distanceBetweenTwoPointsOnOneAxis(int x1, int x2) +{ + vector<std::pair<int, int>> vec = { {x1, 0} , {x2, 0}, }; + double dist = calculateDistance(vec[0], vec[1]); + return dist; +} + + + +VisualizationChart::VisualizationChart() + : QChart(), + mQue(1,1) +{ + initChart(); +} +VisualizationChart::VisualizationChart(int w, int h, bool keepXGrowToTheRight, bool keepYFullRange) + : QChart(), mW(w), mH(h), mMakeXaxisLengtGrowToTheRightAccordingIncommingXdata(keepXGrowToTheRight), + mMakeYaxisLengtAutoResizeAccordingIncommingYdata(!keepYFullRange), + mQue(1,1) +{ + initChart(); +} +VisualizationChart::VisualizationChart(int w, int h, int minY, int maxY, bool keepXGrowToTheRight, bool keepYFullRange) + : QChart(), mW(w), mH(h), mMinY(minY), mMaxY(maxY), + mMakeXaxisLengtGrowToTheRightAccordingIncommingXdata(keepXGrowToTheRight), + mMakeYaxisLengtAutoResizeAccordingIncommingYdata(!keepYFullRange), + mQue(1,1) +{ + initChart(); +} + + +void VisualizationChart::initChart() +{ + axisX = new QValueAxis(); + axisY = new QValueAxis(); + + //axisX->setTickType(QValueAxis::TickType) + QPen penNoLine(Qt::lightGray, 1, Qt::NoPen, Qt::FlatCap); + QPen penLine(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + QPen penDots(Qt::lightGray, 1, Qt::DotLine, Qt::FlatCap); + + axisX->setLinePen(penLine); + //axisX->setShadesPen(penDots); + axisX->setGridLinePen(penNoLine); + + axisY->setLinePen(penNoLine); + //axisX->setShadesPen(penDots); + axisY->setGridLinePen(penDots); + + + //axisX->setTickCount(1); + axisX->setTickCount(1); + axisX->setTickInterval(30); + //axisX->setRange(xmin, xmax); + axisY->setRange(mMinY - mQue.offset(), mMaxY + mQue.offset()); + //axisY->setRange(mMinY, mMaxY); + //axisY->setRange(ymin, ymax); + + mRangeY = static_cast<int>(distanceBetweenTwoPointsOnOneAxis(mMinY, mMaxY)); + mQue.setSize(mRangeY); + + // legend + this->legend()->hide(); + this->addAxis(axisX, Qt::AlignBottom); // X + this->addAxis(axisY, Qt::AlignRight); // Y // Qt::AlignLeft + + // Vertial line that follows maouse cursor + QFont fontXYTitle(this->legend()->font()); + fontXYTitle.setPixelSize(18); + + m_lineVert = new QGraphicsLineItem(this); + QPen pen1(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + m_lineVert->setPen(pen1); + + m_lineVertText = new QGraphicsTextItem(this); + m_lineVertText->setPlainText(""); + m_lineVertText->setDefaultTextColor(Qt::black); + m_lineVertText->setFont(fontXYTitle); + + /* + if(mEnableOurCustomAxesOrDeafultAxesInstead) + { + axisX->hide(); + axisY->hide(); + + // < - 981 -> // V 441 ^ // + // int h = this->plotArea().height(); + // int w = this->plotArea().width(); + // int w = parent()-(); + // int h = parent()->height(); + + { + // <- ^ + QGraphicsRectItem *rect = new QGraphicsRectItem(this); + QPen penR(Qt::magenta, 1, Qt::SolidLine, Qt::FlatCap); + rect->setPen(penR); + rect->setRect(0, 0, 10, 10); + } + { + // <- V + QGraphicsRectItem *rect = new QGraphicsRectItem(this); + QPen penR(Qt::magenta, 1, Qt::SolidLine, Qt::FlatCap); + rect->setPen(penR); + rect->setRect(0, 430, 10, 10); + } + { + // -> ^ + QGraphicsRectItem *rect = new QGraphicsRectItem(this); + QPen penR(Qt::magenta, 1, Qt::SolidLine, Qt::FlatCap); + rect->setPen(penR); + rect->setRect(910, 0, 10, 10); + } + + + + // + m_coordX = new QGraphicsSimpleTextItem(this); + m_coordX->setPos(this->size().width() / 2 - 50, this->size().height()); + // m_coordX->setText("X: "); + m_coordY = new QGraphicsSimpleTextItem(this); + m_coordY->setPos(this->size().width() / 2 + 50, this->size().height()); + // m_coordY->setText("Y: "); + */ + + mChartYTitle = new QGraphicsTextItem(this); + mChartYTitle->setPlainText("Параметр, П"); //("Температура, °C"); + mChartYTitle->setFont(fontXYTitle); + mChartYTitle->setDefaultTextColor(Qt::lightGray); + //mChartYTitle->setX(50); // size().width() + mChartYTitle->setX(mW * 0.040 );// / 20); + //mChartYTitle->setY(10); // size().height() + mChartYTitle->setY(mH * 0.01 ); // / 40); + + mChartXTitle = new QGraphicsTextItem(this); + mChartXTitle->setPlainText("Время, с"); + mChartXTitle->setFont(mChartYTitle->font()); + mChartXTitle->setDefaultTextColor(Qt::lightGray); + //mChartXTitle->setX(880 - 50); // size().width() + mChartXTitle->setX(mW * 0.85); + //mChartXTitle->setY(410); // size().height() + mChartXTitle->setY(mH * 0.93); + + /* + + // m_lineHoriz1->setLine(m_coordX->pos().x(), m_coordX->pos().y() + yStep, size().width(), m_coordX->pos().y() + + // yStep); + + int hundred100= mH+10; + double onepercent = (double)hundred100 / 100.0; + + //mRangeY; //6; + + int step = 0; + int a = mRangeY; + if((a>0)&&(a<=10)) { + step = 1; + } + else if((a>10)&&(a<=50)) { + step = 5; + } + else if((a>50)&&(a<=100)) { + step = 10; + } + else if((a>100)&&(a<=250)) { + step = 25; + } + else if((a>250)&&(a<=500)) { + step = 50; + } + else if((a>500)&&(a<=1000)) { + step = 100; + } + else if((a>1000)&&(a<=5000)) { + step = 500; + } + else if((a>5000)&&(10000<=a)) { + step = 1000; + } + + int horizLines = mRangeY / step; + int yStep = step; //mRangeY / horizLines ; //10; + int xStart = 45; + int yTop = hundred100 * 0.130434; //60; + int xEnd = xStart + 880; + int yBottom = hundred100 * 1.0; //460; + int yLen = yBottom - yTop; + int xLen = xEnd - xStart; + int yPartsLen = yLen / horizLines; + //int yPartsLen = yLen / ; + int xPartsLen = xLen / horizLines; + int iPart = 0; + int xhTextEndOffset = hundred100 * 0.04347826; //20; + int yhTextTopOffset = hundred100 * 0.0652173913; //30; + + + // Dot Y lines with numbers on right side + + QPen penDots(Qt::lightGray, 1, Qt::DotLine, Qt::FlatCap); + QPen penLast(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + + mlinesHoriz.clear(); + for(int i = 0, ilen = horizLines; i<ilen; i++) { + mlinesHoriz.push_back(new QGraphicsLineItem(this)); + } + + + for(int i = 0, ilen = horizLines; i<ilen; i++) { + mlinesHoriz[i]->setPen(penDots); //->setFont(fontXYTitle); + if(i == (ilen - 1)) + mlinesHoriz[i]->setPen(penLast); //->setFont(fontXYTitle); + } + + + for(int iPart = 0, ilen = horizLines; iPart<ilen; iPart++) { + mlinesHoriz[iPart]->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); //mlinesHoriz.push_back(new QGraphicsTextItem(this)); + } + + + + mTextsHoriz.clear(); + // Text near Lines + for(int i = 0, ilen = horizLines; i<ilen; i++) { + mTextsHoriz.push_back(new QGraphicsTextItem(this)); + } + + for(int i = 0, number = mMaxY, ilen = mTextsHoriz.size(); i<ilen; i++) { + if(i==0) + mTextsHoriz[i]->setPlainText(""); + else + { + number -= yStep; + mTextsHoriz[i]->setPlainText(QString::number(number)); + } + } + + + for(int i = 0, ilen = mTextsHoriz.size(); i<ilen; i++) { + mTextsHoriz[i]->setDefaultTextColor(Qt::lightGray); + } + + + for(int i = 0, ilen = mTextsHoriz.size(); i<ilen; i++) { + mTextsHoriz[i]->setFont(fontXYTitle); + } + + + for(int iPart = 0, ilen = mTextsHoriz.size(); iPart<ilen; iPart++) { + //mTextsHoriz[i]->setFont(fontXYTitle); + mTextsHoriz[iPart]->setPos(xEnd - xhTextEndOffset, yTop + (iPart * yPartsLen) - yhTextTopOffset); + } + + + + // Time textes on X Axis + + QPen penSolid(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + m_lineVert1 = new QGraphicsLineItem(this); + m_lineVert2 = new QGraphicsLineItem(this); + m_lineVert3 = new QGraphicsLineItem(this); + m_lineVert4 = new QGraphicsLineItem(this); + m_lineVert5 = new QGraphicsLineItem(this); + m_lineVert6 = new QGraphicsLineItem(this); + + m_lineVert1->setPen(penSolid); + m_lineVert2->setPen(penSolid); + m_lineVert3->setPen(penSolid); + m_lineVert4->setPen(penSolid); + m_lineVert5->setPen(penSolid); + m_lineVert6->setPen(penSolid); + + iPart = 0; m_lineVert1->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert2->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert3->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert4->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert5->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert6->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + + // Time textes on X Axis + + // + // + // + // mTextVert1 Vert2 Vert3 ... VertN + + mTextVert1 = new QGraphicsTextItem(this); + mTextVert2 = new QGraphicsTextItem(this); + mTextVert3 = new QGraphicsTextItem(this); + mTextVert4 = new QGraphicsTextItem(this); + mTextVert5 = new QGraphicsTextItem(this); + mTextVert6 = new QGraphicsTextItem(this); + + mTextVert1->setPlainText("0"); + mTextVert2->setPlainText("30"); + mTextVert3->setPlainText("60"); + mTextVert4->setPlainText("90"); + mTextVert5->setPlainText("120"); + mTextVert6->setPlainText("150"); + + mTextVert1->setDefaultTextColor(Qt::lightGray); + mTextVert2->setDefaultTextColor(Qt::lightGray); + mTextVert3->setDefaultTextColor(Qt::lightGray); + mTextVert4->setDefaultTextColor(Qt::lightGray); + mTextVert5->setDefaultTextColor(Qt::lightGray); + mTextVert6->setDefaultTextColor(Qt::lightGray); + + mTextVert1->setFont(fontXYTitle); + mTextVert2->setFont(fontXYTitle); + mTextVert3->setFont(fontXYTitle); + mTextVert4->setFont(fontXYTitle); + mTextVert5->setFont(fontXYTitle); + mTextVert6->setFont(fontXYTitle); + + iPart = 0; + mTextVert1->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert2->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert3->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert4->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert5->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert6->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + + } // mEnableDeafultAxesOrOurCustomAxesInstead + */ + + + // + // THIS IS IMPORTANT !!! + // + setAcceptHoverEvents(true); +} + + +void VisualizationChart::hideSeriesWithNumber(int number) +{ + bool found = (mSeriesMap.count(number) >= 1); + if(!found) + return; + mSeriesMap[number]->setColor(Qt::transparent); +} + +void VisualizationChart::showSeriesWithNumber(int number) +{ + bool found = (mSeriesMap.count(number) >= 1); + if(!found) + return; + mSeriesMap[number]->setColor(mSeriesMap[number]->pointLabelsColor()); +} + +void VisualizationChart::getSeriesWithNumberNameAndColor(int number, QString &name, QColor &color) +{ + bool found = (mSeriesMap.count(number) >= 1); + if(!found) + return; + name = mSeriesMap[number]->name(); + color = mSeriesMap[number]->color(); +} + + +void VisualizationChart::addSeriesWithNumber(int number, QString name, QColor color) +{ + bool found = (mSeriesMap.count(number) >= 1); + if(found) + return; + + //connect(newSer, &QSplineSeries::pointAdded, this, &VisualizationChart::onPointAdded); + + mSeriesMap.insert(number, new QSplineSeries(this)); + mSeriesMap[number]->setName(name); + mSeriesMap[number]->setColor(color); + mSeriesMap[number]->setPointLabelsColor(color); + + // !! IMPORTANAT !!! CALL THIS FIRST + this->addSeries(mSeriesMap[number]); + + // !! IMPORTANAT !!! CALL THIS SECOND + mSeriesMap[number]->attachAxis(axisX); + mSeriesMap[number]->attachAxis(axisY); +} + + + +void VisualizationChart::setTitleForX(QString s) +{ + mChartXTitle->setPlainText(s); +} + +void VisualizationChart::setTitleForY(QString s) +{ + mChartYTitle->setPlainText(s); +} + + +QSplineSeries* VisualizationChart::getSplineSeries(int num) +{ + bool found = (this->mSeriesMap.count(num) >= 1); + return (found ? this->mSeriesMap[num] : nullptr); +} +QColor VisualizationChart::getSplineSeriesColor(int num) +{ + bool found = (this->mSeriesMap.count(num) >= 1); + return (found ? this->mSeriesMap[num]->color() : QColor(0,0,0)); +} + + +void VisualizationChart::append(const QPointF point) +{ + mQue.add(point.y()); +} + +void VisualizationChart::appendPointToSeries(int serNum, const QPointF point) +{ + mQue.add(point.y()); + + *mSeriesMap[serNum] << QPointF(point.x(), point.y()); + + refreshSeries(serNum); +} + +void VisualizationChart::append(const qreal x, const qreal y) +{ + append(QPointF(x, y)); +} +void VisualizationChart::append(const qreal y) +{ + append(QPointF(++xi, y)); +} + +void VisualizationChart::appendNextX() +{ + (++xi); +} +void VisualizationChart::appendYToSeries(int serNum, const qreal y) +{ + appendPointToSeries(serNum, QPointF(xi, y)); +} + +VisualizationChart &VisualizationChart::operator+=(const QPointF point) +{ + append(point); + return *this; +} +VisualizationChart &VisualizationChart::operator+=(const qreal y) +{ + append(y); + return *this; +} + +VisualizationChart &VisualizationChart::operator<<(const QPointF point) +{ + append(point); + return *this; +} +VisualizationChart &VisualizationChart::operator<<(const qreal y) +{ + append(y); + return *this; +} + + +void VisualizationChart::refreshSeries(int serNum) +{ + auto series = mSeriesMap[serNum]; + auto points = series->points(); + + int x = 0, y = 0; + x = (points.last().x()); + y = (points.last().y()); + + // Delete the first items if the number of points has reached a threshold + while (series->points().length() > 0 && series->points().length() >= xlimit) + series->remove(0); + + if (points.size() == 0) + return; + + xmin = xmax = x; + ymax = y; + + // Update the chart area + for (int i = 0; i < series->count(); i++) { + const QPointF &point = series->at(i); + + if (point.x() > xmax) + xmax = (point.x()); + + if (point.x() < xmin) + xmin = (point.x()); + + if (point.y() > ymax) + ymax = (point.y()); + } + + ymin = 0; + //ymax = ymax + yeps; + + // Update the axis + if(mMakeXaxisLengtGrowToTheRightAccordingIncommingXdata) + { + axisX->setRange(0, xmax); + } + else + { + axisX->setRange(xmin, xmax); + } + + if(mMakeYaxisLengtAutoResizeAccordingIncommingYdata) + { + int min_ = mQue.min(); + int max_ = mQue.max(); + + int min = mQue.min() - mQue.offset(); + int max = mQue.max() + mQue.offset(); + + axisY->setRange(min, max); + } + else + { + // keep Y axis static from the start + int min = mMinY - mQue.offset(); + int max = mMaxY + mQue.offset(); + + axisY->setRange(min , max); + } +} + + +void VisualizationChart::show15MinutesXIntervalNearCursor(QGraphicsSceneHoverEvent *event) +{ + int x1 = event->scenePos().x(); + int y1 = 58; + int x2 = x1; + int y2 = size().height() - 50; // y1 + 100; + m_lineVert->setLine(x1, y1, x2, y2); + QChart::hoverEnterEvent(event); + + int secs = x1 - 45; + + emit sendSecs(secs); + + if (secs <= 0) + m_lineVertText->setPlainText(QString("")); + else if (secs < 60) + m_lineVertText->setPlainText(QString("%1 с").arg(secs)); + else if (secs % 60 == 0) + m_lineVertText->setPlainText(QString("%1 мин").arg(secs / 60)); + else if (secs > 60) + m_lineVertText->setPlainText(QString("%1 мин %2 с").arg(secs / 60).arg(secs % 60)); + + m_lineVertText->setPos(x1, y1 + 20); +} + +void VisualizationChart::showCoordinatesNearCursor(QGraphicsSceneHoverEvent *event) +{ + int x = event->scenePos().x(); + int y = event->scenePos().y(); + m_lineVertText->setPlainText(QString("%1 %2").arg(x).arg(y)); + m_lineVertText->setPos(x, y); +} + +void VisualizationChart::showUpdatedCoordinatesNearCursor(QGraphicsSceneHoverEvent *event) +{ + static int chartTopY = 39; + static int chartLeftX = 39; + static int chartBottomY = 385; + static int chartRightX = 910; + static int chartFullX = chartRightX - chartLeftX; + + int x = (event->scenePos().x() - chartLeftX); + if(x<0 || x>chartRightX) x = 0; + int y = (event->scenePos().y() - chartTopY); + if(y<0 || x>chartBottomY) y = 0; + + //this->axisX->; + int min = axisX->min(); + int max = axisX->max(); + int width = max - min; + + int secs = xi; + int onePart = chartFullX / secs; + int halfPart = onePart / 2; + int val = 0; + for(int i = 0, ilen = secs, left=0, right=0; i<ilen; ++i) + { + left = i * onePart; + right = (i+1) * onePart; + if(x>=left && x<=right) + { + if(x>=left && x<=left+halfPart) { + val = i+1; + break; + } + if(x>=right-halfPart && x<=right) { + val = i+2; + break; + } + } + } + + //m_lineVertText->setPlainText(QString("%1 %2 - %3 %4 ").arg(min).arg(max).arg(x).arg(y)); + //m_lineVertText->setPlainText(QString("%1 %2 ").arg(x).arg(y)); + m_lineVertText->setPlainText(QString("%1 %2 %3 ").arg(val).arg(x).arg(y)); + m_lineVertText->setPos(x, y); +} + +void VisualizationChart::hoverMoveEvent(QGraphicsSceneHoverEvent *event) +{ + //this->axisX->; + int ssecs = xi; + int min = axisX->min(); + int max = axisX->max(); + + int width = max - min; + if(width==0) // DEVISION BY ZERO + return; + + int ssecsModWidth = ssecs % width; + if(ssecs==0 || width==0 || ssecsModWidth==0) // DEVISION BY ZERO + return; + + + //show15MinutesXIntervalNearCursor(event); + //showCoordinatesNearCursor(event); + //showUpdatedCoordinatesNearCursor(event); + bool showAllSecondsPassedOutsideRangeOfAxisXThatItShows = true; + + int x1 = event->scenePos().x(); + int y1 = 40; + int x2 = x1; + int y2 = size().height() - 58; // y1 + 100; + m_lineVert->setLine(x1, y1, x2, y2); + QChart::hoverEnterEvent(event); + + int secs = x1 - 45; + + emit sendSecs(secs); + + if(showAllSecondsPassedOutsideRangeOfAxisXThatItShows) + if(ssecs-1 > width) + ssecs = width; //ssecs = ssecs % width; //val = val % width; + + static int chartTopY = 39; + static int chartLeftX = 25; + static int chartBottomY = 385; + static int chartRightX = 900; + static int chartFullX = chartRightX - chartLeftX; + + int x = (event->scenePos().x() - chartLeftX); + x = (x<0 || x>chartRightX) ? 0 : x; + + int y = (event->scenePos().y() - chartTopY); + y = (y<0 || x>chartBottomY) ? 0 : y; + + int onePart = chartFullX / ssecs; + int halfPart = onePart / 2; + int val = 0; + for(int i = 0, ilen = ssecs, left=0, right=0; i<ilen; ++i) + { + left = i * onePart; + right = (i+1) * onePart; + if(x>=left && x<=right) + { + if(x>=left && x<=left+halfPart) { + val = i; //i+1; + break; + } + if(x>=right-halfPart && x<=right) { + val = i+1; //i+2; + break; + } + } + } + + + //m_lineVertText->setPlainText(QString("%1 %2 - %3 %4 ").arg(min).arg(max).arg(x).arg(y)); + //m_lineVertText->setPlainText(QString("%1 %2 ").arg(x).arg(y)); + //m_lineVertText->setPlainText(QString("%1 %2 %3 ").arg(val).arg(x).arg(y)); + + if (val <= 0) + m_lineVertText->setPlainText(QString("")); + else if (val < 60) + m_lineVertText->setPlainText(QString("%1 с").arg(val)); + else if (val % 60 == 0) + m_lineVertText->setPlainText(QString("%1 мин").arg(val / 60)); + else if (val > 60) + m_lineVertText->setPlainText(QString("%1 мин %2 с").arg(val / 60).arg(val % 60)); + + m_lineVertText->setPos(x1, y1 + 20); +} + +void VisualizationChart::mouseMoveEvent(QGraphicsSceneMouseEvent *event) +{ + // ensure it is visible + if (this->isVisible()) { + // Update cursor position (text to be displayed) + QString string = QString("%1, %2").arg(event->scenePos().x()).arg(event->scenePos().y()); + } +} diff --git a/visualizationchart.h b/visualizationchart.h new file mode 100644 index 0000000..126ce6f --- /dev/null +++ b/visualizationchart.h @@ -0,0 +1,219 @@ +#ifndef VISUALIZATIONCHART_H +#define VISUALIZATIONCHART_H + +#include <iostream> +#include <QObject> +#include <QList> +#include <QMap> +#include <QQueue> +#include <QtCharts/QChartView> +#include <QtCharts/QBarSeries> +#include <QtCharts/QBarSet> +#include <QtCharts/QLineSeries> +#include <QtCharts/QSplineSeries> + +#include <QtCharts/QLegend> +#include <QtCharts/QBarCategoryAxis> +#include <QtCharts/QValueAxis> +#include <QDebug> +#include <QLineF> +#include <QGraphicsSceneMouseEvent> + +QT_CHARTS_USE_NAMESPACE +using namespace std; + +class CircularQueue +{ +public: + CircularQueue() = default; + CircularQueue(int offset, int step) + : mOffset(offset), mStep(step) + {} + + void setSize(int size) + { + mSize=size; + } + + void add(int v) + { + if(mQue.size() == mSize ) { + + mQue.pop_front(); + mQue.push_back(v); + } + else { + mQue.push_back(v); + } + + auto mm = std::minmax_element(mQue.begin(), mQue.end()); + mMin = *mm.first; + mMax = *mm.second; + } + + int min() + { + return mMin; + } + int max() + { + return mMax; + } + int offset() + { + return mOffset; + } + void addOffset() + { + mOffset = mOffset + mStep; + } + + QList<int>& container() { return mQue; } +private: + QList<int> mQue; + int mSize=1; + + int mMin=0; + int mMax=0; + + int mOffset = 10; + int mStep = 1; +}; + +class VisualizationChart : public QChart +{ + Q_OBJECT + +public: + VisualizationChart(); + VisualizationChart(int w, int h, bool keepXGrowToTheRight = false, bool keepYFullRange = false); + VisualizationChart(int w, int h, int minY, int maxY, bool keepXGrowToTheRight = false, bool keepYFullRange = false); + + void addSeriesWithNumber(int number, QString name, QColor color); + void getSeriesWithNumberNameAndColor(int number, QString &name, QColor &color); + + void hideSeriesWithNumber(int number); + void showSeriesWithNumber(int number); + + QSplineSeries & getSeries(); + QSplineSeries &getSplineSeries(); + + void appendPointToSeries(int serNum, const QPointF point); + void appendNextX(); + void appendYToSeries(int serNum, const qreal y); + void refreshSeries(int serNum); + + void append(const QPointF point); + void append(const qreal x, const qreal y); + void append(const qreal y); + + VisualizationChart &operator+=(const QPointF point); + VisualizationChart &operator+=(const qreal y); + VisualizationChart &operator<<(const QPointF point); + VisualizationChart &operator<<(const qreal y); + + void setTitleForX(QString s); + void setTitleForY(QString s); + +signals: + void sendSecs(int secs); + +protected: + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void hoverMoveEvent(QGraphicsSceneHoverEvent *event); + + void show15MinutesXIntervalNearCursor(QGraphicsSceneHoverEvent *event); + void showCoordinatesNearCursor(QGraphicsSceneHoverEvent *event); + void showUpdatedCoordinatesNearCursor(QGraphicsSceneHoverEvent *event); + +private: + int mW = 0; + int mH = 0; + + int xi = 0; + const int xeps = 0; + // const int yeps = 10; + const int yeps = 500; + int mMaxY = 60; + int mMinY = -60; + int mRangeY = mMaxY - mMinY; + int mMinYExtraPixelsUnderMinimumY = 1; + int mMaxYExtraPixelsOverMaximumY = 1; + + int xlimit = (60 * 3) + 2; //10 + 2; + //int xlimit = (60 * 3) + 2; //10 + 2; + //int xlimit = 150; + + int xmin, xmax; + int ymin, ymax; + + // + bool mMakeXaxisLengtGrowToTheRightAccordingIncommingXdata = false; + bool mMakeYaxisLengtAutoResizeAccordingIncommingYdata = true; + + + CircularQueue mQue; + + QValueAxis *axisX; + QValueAxis *axisY; + + QMap<int , QSplineSeries *> mSeriesMap; + + + //QSplineSeries* getSplineSeries(int num); + QSplineSeries* getSplineSeries(int num); + QColor getSplineSeriesColor(int num); + + //QSplineSeries *ssMax; + //QSplineSeries *ssMid; + //QSplineSeries *ssMin; + + QColor getFirstSeriesColor(); + QColor getSecondSeriesColor(); + QColor getThirdSeriesColor(); + + QGraphicsTextItem *mChartYTitle; + QGraphicsTextItem *mChartXTitle; + + QVector<QGraphicsLineItem *> mlinesHoriz; + QGraphicsLineItem *m_lineHoriz1; + QGraphicsLineItem *m_lineHoriz2; + QGraphicsLineItem *m_lineHoriz3; + QGraphicsLineItem *m_lineHoriz4; + QGraphicsLineItem *m_lineHoriz5; + QGraphicsLineItem *m_lineHorizX; + + QVector<QGraphicsTextItem *> mTextsHoriz; + QGraphicsTextItem *mTextHoriz1; + QGraphicsTextItem *mTextHoriz2; + QGraphicsTextItem *mTextHoriz3; + QGraphicsTextItem *mTextHoriz4; + QGraphicsTextItem *mTextHoriz5; + + QGraphicsLineItem *m_lineVert1; + QGraphicsLineItem *m_lineVert2; + QGraphicsLineItem *m_lineVert3; + QGraphicsLineItem *m_lineVert4; + QGraphicsLineItem *m_lineVert5; + QGraphicsLineItem *m_lineVert6; + + QGraphicsTextItem *mTextVert1; + QGraphicsTextItem *mTextVert2; + QGraphicsTextItem *mTextVert3; + QGraphicsTextItem *mTextVert4; + QGraphicsTextItem *mTextVert5; + QGraphicsTextItem *mTextVert6; + + QGraphicsLineItem *mLineLegendWhiteBackground; + + QGraphicsLineItem *m_lineVert; + QGraphicsTextItem *m_lineVertText; + + QGraphicsSimpleTextItem *m_coordX; + QGraphicsSimpleTextItem *m_coordY; + + void initChart(); + void initChartOld(); +}; + +#endif // VISUALIZATIONCHART_H diff --git a/visualizationchartexperiments.cpp b/visualizationchartexperiments.cpp new file mode 100644 index 0000000..ab5499c --- /dev/null +++ b/visualizationchartexperiments.cpp @@ -0,0 +1,883 @@ +#if 0 + +// code from 2022.03.22 + +#include "visualizationchart.h" +#include <QGraphicsView> +#include <QGraphicsScene> +#include <vector> +#include <iomanip> +#include <cmath> + +// https://russianblogs.com/article/5807234373/ + +double calculateDistance(std::pair<int, int> &x, std::pair<int, int> &y) +{ + return std::sqrt(std::pow(x.first - y.first, 2) + + std::pow(x.second - y.second, 2)); +} + +double calculateDistance(std::pair<double, double> &x, std::pair<double, double> &y) +{ + return std::sqrt(std::pow(x.first - y.first, 2) + + std::pow(x.second - y.second, 2)); +} + +double distanceBetweenTwoPointsOnOneAxis(int x1, int x2) +{ + vector<std::pair<int, int>> vec = { {x1, 0} , {x2, 0}, }; + double dist = calculateDistance(vec[0], vec[1]); + return dist; +} + + + +VisualizationChart::VisualizationChart() : QChart(), mQue(1,1) +{ + initChart(); +} +VisualizationChart::VisualizationChart(int w, int h, int minY, int maxY, bool keepXGrowToTheRight, bool keepYFullRange) + : QChart(), mW(w), mH(h), mMinY(minY), mMaxY(maxY), mMakeXaxisLengtGrowToTheRightAccordingIncommingXdata(keepXGrowToTheRight), mMakeYaxisLengtAutoResizeAccordingIncommingYdata(!keepYFullRange), mQue(1,1) +{ + initChart(); +} + +void VisualizationChart::initChart() +{ + xi = 0; + + xmin = 0; + xmax = 10 + xeps; + ymin = 0; + // ymax = 500 + yeps; + ymax = yeps; + + axisX = new QValueAxis(); + axisY = new QValueAxis(); + + axisX->setTickCount(1); + axisX->setRange(xmin, xmax); + + axisY->setRange(mMinY - mQue.offset(), mMaxY + mQue.offset()); + //axisY->setRange(mMinY, mMaxY); + //axisY->setRange(ymin, ymax); + + //mMaxY = 60; + //mMinY = 0; + mRangeY = static_cast<int>(distanceBetweenTwoPointsOnOneAxis(mMinY, mMaxY)); + mQue.setSize(mRangeY); + + // legend + this->legend()->hide(); + this->legend()->setAlignment(Qt::AlignBottom); + QFont font(this->legend()->font()); + font.setPixelSize(18); + font.setBold(true); + this->legend()->setFont(font); + + // X + this->addAxis(axisX, Qt::AlignBottom); + // Y + //this->addAxis(axisY, Qt::AlignLeft); + this->addAxis(axisY, Qt::AlignRight); + + +/* // Series + ssMax = new QSplineSeries(this); + ssMid = new QSplineSeries(this); + ssMin = new QSplineSeries(this); + + ssMax->setName(tr("Максимальная", "Series name")); + ssMid->setName(tr("Средняя", "Series name")); + ssMin->setName(tr("Низкая", "Series name")); + + ssMax->setColor(Qt::red); + ssMid->setColor(Qt::green); + ssMin->setColor(Qt::yellow); + + this->addSeries(ssMax); + this->addSeries(ssMid); + this->addSeries(ssMin); + + ssMax->attachAxis(axisX); + ssMax->attachAxis(axisY); + + ssMid->attachAxis(axisX); + ssMid->attachAxis(axisY); + + ssMin->attachAxis(axisX); + ssMin->attachAxis(axisY); + + connect(ssMax, &QSplineSeries::pointAdded, this, &VisualizationChart::onPointAdded); +*/ + + // Vertial line that follows maouse cursor + + QFont fontXYTitle(this->legend()->font()); + fontXYTitle.setPixelSize(18); + + m_lineVert = new QGraphicsLineItem(this); + QPen pen1(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + m_lineVert->setPen(pen1); + + m_lineVertText = new QGraphicsTextItem(this); + m_lineVertText->setPlainText(""); + m_lineVertText->setDefaultTextColor(Qt::black); + m_lineVertText->setFont(fontXYTitle); + + + + if(mEnableOurCustomAxesOrDeafultAxesInstead) + { + axisX->hide(); + axisY->hide(); + + // < - 981 -> // V 441 ^ // + // int h = this->plotArea().height(); + // int w = this->plotArea().width(); + // int w = parent()-(); + // int h = parent()->height(); + + { + // <- ^ + QGraphicsRectItem *rect = new QGraphicsRectItem(this); + QPen penR(Qt::magenta, 1, Qt::SolidLine, Qt::FlatCap); + rect->setPen(penR); + rect->setRect(0, 0, 10, 10); + } + { + // <- V + QGraphicsRectItem *rect = new QGraphicsRectItem(this); + QPen penR(Qt::magenta, 1, Qt::SolidLine, Qt::FlatCap); + rect->setPen(penR); + rect->setRect(0, 430, 10, 10); + } + { + // -> ^ + QGraphicsRectItem *rect = new QGraphicsRectItem(this); + QPen penR(Qt::magenta, 1, Qt::SolidLine, Qt::FlatCap); + rect->setPen(penR); + rect->setRect(910, 0, 10, 10); + } + + + + // + m_coordX = new QGraphicsSimpleTextItem(this); + m_coordX->setPos(this->size().width() / 2 - 50, this->size().height()); + // m_coordX->setText("X: "); + m_coordY = new QGraphicsSimpleTextItem(this); + m_coordY->setPos(this->size().width() / 2 + 50, this->size().height()); + // m_coordY->setText("Y: "); + + mChartYTitle = new QGraphicsTextItem(this); + mChartYTitle->setPlainText("Температура, °C"); + mChartYTitle->setFont(fontXYTitle); + mChartYTitle->setDefaultTextColor(Qt::lightGray); + mChartYTitle->setX(50); // size().width() + mChartYTitle->setY(30); // size().height() + + mChartXTitle = new QGraphicsTextItem(this); + mChartXTitle->setPlainText("Время, с"); + mChartXTitle->setFont(mChartYTitle->font()); + mChartXTitle->setDefaultTextColor(Qt::lightGray); + mChartXTitle->setX(880 - 50); // size().width() + mChartXTitle->setY(390); // size().height() + + + // m_lineHoriz1->setLine(m_coordX->pos().x(), m_coordX->pos().y() + yStep, size().width(), m_coordX->pos().y() + + // yStep); + /* + int xStart = 45; + int yTop = 60; + int xEnd = xStart + 880; + int yBottom = 460; + int yLen = yBottom - yTop; + int xLen = xEnd - xStart; + int yPartsLen = yLen / 6; + int xPartsLen = xLen / 6; + int iPart = 0; + */ + int hundred100= mH+10; + double onepercent = (double)hundred100 / 100.0; + + //mRangeY; //6; + + int step = 0; + int a = mRangeY; + if((a>0)&&(a<=10)) { + step = 1; + } + else if((a>10)&&(a<=50)) { + step = 5; + } + else if((a>50)&&(a<=100)) { + step = 10; + } + else if((a>100)&&(a<=250)) { + step = 25; + } + else if((a>250)&&(a<=500)) { + step = 50; + } + else if((a>500)&&(a<=1000)) { + step = 100; + } + else if((a>1000)&&(a<=5000)) { + step = 500; + } + else if((a>5000)&&(10000<=a)) { + step = 1000; + } + + int horizLines = mRangeY / step; + int yStep = step; //mRangeY / horizLines ; //10; + int xStart = 45; + int yTop = hundred100 * 0.130434; //60; + int xEnd = xStart + 880; + int yBottom = hundred100 * 1.0; //460; + int yLen = yBottom - yTop; + int xLen = xEnd - xStart; + int yPartsLen = yLen / horizLines; + //int yPartsLen = yLen / ; + int xPartsLen = xLen / horizLines; + int iPart = 0; + int xhTextEndOffset = hundred100 * 0.04347826; //20; + int yhTextTopOffset = hundred100 * 0.0652173913; //30; + + + // Dot Y lines with numbers on right side + + QPen penDots(Qt::lightGray, 1, Qt::DotLine, Qt::FlatCap); + QPen penLast(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + + mlinesHoriz.clear(); + for(int i = 0, ilen = horizLines; i<ilen; i++) { + mlinesHoriz.push_back(new QGraphicsLineItem(this)); + } + /* + m_lineHoriz1 = new QGraphicsLineItem(this); + m_lineHoriz2 = new QGraphicsLineItem(this); + m_lineHoriz3 = new QGraphicsLineItem(this); + m_lineHoriz4 = new QGraphicsLineItem(this); + m_lineHoriz5 = new QGraphicsLineItem(this); + m_lineHorizX = new QGraphicsLineItem(this); + */ + for(int i = 0, ilen = horizLines; i<ilen; i++) { + mlinesHoriz[i]->setPen(penDots); //->setFont(fontXYTitle); + if(i == (ilen - 1)) + mlinesHoriz[i]->setPen(penLast); //->setFont(fontXYTitle); + } + /* + m_lineHoriz1->setPen(penDots); + m_lineHoriz2->setPen(penDots); + m_lineHoriz3->setPen(penDots); + m_lineHoriz4->setPen(penDots); + m_lineHoriz5->setPen(penDots); + m_lineHorizX->setPen(penLast); + */ + for(int iPart = 0, ilen = horizLines; iPart<ilen; iPart++) { + mlinesHoriz[iPart]->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); //mlinesHoriz.push_back(new QGraphicsTextItem(this)); + } + /* + iPart=0; m_lineHoriz1->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); + ++iPart; m_lineHoriz2->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); + ++iPart; m_lineHoriz3->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); + ++iPart; m_lineHoriz4->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); + ++iPart; m_lineHoriz5->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); + ++iPart; m_lineHorizX->setLine(xStart, yTop + (iPart * yPartsLen), xEnd, yTop + (iPart * yPartsLen)); + */ + + mTextsHoriz.clear(); + // Text near Lines + for(int i = 0, ilen = horizLines; i<ilen; i++) { + mTextsHoriz.push_back(new QGraphicsTextItem(this)); + } + /* + mTextHoriz1 = new QGraphicsTextItem(this); + mTextHoriz2 = new QGraphicsTextItem(this); + mTextHoriz3 = new QGraphicsTextItem(this); + mTextHoriz4 = new QGraphicsTextItem(this); + mTextHoriz5 = new QGraphicsTextItem(this); + */ + for(int i = 0, number = mMaxY, ilen = mTextsHoriz.size(); i<ilen; i++) { + if(i==0) + mTextsHoriz[i]->setPlainText(""); + else + { + number -= yStep; + mTextsHoriz[i]->setPlainText(QString::number(number)); + } + } + /* + mTextHoriz1->setPlainText(""); + mTextHoriz2->setPlainText("40"); + mTextHoriz3->setPlainText("30"); + mTextHoriz4->setPlainText("20"); + mTextHoriz5->setPlainText("10"); + */ + for(int i = 0, ilen = mTextsHoriz.size(); i<ilen; i++) { + mTextsHoriz[i]->setDefaultTextColor(Qt::lightGray); + } + /* + mTextHoriz1->setDefaultTextColor(Qt::lightGray); + mTextHoriz2->setDefaultTextColor(Qt::lightGray); + mTextHoriz3->setDefaultTextColor(Qt::lightGray); + mTextHoriz4->setDefaultTextColor(Qt::lightGray); + mTextHoriz5->setDefaultTextColor(Qt::lightGray); + */ + for(int i = 0, ilen = mTextsHoriz.size(); i<ilen; i++) { + mTextsHoriz[i]->setFont(fontXYTitle); + } + /* + mTextHoriz1->setFont(fontXYTitle); + mTextHoriz2->setFont(fontXYTitle); + mTextHoriz3->setFont(fontXYTitle); + mTextHoriz4->setFont(fontXYTitle); + mTextHoriz5->setFont(fontXYTitle); + */ + for(int iPart = 0, ilen = mTextsHoriz.size(); iPart<ilen; iPart++) { + //mTextsHoriz[i]->setFont(fontXYTitle); + mTextsHoriz[iPart]->setPos(xEnd - xhTextEndOffset, yTop + (iPart * yPartsLen) - yhTextTopOffset); + } + /* + iPart = 0; mTextHoriz1->setPos(xEnd - 20, yTop + (iPart * yPartsLen) - 30); + ++iPart; mTextHoriz2->setPos(xEnd - 20, yTop + (iPart * yPartsLen) - 30); + ++iPart; mTextHoriz3->setPos(xEnd - 20, yTop + (iPart * yPartsLen) - 30); + ++iPart; mTextHoriz4->setPos(xEnd - 20, yTop + (iPart * yPartsLen) - 30); + ++iPart; mTextHoriz5->setPos(xEnd - 20, yTop + (iPart * yPartsLen) - 30); + */ + + // Time textes on X Axis + + QPen penSolid(Qt::lightGray, 1, Qt::SolidLine, Qt::FlatCap); + m_lineVert1 = new QGraphicsLineItem(this); + m_lineVert2 = new QGraphicsLineItem(this); + m_lineVert3 = new QGraphicsLineItem(this); + m_lineVert4 = new QGraphicsLineItem(this); + m_lineVert5 = new QGraphicsLineItem(this); + m_lineVert6 = new QGraphicsLineItem(this); + + m_lineVert1->setPen(penSolid); + m_lineVert2->setPen(penSolid); + m_lineVert3->setPen(penSolid); + m_lineVert4->setPen(penSolid); + m_lineVert5->setPen(penSolid); + m_lineVert6->setPen(penSolid); + + iPart = 0; m_lineVert1->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert2->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert3->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert4->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert5->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + ++iPart; m_lineVert6->setLine(xStart + (iPart * xPartsLen), yBottom - yPartsLen - 4, xStart + (iPart * xPartsLen), yBottom - yPartsLen + 30); + + // Time textes on X Axis + + // + // + // + // mTextVert1 Vert2 Vert3 ... VertN + + mTextVert1 = new QGraphicsTextItem(this); + mTextVert2 = new QGraphicsTextItem(this); + mTextVert3 = new QGraphicsTextItem(this); + mTextVert4 = new QGraphicsTextItem(this); + mTextVert5 = new QGraphicsTextItem(this); + mTextVert6 = new QGraphicsTextItem(this); + + mTextVert1->setPlainText("0"); + mTextVert2->setPlainText("30"); + mTextVert3->setPlainText("60"); + mTextVert4->setPlainText("90"); + mTextVert5->setPlainText("120"); + mTextVert6->setPlainText("150"); + + mTextVert1->setDefaultTextColor(Qt::lightGray); + mTextVert2->setDefaultTextColor(Qt::lightGray); + mTextVert3->setDefaultTextColor(Qt::lightGray); + mTextVert4->setDefaultTextColor(Qt::lightGray); + mTextVert5->setDefaultTextColor(Qt::lightGray); + mTextVert6->setDefaultTextColor(Qt::lightGray); + + mTextVert1->setFont(fontXYTitle); + mTextVert2->setFont(fontXYTitle); + mTextVert3->setFont(fontXYTitle); + mTextVert4->setFont(fontXYTitle); + mTextVert5->setFont(fontXYTitle); + mTextVert6->setFont(fontXYTitle); + + iPart = 0; + mTextVert1->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert2->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert3->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert4->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert5->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + ++iPart; + mTextVert6->setPos(xStart + (iPart * xPartsLen) + 5, yBottom - yPartsLen); + + } // mEnableDeafultAxesOrOurCustomAxesInstead + + // + // THIS IS IMPORTANT !!! + // + setAcceptHoverEvents(true); +} + +void VisualizationChart::addSeriesWithNumber(int number, QString name, QColor color) +{ + bool found = (mSeriesMap.count(number) >= 1); + if(found) + return; +/* + QSplineSeries* newSer = new QSplineSeries(this); + newSer->setName(name); + newSer->setColor(color); + newSer->attachAxis(axisX); + newSer->attachAxis(axisY); + + //connect(newSer, &QSplineSeries::pointAdded, this, &VisualizationChart::onPointAdded); + + mSeriesMap.insert(number, newSer); +*/ + + + //connect(newSer, &QSplineSeries::pointAdded, this, &VisualizationChart::onPointAdded); + + mSeriesMap.insert(number, new QLineSeries(this)); + mSeriesMap[number]->setName(name); + mSeriesMap[number]->setColor(color); + + // !! IMPORTANAT !!! CALL THIS FIRST + this->addSeries(mSeriesMap[number]); + + // !! IMPORTANAT !!! CALL THIS SECOND + mSeriesMap[number]->attachAxis(axisX); + mSeriesMap[number]->attachAxis(axisY); + + /*// Series + ssMax = new QSplineSeries(this); + ssMax->setName(tr("Максимальная")); + ssMax->setColor(Qt::red); + this->addSeries(ssMax); + ssMax->attachAxis(axisX); + ssMax->attachAxis(axisY); + */ +} + + + +void VisualizationChart::setTitleForX(QString s) +{ + mChartXTitle->setPlainText(s); +} + +void VisualizationChart::setTitleForY(QString s) +{ + mChartYTitle->setPlainText(s); +} + + +QLineSeries* VisualizationChart::getSplineSeries(int num) +{ + bool found = (this->mSeriesMap.count(num) >= 1); + return (found ? this->mSeriesMap[num] : nullptr); +} +QColor VisualizationChart::getSplineSeriesColor(int num) +{ + bool found = (this->mSeriesMap.count(num) >= 1); + return (found ? this->mSeriesMap[num]->color() : QColor(0,0,0)); +} + +/* +QSplineSeries &VisualizationChart::getSplineSeries() +{ + return *(this->ssMax); +} + +QColor VisualizationChart::getFirstSeriesColor() +{ + return ssMax->color(); +} +QColor VisualizationChart::getSecondSeriesColor() +{ + return ssMid->color(); +} +QColor VisualizationChart::getThirdSeriesColor() +{ + return ssMin->color(); +} +*/ + +void VisualizationChart::append(const QPointF point) +{ + //auto mm = std::minmax_element(ssMax->points().begin(), ssMax->points().end()); + //qDebug() << *mm.first << *mm.second; + mQue.add(point.y()); + //mQue.addOffset(); + + + //*ssMax << QPointF(point.x(), point.y() - 0); + //*ssMid << QPointF(point.x(),point.y() - 5); + //*ssMin << QPointF(point.x(),point.y() - 10); +} + +void VisualizationChart::appendPointToSeries(int serNum, const QPointF point) +{ + //auto mm = std::minmax_element(ssMax->points().begin(), ssMax->points().end()); + //qDebug() << *mm.first << *mm.second; + + mQue.add(point.y()); + + *mSeriesMap[serNum] << QPointF(point.x(), point.y()); + + refreshSeries(serNum); + + //if(mSeriesMap[serNum] == mSeriesMap.first()) + // *ssMax << QPointF(point.x(), point.y() - 0); + //*ssMid << QPointF(point.x(),point.y() - 5); + //*ssMin << QPointF(point.x(),point.y() - 10); +} + +void VisualizationChart::append(const qreal x, const qreal y) +{ + append(QPointF(x, y)); +} +void VisualizationChart::append(const qreal y) +{ + append(QPointF(++xi, y)); +} + +void VisualizationChart::appendNextX() +{ + (++xi); +} +void VisualizationChart::appendYToSeries(int serNum, const qreal y) +{ + appendPointToSeries(serNum, QPointF(xi, y)); +} + +VisualizationChart &VisualizationChart::operator+=(const QPointF point) +{ + append(point); + return *this; +} +VisualizationChart &VisualizationChart::operator+=(const qreal y) +{ + append(y); + return *this; +} + +VisualizationChart &VisualizationChart::operator<<(const QPointF point) +{ + append(point); + return *this; +} +VisualizationChart &VisualizationChart::operator<<(const qreal y) +{ + append(y); + return *this; +} + + +void VisualizationChart::refreshSeries(int serNum) +{ + auto series = mSeriesMap[serNum]; + auto points = series->points(); + + int x = 0, y = 0; + x = (points.last().x()); + y = (points.last().y()); + + // Delete the first items if the number of points has reached a threshold + while (series->points().length() > 0 && series->points().length() >= xlimit) + series->remove(0); + + if (points.size() == 0) + return; + + xmin = xmax = x; + ymax = y; + + // Update the chart area + for (int i = 0; i < series->count(); i++) { + const QPointF &point = series->at(i); + + if (point.x() > xmax) + xmax = (point.x()); + + if (point.x() < xmin) + xmin = (point.x()); + + if (point.y() > ymax) + ymax = (point.y()); + } + + ymin = 0; + //ymax = ymax + yeps; + + // Update the axis + if(mMakeXaxisLengtGrowToTheRightAccordingIncommingXdata) + { + axisX->setRange(0, xmax); + } + else + { + axisX->setRange(xmin, xmax); + } + + if(mMakeYaxisLengtAutoResizeAccordingIncommingYdata) + { + int min = mQue.min() - mQue.offset(); + int max = mQue.max() + mQue.offset(); + + axisY->setRange(min, max); + } + else + { + // keep Y axis static from the start + int min = mMinY - mQue.offset(); + int max = mMaxY + mQue.offset(); + + axisY->setRange(min , max); + } +} + +void VisualizationChart::onPointAdded(int index) +{ + /* + auto series = ssMax; + auto points = ssMax->points(); + + int x = 0, y = 0; + x = (ssMax->points()[index].x()); + y = (ssMax->points()[index].y()); + + // Delete the first items if the number of points has reached a threshold + while (ssMax->points().length() > 0 && ssMax->points().length() >= xlimit) + series->remove(0); + + if (points.size() == 0) + return; + + xmin = xmax = x; + ymax = y; + + // Update the chart area + for (int i = 0; i < series->count(); i++) { + const QPointF &point = series->at(i); + + if (point.x() > xmax) + xmax = (point.x()); + + if (point.x() < xmin) + xmin = (point.x()); + + if (point.y() > ymax) + ymax = (point.y()); + } + + xmin = xmin; + xmax = xmax; + ymin = 0; + // ymax = ymax + yeps; + ymax = ymax; + + // Update the axis + axisX->setRange(xmin, xmax); + + //axisY->setRange(ymin, ymax); + //axisY->setRange(mQue.min() - mQue.offset(), mQue.max() + mQue.offset()); + + if(mMakeYaxisLengtAutoResizeAccordingIncommingYdata) + { + axisY->setRange(mQue.min() - mQue.offset(), mQue.max() + mQue.offset()); + } + else + { + // keep Y axis static from the start + axisY->setRange(mMinY - mQue.offset(), mMaxY + mQue.offset()); + } + //*/ +/* + int a = 0; + + if(mMakeYaxisLengtAutoResizeAccordingIncommingYdata) + { + axisY->setRange(mQue.min() - mQue.offset(), mQue.max() + mQue.offset()); + } + else + { + // keep Y axis static from the start + axisY->setRange(mMinY - mQue.offset(), mMaxY + mQue.offset()); + } +*/ +} + +void VisualizationChart::showCoordinatesNearCursor(QGraphicsSceneHoverEvent *event) +{ + int x = event->scenePos().x(); + int y = event->scenePos().y(); + m_lineVertText->setPlainText(QString("%1 %2").arg(x).arg(y)); + m_lineVertText->setPos(x, y); +} + +void VisualizationChart::showUpdatedCoordinatesNearCursor(QGraphicsSceneHoverEvent *event) +{ + static int chartTopY = 39; + static int chartLeftX = 39; + static int chartBottomY = 385; + static int chartRightX = 910; + static int chartFullX = chartRightX - chartLeftX; + + int x = (event->scenePos().x() - chartLeftX); + if(x<0 || x>chartRightX) x = 0; + int y = (event->scenePos().y() - chartTopY); + if(y<0 || x>chartBottomY) y = 0; + + //this->axisX->; + int min = axisX->min(); + int max = axisX->max(); + int width = max - min; + + int secs = xi; + int onePart = chartFullX / secs; + int halfPart = onePart / 2; + int val = 0; + for(int i = 0, ilen = secs, left=0, right=0; i<ilen; ++i) + { + left = i * onePart; + right = (i+1) * onePart; + if(x>=left && x<=right) + { + if(x>=left && x<=left+halfPart) { + val = i+1; + break; + } + if(x>=right-halfPart && x<=right) { + val = i+2; + break; + } + } + } + + //m_lineVertText->setPlainText(QString("%1 %2 - %3 %4 ").arg(min).arg(max).arg(x).arg(y)); + //m_lineVertText->setPlainText(QString("%1 %2 ").arg(x).arg(y)); + m_lineVertText->setPlainText(QString("%1 %2 %3 ").arg(val).arg(x).arg(y)); + m_lineVertText->setPos(x, y); +} + +void VisualizationChart::hoverMoveEvent(QGraphicsSceneHoverEvent *event) +{ + //axisX-> + //if(m_coordX) + // int xx = m_coordX->pos().x(); + //if(m_coordX) + // int yy = m_coordX->pos().y(); + + +#if VERSION_1 + int x1 = event->scenePos().x(); + int y1 = 58; + int x2 = x1; + int y2 = size().height() - 50; // y1 + 100; + m_lineVert->setLine(x1, y1, x2, y2); + QChart::hoverEnterEvent(event); + + int secs = x1 - 45; + + emit sendSecs(secs); + + if (secs <= 0) + m_lineVertText->setPlainText(QString("")); + else if (secs < 60) + m_lineVertText->setPlainText(QString("%1 с").arg(secs)); + else if (secs % 60 == 0) + m_lineVertText->setPlainText(QString("%1 мин").arg(secs / 60)); + else if (secs > 60) + m_lineVertText->setPlainText(QString("%1 мин %2 с").arg(secs / 60).arg(secs % 60)); + + m_lineVertText->setPos(x1, y1 + 20); +#endif + + //showCoordinatesNearCursor(event); + //showUpdatedCoordinatesNearCursor(event); + + + int x1 = event->scenePos().x(); + int y1 = 58; + int x2 = x1; + int y2 = size().height() - 50; // y1 + 100; + m_lineVert->setLine(x1, y1, x2, y2); + QChart::hoverEnterEvent(event); + + int secs = x1 - 45; + + emit sendSecs(secs); + + static int chartTopY = 39; + static int chartLeftX = 25; + static int chartBottomY = 385; + static int chartRightX = 900; + static int chartFullX = chartRightX - chartLeftX; + + int x = (event->scenePos().x() - chartLeftX); + if(x<0 || x>chartRightX) x = 0; + int y = (event->scenePos().y() - chartTopY); + if(y<0 || x>chartBottomY) y = 0; + + //this->axisX->; + int min = axisX->min(); + int max = axisX->max(); + int width = max - min; + + int ssecs = xi; + int onePart = chartFullX / ssecs; + int halfPart = onePart / 2; + int val = 0; + for(int i = 0, ilen = ssecs, left=0, right=0; i<ilen; ++i) + { + left = i * onePart; + right = (i+1) * onePart; + if(x>=left && x<=right) + { + if(x>=left && x<=left+halfPart) { + val = i; //i+1; + break; + } + if(x>=right-halfPart && x<=right) { + val = i+1; //i+2; + break; + } + } + } + + //m_lineVertText->setPlainText(QString("%1 %2 - %3 %4 ").arg(min).arg(max).arg(x).arg(y)); + //m_lineVertText->setPlainText(QString("%1 %2 ").arg(x).arg(y)); + //m_lineVertText->setPlainText(QString("%1 %2 %3 ").arg(val).arg(x).arg(y)); + + if (val <= 0) + m_lineVertText->setPlainText(QString("")); + else if (val < 60) + m_lineVertText->setPlainText(QString("%1 с").arg(val)); + else if (val % 60 == 0) + m_lineVertText->setPlainText(QString("%1 мин").arg(val / 60)); + else if (val > 60) + m_lineVertText->setPlainText(QString("%1 мин %2 с").arg(val / 60).arg(val % 60)); + + m_lineVertText->setPos(x1, y1 + 20); +} + +void VisualizationChart::mouseMoveEvent(QGraphicsSceneMouseEvent *event) +{ + // ensure it is visible + if (this->isVisible()) { + // Update cursor position (text to be displayed) + QString string = QString("%1, %2").arg(event->scenePos().x()).arg(event->scenePos().y()); + } +} +#endif diff --git a/visualizationpage.cpp b/visualizationpage.cpp new file mode 100644 index 0000000..67411c4 --- /dev/null +++ b/visualizationpage.cpp @@ -0,0 +1,1433 @@ +#include "visualizationpage.h" +#include "ui_visualizationpage.h" +#include <QTimer> +#include <QRandomGenerator> + +VisualizationPage::VisualizationPage(QWidget *parent) : + QFrame(parent), + ui(new Ui::VisualizationPage), + mDieBieMS(nullptr) +{ + ui->setupUi(this); + + mIsThisPageActivated = false; + + ui->pbPlus->hide(); + ui->rtText->hide(); + ui->tempGraph->hide(); + ui->lbTCurTemp->hide(); + + ui->lbVTime->hide(); + ui->lbATime->hide(); + ui->lbTTime->hide(); + ui->lbCTime->hide(); + + //V + ui->lbVMidLegendVal->hide(); + ui->lbVMidLegendMeasure->hide(); + ui->lbVSecondLegendColorLine->hide(); + ui->lbVSecondLegendSubTitle->hide(); + //V + ui->lbVMinLegendVal->hide(); + ui->lbVMinLegendMeasure->hide(); + ui->lbVThirdLegendColorLine->hide(); + ui->lbVThirdLegendSubTitle->hide(); + + //A + ui->lbAMidLegendVal->hide(); + ui->lbAMidLegendMeasure->hide(); + ui->lbASecondLegendColorLine->hide(); + ui->lbASecondLegendSubTitle->hide(); + //A + ui->lbAMinLegendVal->hide(); + ui->lbAMinLegendMeasure->hide(); + ui->lbAThirdLegendColorLine->hide(); + ui->lbAThirdLegendSubTitle->hide(); + + ui->checkBox->hide(); + /* + ui->lbTMinLegendVal->hide(); + ui->lbTMinLegendMeasure->hide(); + ui->lbTThirdLegendColorLine->hide(); + ui->lbTThirdLegendSubTitle->hide(); + + ui->lbTMinLegendValBms->hide(); + ui->lbTMinLegendMeasureBms->hide(); + ui->lbTThirdLegendColorLineBms->hide(); + ui->lbTThirdLegendSubTitleBms->hide(); + */ + + + m_btnGroup = new QButtonGroup(this); + m_btnGroup->addButton(ui->pbVisualizationMenuBarVoltage ); + m_btnGroup->addButton(ui->pbVisualizationMenuBarAmperage ); + m_btnGroup->addButton(ui->pbVisualizationMenuBarTemperatureBat ); + m_btnGroup->addButton(ui->pbVisualizationMenuBarTemperatureBms ); + m_btnGroup->addButton(ui->pbVisualizationMenuBarCells ); + m_btnGroup->addButton(ui->pbVisualizationMenuBarCellsAll ); + + m_currentPageIndex = TabWidgetPage::TemperatureBat; + onTabBarButtonClicked(); + + chartV = new VisualizationChart(ui->chartViewVoltage->geometry().width(), ui->chartViewVoltage->geometry().height()); + chartV->setTitleForY("Напряжение, В"); + chartV->addSeriesWithNumber(VoltageMax , tr("Максимальная"), Qt::red); + //chartV->addSeriesWithNumber(VoltageMid , tr("Средняя"), Qt::green); + //chartV->addSeriesWithNumber(VoltageMin , tr("Низкая"), Qt::yellow); + + chartA = new VisualizationChart(ui->chartViewAmperage->geometry().width(), ui->chartViewAmperage->geometry().height()); + chartA->setTitleForY("Ток, А"); + chartA->addSeriesWithNumber(AmperageMax , tr("Максимальная"), Qt::red); + //chartA->addSeriesWithNumber(AmperageMid , tr("Средняя"), Qt::green); + //chartA->addSeriesWithNumber(AmperageMin , tr("Низкая"), Qt::yellow); + + + //ui->chartViewTemperature->geometry().width(), + //ui->chartViewTemperature->geometry().height(), + //-10, 50, false); + /* + chartT->addSeriesWithNumber(TemperatureMax , tr("Максимальная"), Qt::red); + chartT->addSeriesWithNumber(TemperatureMid , tr("Средняя"), Qt::green); + chartT->addSeriesWithNumber(TemperatureMin , tr("Низкая"), Qt::yellow); + */ + chartT = new VisualizationChart(ui->chartViewTemperature->geometry().width(), ui->chartViewTemperature->geometry().height()); + chartT->setTitleForY("Температура, °C"); + chartT->addSeriesWithNumber(TemperatureBatMax , tr("Максимальная"), Qt::red); + chartT->addSeriesWithNumber(TemperatureBatMid , tr("Средняя"), Qt::green); + chartT->addSeriesWithNumber(TemperatureBatMin , tr("Низкая"), Qt::yellow); + + chartTB = new VisualizationChart(ui->chartViewTemperatureBms->geometry().width(), ui->chartViewTemperatureBms->geometry().height()); + chartTB->setTitleForY("Температура, °C"); + chartTB->addSeriesWithNumber(TemperatureBmsMax , tr("Максимальная"), Qt::red); + chartTB->addSeriesWithNumber(TemperatureBmsMid , tr("Средняя"), Qt::green); + chartTB->addSeriesWithNumber(TemperatureBmsMin , tr("Низкая"), Qt::yellow); + + chartC = new VisualizationChart(ui->chartViewCells->geometry().width(), ui->chartViewCells->geometry().height()); + chartC->setTitleForY("Напряжение, В"); + chartC->addSeriesWithNumber(CellsMax , tr("Максимальная"), Qt::red); + chartC->addSeriesWithNumber(CellsMid , tr("Средняя"), Qt::green); + chartC->addSeriesWithNumber(CellsMin , tr("Низкая"), Qt::yellow); + + chartCA = new VisualizationChart(ui->chartViewCellsAll->geometry().width(), ui->chartViewCellsAll->geometry().height()); + chartCA->setTitleForY("Напряжение, В"); + initColorsForChartCellsAll(); + //chartCA->legend(); + /* + chartC->addSeriesWithNumber(CellsMax , tr("Максимальная"), Qt::red); + chartC->addSeriesWithNumber(CellsMid , tr("Средняя"), Qt::green); + chartC->addSeriesWithNumber(CellsMin , tr("Низкая"), Qt::yellow); + */ + + + //chartV->setTitleForY(tr("Напряжение, В")); + //chartA->setTitleForY(tr("Ток, А")); + //chartT->setTitleForY(tr("Температура, °C")); + //chartC->setTitleForY(tr("?????, ??")); + + ui->chartViewVoltage->setChart(chartV); + ui->chartViewAmperage->setChart(chartA); + ui->chartViewTemperature->setChart(chartT); + ui->chartViewTemperatureBms->setChart(chartTB); + ui->chartViewCells->setChart(chartC); + ui->chartViewCellsAll->setChart(chartCA); + + ui->chartViewVoltage->setRenderHint(QPainter::Antialiasing); + ui->chartViewAmperage->setRenderHint(QPainter::Antialiasing); + ui->chartViewTemperature->setRenderHint(QPainter::Antialiasing); + ui->chartViewTemperatureBms->setRenderHint(QPainter::Antialiasing); + ui->chartViewCells->setRenderHint(QPainter::Antialiasing); + ui->chartViewCellsAll->setRenderHint(QPainter::Antialiasing); + + + connect(chartV, &VisualizationChart::sendSecs, this, &VisualizationPage::onSetSecsV); + connect(chartA, &VisualizationChart::sendSecs, this, &VisualizationPage::onSetSecsA); + connect(chartT, &VisualizationChart::sendSecs, this, &VisualizationPage::onSetSecsT); + connect(chartTB, &VisualizationChart::sendSecs, this, &VisualizationPage::onSetSecsT); + connect(chartC, &VisualizationChart::sendSecs, this, &VisualizationPage::onSetSecsC); + //connect(chartCA, &VisualizationChart::sendSecs, this, &VisualizationPage::onSetSecsCA); + + connect(m_btnGroup, QOverload<QAbstractButton *>::of(&QButtonGroup::buttonClicked), this, &VisualizationPage::onTabBarButtonClicked); + + //initForPlot(); + + initForCharts(); + +#if TURN_ON_DUMMY_DATA_FLOW_TO_GRAPHS + onVisualizationPageSelected(); + initListWidgetOfCells(10); +#endif + +} + +VisualizationPage::~VisualizationPage() +{ + delete ui; +} + +int VisualizationPage::mOldCellsNumber = 0; + +void VisualizationPage::initListWidgetOfCells(int cells) +{ + bool doResetCellsList = (mOldCellsNumber != cells); + + mOldCellsNumber = cells; + + if(doResetCellsList) + { + ui->listwgtCells->clear(); + for(int i = 0; i < cells; ++i) + { + QListWidgetItem *item = new QListWidgetItem; + //item->setData(Qt::UserRole, i); + item->setData(Qt::CheckStateRole, Qt::Checked); + + QString name; + QColor color; + chartCA->getSeriesWithNumberNameAndColor(i, name, color); + QString cname = color.name(); + QString cnumber = QString::number(i+1); + + //item->setData(Qt::DisplayRole, "["+ QString::number(i+1) + "] - " + name ); + item->setData(Qt::DisplayRole, "["+ cnumber + "] - Ячейка " + cnumber ); + item->setForeground(color); //(Qt::red); + + //connect (item, QListWidgetItem:: ); + connect(ui->listwgtCells, &QListWidget::itemChanged, this, &VisualizationPage::onChecked); + + ui->listwgtCells->addItem(item); + } + } +} + +void VisualizationPage::onChecked(QListWidgetItem *item) +{ + int irow = ui->listwgtCells->row(item); // starts with ZERO + QString text = item->text(); + bool checked = (item->checkState() == Qt::CheckState::Checked); + //int colorMapIndex = item->data(Qt::UserRole).toInt(); + + + if(checked) //ui->checkBox->isChecked()) + { + chartCA->showSeriesWithNumber(irow); + } + else + { + chartCA->hideSeriesWithNumber(irow); + } + + //connect(ui->listwgtCells, &QListWidget::itemChanged, +} + + +void VisualizationPage::initColorsForChartCellsAll() +{ + //Qt::white + //Qt::color0 + //Qt::color1 + //chartCA->addSeriesWithNumber( CellQtwhite ,tr("CellQtwhite "), QColor(Qt::white ) ); + chartCA->addSeriesWithNumber( CellQtblack ,tr("CellQtblack "), QColor(Qt::black ) ); + chartCA->addSeriesWithNumber( CellQtdarkGray ,tr("CellQtdarkGray "), QColor(Qt::darkGray ) ); + chartCA->addSeriesWithNumber( CellQtgray ,tr("CellQtgray "), QColor(Qt::gray ) ); + chartCA->addSeriesWithNumber( CellQtlightGray ,tr("CellQtlightGray "), QColor(Qt::lightGray ) ); + chartCA->addSeriesWithNumber( CellQtred ,tr("CellQtred "), QColor(Qt::red ) ); + chartCA->addSeriesWithNumber( CellQtgreen ,tr("CellQtgreen "), QColor(Qt::green ) ); + chartCA->addSeriesWithNumber( CellQtblue ,tr("CellQtblue "), QColor(Qt::blue ) ); + chartCA->addSeriesWithNumber( CellQtcyan ,tr("CellQtcyan "), QColor(Qt::cyan ) ); + chartCA->addSeriesWithNumber( CellQtmagenta ,tr("CellQtmagenta "), QColor(Qt::magenta ) ); + chartCA->addSeriesWithNumber( CellQtyellow ,tr("CellQtyellow "), QColor(Qt::yellow ) ); + chartCA->addSeriesWithNumber( CellQtdarkRed ,tr("CellQtdarkRed "), QColor(Qt::darkRed ) ); + chartCA->addSeriesWithNumber( CellQtdarkGreen ,tr("CellQtdarkGreen "), QColor(Qt::darkGreen ) ); + chartCA->addSeriesWithNumber( CellQtdarkBlue ,tr("CellQtdarkBlue "), QColor(Qt::darkBlue ) ); + chartCA->addSeriesWithNumber( CellQtdarkCyan ,tr("CellQtdarkCyan "), QColor(Qt::darkCyan ) ); + chartCA->addSeriesWithNumber( CellQtdarkMagenta ,tr("CellQtdarkMagenta "), QColor(Qt::darkMagenta ) ); + chartCA->addSeriesWithNumber( CellQtdarkYellow ,tr("CellQtdarkYellow "), QColor(Qt::darkYellow ) ); + + + //chartCA->addSeriesWithNumber(CellsMax , tr("Максимальная"), Qt::red); + + chartCA->addSeriesWithNumber( CellAlmond ,tr("CellAlmond "), QColor("#EFDBC5") ); // 239,219,197 + chartCA->addSeriesWithNumber( CellAntiqueBrass ,tr("CellAntiqueBrass "), QColor("#CD9575") ); // 205,149,117 + chartCA->addSeriesWithNumber( CellApricot ,tr("CellApricot "), QColor("#FDD9B5") ); // 253,217,181 + chartCA->addSeriesWithNumber( CellAquamarine ,tr("CellAquamarine "), QColor("#78DBE2") ); // 120,219,226 + chartCA->addSeriesWithNumber( CellAsparagus ,tr("CellAsparagus "), QColor("#87A96B") ); // 135,169,107 + chartCA->addSeriesWithNumber( CellAtomicTangerine ,tr("CellAtomicTangerine "), QColor("#FFA474") ); // 255,164,116 + chartCA->addSeriesWithNumber( CellBananaMania ,tr("CellBananaMania "), QColor("#FAE7B5") ); // 250,231,181 + chartCA->addSeriesWithNumber( CellBeaver ,tr("CellBeaver "), QColor("#9F8170") ); // 159,129,112 + chartCA->addSeriesWithNumber( CellBittersweet ,tr("CellBittersweet "), QColor("#FD7C6E") ); // 253,124,110 + chartCA->addSeriesWithNumber( CellBlack ,tr("CellBlack "), QColor("#232323") ); // 35,35,35 + chartCA->addSeriesWithNumber( CellBlue ,tr("CellBlue "), QColor("#1F75FE") ); // 31,117,254 + chartCA->addSeriesWithNumber( CellBlueBell ,tr("CellBlueBell "), QColor("#ADADD6") ); // 173,173,214 + chartCA->addSeriesWithNumber( CellBlueGreen ,tr("CellBlueGreen "), QColor("#199EBD") ); // 25,158,189 + chartCA->addSeriesWithNumber( CellBlueViolet ,tr("CellBlueViolet "), QColor("#2E5090") ); // 115,102,189 + chartCA->addSeriesWithNumber( CellBluetiful ,tr("CellBluetiful "), QColor("#7366BD") ); // 46,80,144 + chartCA->addSeriesWithNumber( CellBlush ,tr("CellBlush "), QColor("#DE5D83") ); // 222,93,131 + chartCA->addSeriesWithNumber( CellBrickRed ,tr("CellBrickRed "), QColor("#CB4154") ); // 203,65,84 + chartCA->addSeriesWithNumber( CellBrown ,tr("CellBrown "), QColor("#B5674D") ); // 180,103,77 + chartCA->addSeriesWithNumber( CellBurntOrange ,tr("CellBurntOrange "), QColor("#FF7F49") ); // 255,127,73 + chartCA->addSeriesWithNumber( CellBurntSienna ,tr("CellBurntSienna "), QColor("#EA7E5D") ); // 234,126,93 + chartCA->addSeriesWithNumber( CellCadetBlue ,tr("CellCadetBlue "), QColor("#B0B7C6") ); // 176,183,198 + chartCA->addSeriesWithNumber( CellCanary ,tr("CellCanary "), QColor("#FFFF99") ); // 255,255,159 + chartCA->addSeriesWithNumber( CellCaribbeanGreen ,tr("CellCaribbeanGreen "), QColor("#1CD3A2") ); // 28,211,162 + chartCA->addSeriesWithNumber( CellCarnationPink ,tr("CellCarnationPink "), QColor("#FFAACC") ); // 255,170,204 + chartCA->addSeriesWithNumber( CellCerise ,tr("CellCerise "), QColor("#FF43A4") ); // 221,68,146 + chartCA->addSeriesWithNumber( CellCerulean ,tr("CellCerulean "), QColor("#1DACD6") ); // 29,172,214 + chartCA->addSeriesWithNumber( CellChestnut ,tr("CellChestnut "), QColor("#BC5D58") ); // 188,93,88 + chartCA->addSeriesWithNumber( CellCopper ,tr("CellCopper "), QColor("#DD9475") ); // 221,148,117 + chartCA->addSeriesWithNumber( CellCornflower ,tr("CellCornflower "), QColor("#9ACEEB") ); // 154,206,235 + chartCA->addSeriesWithNumber( CellCottonCandy ,tr("CellCottonCandy "), QColor("#FFBCD9") ); // 255,188,217 + chartCA->addSeriesWithNumber( CellDenim ,tr("CellDenim "), QColor("#2B6CC4") ); // 43,108,196 + chartCA->addSeriesWithNumber( CellDesertSand ,tr("CellDesertSand "), QColor("#EFCDB8") ); // 239,205,184 + chartCA->addSeriesWithNumber( CellEggplant ,tr("CellEggplant "), QColor("#DD4492") ); // 110,81,96 + chartCA->addSeriesWithNumber( CellElectricLime ,tr("CellElectricLime "), QColor("#1DF914") ); // 29,249,20 + chartCA->addSeriesWithNumber( CellFern ,tr("CellFern "), QColor("#71BC78") ); // 113,188,120 + chartCA->addSeriesWithNumber( CellForestGreen ,tr("CellForestGreen "), QColor("#6DAE81") ); // 109,174,129 + chartCA->addSeriesWithNumber( CellFuchsia ,tr("CellFuchsia "), QColor("#C364C5") ); // 195,100,197 + chartCA->addSeriesWithNumber( CellFuzzyWuzzy ,tr("CellFuzzyWuzzy "), QColor("#CC6666") ); // 204,102,102 + chartCA->addSeriesWithNumber( CellGold ,tr("CellGold "), QColor("#E7C697") ); // 231,198,151 + chartCA->addSeriesWithNumber( CellGoldenrod ,tr("CellGoldenrod "), QColor("#FCD975") ); // 255,217,117 + chartCA->addSeriesWithNumber( CellGrannySmithApple ,tr("CellGrannySmithApple "), QColor("#A8E4A0") ); // 168,228,160 + chartCA->addSeriesWithNumber( CellGray ,tr("CellGray "), QColor("#95918C") ); // 149,145,140 + chartCA->addSeriesWithNumber( CellGreen ,tr("CellGreen "), QColor("#1CAC78") ); // 28,172,120 + chartCA->addSeriesWithNumber( CellGreenYellow ,tr("CellGreenYellow "), QColor("#F0E891") ); // 240,232,145 + chartCA->addSeriesWithNumber( CellHotMagenta ,tr("CellHotMagenta "), QColor("#FF1DCE") ); // 255,29,206 + chartCA->addSeriesWithNumber( CellInchworm ,tr("CellInchworm "), QColor("#B2EC5D") ); // 178,236,93 + chartCA->addSeriesWithNumber( CellIndigo ,tr("CellIndigo "), QColor("#5D76CB") ); // 93,118,203 + chartCA->addSeriesWithNumber( CellJazzberryJam ,tr("CellJazzberryJam "), QColor("#CA3767") ); // 202,55,103 + chartCA->addSeriesWithNumber( CellJungleGreen ,tr("CellJungleGreen "), QColor("#3BB08F") ); // 59,176,143 + chartCA->addSeriesWithNumber( CellLaserLemon ,tr("CellLaserLemon "), QColor("#FDFC74") ); // 253,252,116 + chartCA->addSeriesWithNumber( CellLavender ,tr("CellLavender "), QColor("#FCB4D5") ); // 252,180,213 + chartCA->addSeriesWithNumber( CellMacaroniAndCheese ,tr("CellMacaroniAndCheese "), QColor("#FFBD88") ); // 255,189,136 + chartCA->addSeriesWithNumber( CellMagenta ,tr("CellMagenta "), QColor("#FCB4D5") ); // 246,100,175 + chartCA->addSeriesWithNumber( CellMahogany ,tr("CellMahogany "), QColor("#CD4A4A") ); // 205,74,74 + chartCA->addSeriesWithNumber( CellManatee ,tr("CellManatee "), QColor("#979AAA") ); // 151,154,170 + chartCA->addSeriesWithNumber( CellMangoTango ,tr("CellMangoTango "), QColor("#FF8243") ); // 255,130,67 + chartCA->addSeriesWithNumber( CellMaroon ,tr("CellMaroon "), QColor("#C8385A") ); // 200,56,90 + chartCA->addSeriesWithNumber( CellMauvelous ,tr("CellMauvelous "), QColor("#EF98AA") ); // 239,152,170 + chartCA->addSeriesWithNumber( CellMelon ,tr("CellMelon "), QColor("#FDBCB4") ); // 253,188,180 + chartCA->addSeriesWithNumber( CellMidnightBlue ,tr("CellMidnightBlue "), QColor("#1A4876") ); // 26,72,118 + chartCA->addSeriesWithNumber( CellMountainMeadow ,tr("CellMountainMeadow "), QColor("#30BA8F") ); // 48,186,143 + chartCA->addSeriesWithNumber( CellNavyBlue ,tr("CellNavyBlue "), QColor("#1974D2") ); // 25,116,210 + chartCA->addSeriesWithNumber( CellNeonCarrot ,tr("CellNeonCarrot "), QColor("#FFA343") ); // 255,163,67 + chartCA->addSeriesWithNumber( CellOliveGreen ,tr("CellOliveGreen "), QColor("#BAB86C") ); // 186,184,108 + chartCA->addSeriesWithNumber( CellOrange ,tr("CellOrange "), QColor("#FF7538") ); // 255,117,56 + chartCA->addSeriesWithNumber( CellOrchid ,tr("CellOrchid "), QColor("#C0448F") ); // 230,168,215 + chartCA->addSeriesWithNumber( CellOuterSpace ,tr("CellOuterSpace "), QColor("#414AAC") ); // 65,74,76 + chartCA->addSeriesWithNumber( CellOutrageousOrange ,tr("CellOutrageousOrange "), QColor("#FF6E4A") ); // 255,110,74 + chartCA->addSeriesWithNumber( CellPacificBlue ,tr("CellPacificBlue "), QColor("#1CA9C9") ); // 28,169,201 + chartCA->addSeriesWithNumber( CellPeach ,tr("CellPeach "), QColor("#FFCFAB") ); // 255,207,171 + chartCA->addSeriesWithNumber( CellPeriwinkle ,tr("CellPeriwinkle "), QColor("#C5D0E6") ); // 197,208,230 + chartCA->addSeriesWithNumber( CellPiggyPink ,tr("CellPiggyPink "), QColor("#FDD7E4") ); // 253,215,228 + chartCA->addSeriesWithNumber( CellPineGreen ,tr("CellPineGreen "), QColor("#158078") ); // 21,128,120 + chartCA->addSeriesWithNumber( CellPinkFlamingo ,tr("CellPinkFlamingo "), QColor("#FC74FD") ); // 252,116,253 + chartCA->addSeriesWithNumber( CellPinkSherbet ,tr("CellPinkSherbet "), QColor("#F780A1") ); // 247,128,161 + chartCA->addSeriesWithNumber( CellPlum ,tr("CellPlum "), QColor("#8E4584") ); // 142,69,133 + chartCA->addSeriesWithNumber( CellPurpleHeart ,tr("CellPurpleHeart "), QColor("#7442C8") ); // 116,66,200 + chartCA->addSeriesWithNumber( CellPurpleMountainsMajesty ,tr("CellPurpleMountainsMajesty "), QColor("#9D81BA") ); // 157,129,186 + chartCA->addSeriesWithNumber( CellPurplePizza ,tr("CellPurplePizza "), QColor("#FF1DCE") ); // 255,29,206 + chartCA->addSeriesWithNumber( CellRadicalRed ,tr("CellRadicalRed "), QColor("#FF496C") ); // 255,73,107 + chartCA->addSeriesWithNumber( CellRawSienna ,tr("CellRawSienna "), QColor("#D68A59") ); // 214,138,89 + chartCA->addSeriesWithNumber( CellRazzleDazzleRose ,tr("CellRazzleDazzleRose "), QColor("#E6A8D7") ); // 255,72,208 + chartCA->addSeriesWithNumber( CellRazzmatazz ,tr("CellRazzmatazz "), QColor("#E3256B") ); // 227,37,107 + chartCA->addSeriesWithNumber( CellRed ,tr("CellRed "), QColor("#EE204D") ); // 238,32,77 + chartCA->addSeriesWithNumber( CellRedOrange ,tr("CellRedOrange "), QColor("#FF5349") ); // 255,83,73 + chartCA->addSeriesWithNumber( CellRedViolet ,tr("CellRedViolet "), QColor("#c0448f") ); // 192,68,143 + chartCA->addSeriesWithNumber( CellRobinsEggBlue ,tr("CellRobinsEggBlue "), QColor("#1FCECB") ); // 31,206,203 + chartCA->addSeriesWithNumber( CellRoyalPurple ,tr("CellRoyalPurple "), QColor("#7851A9") ); // 120,81,169 + chartCA->addSeriesWithNumber( CellSalmon ,tr("CellSalmon "), QColor("#FF9BAA") ); // 255,155,170 + chartCA->addSeriesWithNumber( CellScarlet ,tr("CellScarlet "), QColor("#FC2847") ); // 242,40,71 + chartCA->addSeriesWithNumber( CellScreaminGreen ,tr("CellScreaminGreen "), QColor("#76FF7A") ); // 118,255,122 + chartCA->addSeriesWithNumber( CellSeaGreen ,tr("CellSeaGreen "), QColor("#9FE2BF") ); // 159,226,191 + chartCA->addSeriesWithNumber( CellSepia ,tr("CellSepia "), QColor("#A5694F") ); // 165,105,79 + chartCA->addSeriesWithNumber( CellShadow ,tr("CellShadow "), QColor("#8A795D") ); // 138,121,93 + chartCA->addSeriesWithNumber( CellShamrock ,tr("CellShamrock "), QColor("#45CEA2") ); // 69,206,162 + chartCA->addSeriesWithNumber( CellShockingPink ,tr("CellShockingPink "), QColor("#FB7EFD") ); // 251,126,253 + chartCA->addSeriesWithNumber( CellSilver ,tr("CellSilver "), QColor("#CDC5C2") ); // 205,197,194 + chartCA->addSeriesWithNumber( CellSkyBlue ,tr("CellSkyBlue "), QColor("#80DAEB") ); // 128,218,235 + chartCA->addSeriesWithNumber( CellSpringGreen ,tr("CellSpringGreen "), QColor("#ECEABE") ); // 236,234,190 + chartCA->addSeriesWithNumber( CellSunglow ,tr("CellSunglow "), QColor("#FFCF48") ); // 255,207,72 + chartCA->addSeriesWithNumber( CellSunsetOrange ,tr("CellSunsetOrange "), QColor("#FD5E53") ); // 253,94,83 + chartCA->addSeriesWithNumber( CellTan ,tr("CellTan "), QColor("#FAA76C") ); // 250,167,108 + chartCA->addSeriesWithNumber( CellTickleMePink ,tr("CellTickleMePink "), QColor("#FC89AC") ); // 252,137,172 + chartCA->addSeriesWithNumber( CellTimberwolf ,tr("CellTimberwolf "), QColor("#DBD7D2") ); // 219,215,210 + chartCA->addSeriesWithNumber( CellTropicalRainForest ,tr("CellTropicalRainForest "), QColor("#17806D") ); // 23,128,109 + chartCA->addSeriesWithNumber( CellTumbleweed ,tr("CellTumbleweed "), QColor("#DEAA88") ); // 222,170,136 + chartCA->addSeriesWithNumber( CellTurquoiseBlue ,tr("CellTurquoiseBlue "), QColor("#77DDE7") ); // 119,221,231 + chartCA->addSeriesWithNumber( CellUnmellowYellow ,tr("CellUnmellowYellow "), QColor("#FDFC74") ); // 253,252,116 + chartCA->addSeriesWithNumber( CellVioletPurple ,tr("CellVioletPurple "), QColor("#926EAE") ); // 146,110,174 + chartCA->addSeriesWithNumber( CellVioletRed ,tr("CellVioletRed "), QColor("#F75394") ); // 247,83,148 + chartCA->addSeriesWithNumber( CellVividTangerine ,tr("CellVividTangerine "), QColor("#FFA089") ); // 255,160,137 + chartCA->addSeriesWithNumber( CellVividViolet ,tr("CellVividViolet "), QColor("#8F509D") ); // 143,80,157 + chartCA->addSeriesWithNumber( CellWhite ,tr("CellWhite "), QColor("#EDEDED") ); // 237,237,237 + chartCA->addSeriesWithNumber( CellWildBlueYonder ,tr("CellWildBlueYonder "), QColor("#A2ADD0") ); // 162,173,208 + chartCA->addSeriesWithNumber( CellWildStrawberry ,tr("CellWildStrawberry "), QColor("#F664AF") ); // 255,67,164 + chartCA->addSeriesWithNumber( CellWildWatermelon ,tr("CellWildWatermelon "), QColor("#FC6C85") ); // 252,108,133 + chartCA->addSeriesWithNumber( CellWisteria ,tr("CellWisteria "), QColor("#CDA4DE") ); // 205,164,222 + chartCA->addSeriesWithNumber( CellYellow ,tr("CellYellow "), QColor("#FCE883") ); // 252,232,131 + chartCA->addSeriesWithNumber( CellYellowGreen ,tr("CellYellowGreen "), QColor("#C5E384") ); // 197,227,132 + chartCA->addSeriesWithNumber( CellYellowOrange ,tr("CellYellowOrange "), QColor("#FB6530") ); // 255,182,83 + +} + + +void VisualizationPage::setIsPageActivated(bool isActivated) +{ + mIsThisPageActivated = isActivated; +} +bool VisualizationPage::isPageActivated() +{ + return mIsThisPageActivated; +} + + + +void VisualizationPage::onVisualizationPageSelected() +{ + /* + QTimer* timerV = new QTimer(this); + connect(timerV, &QTimer::timeout, this, &VisualizationPage::onSetValV); + timerV->setInterval(1000); + timerV->start(); + + QTimer* timerA = new QTimer(this); + connect(timerA, &QTimer::timeout, this, &VisualizationPage::onSetValA); + timerA->setInterval(1000); + timerA->start(); + */ + QTimer* timerT = new QTimer(this); + connect(timerT, &QTimer::timeout, this, &VisualizationPage::onSetValT); + timerT->setInterval(1000); + timerT->start(); + //*/ +} + + +BMSInterface *VisualizationPage::bms() const +{ + return mDieBieMS; +} + +void VisualizationPage::setDieBieMS(BMSInterface *dieBieMS) +{ + mDieBieMS = dieBieMS; + + /*if (mDieBieMS) { + connect(mDieBieMS->commands(), SIGNAL(valuesReceived(BMS_VALUES)),this, SLOT(valuesReceived(BMS_VALUES))); + connect(mDieBieMS->commands(), SIGNAL(cellsReceived(int,QVector<double>)),this, SLOT(cellsReceived(int,QVector<double>))); + } + */ + + if (mDieBieMS) { + connect(mDieBieMS->commands(), &Commands::valuesReceived, this, &VisualizationPage::valuesReceived); + connect(mDieBieMS->commands(), &Commands::cellsReceived, this, &VisualizationPage::cellsReceived); + + connect(mDieBieMS->commands(), &Commands::auxReceived, this, &VisualizationPage::auxReceived); //(int,QVector<double>))); + connect(mDieBieMS->commands(), &Commands::expTempReceived, this, &VisualizationPage::expTempReceived); //(int,QVector<double>))); + + + //connect(mDieBieMS->commands(), SIGNAL(valuesReceived(BMS_VALUES)),this, SLOT(valuesReceived(BMS_VALUES))); + //connect(mDieBieMS->commands(), SIGNAL(cellsReceived(int,QVector<double>)),this, SLOT(cellsReceived(int,QVector<double>))); + } +} + + + +void VisualizationPage::onSetValV() +{ + int val = (QRandomGenerator::global()->generate() % 100); // + + //10; +/* if (val > 0) { + //ui->lbV->setText(QString::number(val)); + chartV->append(val); + chartV->update(); + ui->chartViewVoltage->repaint(); + } +*/ + mHCLoadVoltage.append(val); + +} + +void VisualizationPage::onSetValA() +{ + int val = /*(QRandomGenerator::global()->generate() % 10) +*/ 10; + if (val > 0) { + //ui->lbA->setText(QString::number(val)); + chartA->append(val); + chartA->update(); + ui->chartViewAmperage->repaint(); + } +} + +void VisualizationPage::onSetValT() +{ + //int val = (QRandomGenerator::global()->generate(-10,10) % T_MODUS); + //int val = QRandomGenerator::global()->bounded(-10, 50); + + int valMax = QRandomGenerator::global()->bounded(-10, 50) + 0; + int valMid = QRandomGenerator::global()->bounded(-10, 50) + 0; + int valMin = QRandomGenerator::global()->bounded(-10, 50) + 0; + + //if (val > 0) { + //ui->lbT->setText(QString::number(val)); + //chartT->append(val); + + // increas X + chartT->appendNextX(); + // then set all new Ys + /* + chartT->appendYToSeries(TemperatureMax, valMax); + chartT->appendYToSeries(TemperatureMid, valMid); + chartT->appendYToSeries(TemperatureMin, valMin); + */ + chartT->appendYToSeries(TemperatureBatMax, valMax); + chartT->appendYToSeries(TemperatureBatMid, valMid); + chartT->appendYToSeries(TemperatureBatMin, valMin); + + ui->lbTMaxLegendVal->setText(QString("%1").arg(valMax)); + ui->lbTMidLegendVal->setText(QString("%1").arg(valMid)); + ui->lbTMinLegendVal->setText(QString("%1").arg(valMin)); + + //chartT->refreshSeries(TemperatureMax); + //chartT->refreshSeries(TemperatureMid); + //chartT->refreshSeries(TemperatureMin); + + chartT->update(); + ui->chartViewTemperature->repaint(); + //} + + ///ui->lbTCurTemp->setText(QString::number(val)); + ui->lbTCurTemp->setText(""); +} + + +void VisualizationPage::onSetSecsV(int secs) +{ + if(secs <= 0) + ui->lbVTime->setText(QString("")); + else if(secs < 60) + ui->lbVTime->setText(QString("%1 с").arg(secs)); + else if(secs % 60 == 0) + ui->lbVTime->setText(QString("%1 мин").arg(secs/60)); + else if(secs > 60) + ui->lbVTime->setText(QString("%1 мин %2 с").arg(secs/60).arg(secs%60)); +} +void VisualizationPage::onSetSecsA(int secs) +{ + if(secs <= 0) + ui->lbATime->setText(QString("")); + else if(secs < 60) + ui->lbATime->setText(QString("%1 с").arg(secs)); + else if(secs % 60 == 0) + ui->lbATime->setText(QString("%1 мин").arg(secs/60)); + else if(secs > 60) + ui->lbATime->setText(QString("%1 мин %2 с").arg(secs/60).arg(secs%60)); +} +void VisualizationPage::onSetSecsT(int secs) +{ + if(secs <= 0) + ui->lbTTime->setText(QString("")); + else if(secs < 60) + ui->lbTTime->setText(QString("%1 с").arg(secs)); + else if(secs % 60 == 0) + ui->lbTTime->setText(QString("%1 мин").arg(secs/60)); + else if(secs > 60) + ui->lbTTime->setText(QString("%1 мин %2 с").arg(secs/60).arg(secs%60)); +} +void VisualizationPage::onSetSecsC(int secs) +{ + if(secs <= 0) + ui->lbCTime->setText(QString("")); + else if(secs < 60) + ui->lbCTime->setText(QString("%1 с").arg(secs)); + else if(secs % 60 == 0) + ui->lbCTime->setText(QString("%1 мин").arg(secs/60)); + else if(secs > 60) + ui->lbCTime->setText(QString("%1 мин %2 с").arg(secs/60).arg(secs%60)); +} +/*void VisualizationPage::onSetSecsCA(int secs) +{ + if(secs <= 0) + ui->lbCATime->setText(QString("")); + else if(secs < 60) + ui->lbCATime->setText(QString("%1 с").arg(secs)); + else if(secs % 60 == 0) + ui->lbCATime->setText(QString("%1 мин").arg(secs/60)); + else if(secs > 60) + ui->lbCATime->setText(QString("%1 мин %2 с").arg(secs/60).arg(secs%60)); +} +*/ + + +void VisualizationPage::onTabBarButtonClicked() +{ + for(auto btn: m_btnGroup->buttons()) + { + if(!btn->isChecked()) + continue; + + if ( btn->objectName() == ui->pbVisualizationMenuBarVoltage ->objectName() ) m_currentPageIndex = Voltage ; + else if( btn->objectName() == ui->pbVisualizationMenuBarAmperage ->objectName() ) m_currentPageIndex = Apmerage ; + //else if( btn->objectName() == ui->pbVisualizationMenuBarTemperature->objectName() ) m_currentPageIndex = Temperature ; + else if( btn->objectName() == ui->pbVisualizationMenuBarTemperatureBat->objectName() ) m_currentPageIndex = TemperatureBat ; + else if( btn->objectName() == ui->pbVisualizationMenuBarTemperatureBms->objectName() ) m_currentPageIndex = TemperatureBms ; + else if( btn->objectName() == ui->pbVisualizationMenuBarCells ->objectName() ) m_currentPageIndex = Cells ; + else if( btn->objectName() == ui->pbVisualizationMenuBarCellsAll ->objectName() ) m_currentPageIndex = CellsAll ; + + + ui->tabWidgetVisualizationContent->setCurrentIndex(m_currentPageIndex); + } +} + + + + +void VisualizationPage::initForPlot() +{ + ui->rtText->setVisible(false); + + mTimer = new QTimer(this); + mTimer->start(20); + + mSecondCounter = 0.0; + mLastUpdateTime = 0; + + mUpdateValPlot = false; + + /* + ui->ivLCGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + ui->ivHCGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + ui->cellGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + */ + ui->tempGraph->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); + + + // LC IVGraph + int graphIndex = 0; + /* + ui->ivLCGraph->addGraph(); + ui->ivLCGraph->graph(graphIndex)->setPen(QPen(Qt::red)); + ui->ivLCGraph->graph(graphIndex)->setName("Pack"); + graphIndex++; + + ui->ivLCGraph->addGraph(); + ui->ivLCGraph->graph(graphIndex)->setPen(QPen(Qt::darkGreen)); + ui->ivLCGraph->graph(graphIndex)->setName("LC Voltage"); + graphIndex++; + + ui->ivLCGraph->addGraph(ui->ivLCGraph->xAxis, ui->ivLCGraph->yAxis2); + ui->ivLCGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ui->ivLCGraph->graph(graphIndex)->setName("LC Current"); + graphIndex++; + + // HC IVGraph + graphIndex = 0; + ui->ivHCGraph->addGraph(); + ui->ivHCGraph->graph(graphIndex)->setPen(QPen(Qt::blue)); + ui->ivHCGraph->graph(graphIndex)->setName("HC Voltage"); + graphIndex++; + + ui->ivHCGraph->addGraph(ui->ivHCGraph->xAxis, ui->ivHCGraph->yAxis2); + ui->ivHCGraph->graph(graphIndex)->setPen(QPen(Qt::magenta)); + ui->ivHCGraph->graph(graphIndex)->setName("HC Current"); + graphIndex++; + + // Cell voltage graph + graphIndex = 0; + ui->cellGraph->addGraph(); + ui->cellGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ui->cellGraph->graph(graphIndex)->setName("Cell high"); + graphIndex++; + + ui->cellGraph->addGraph(); + ui->cellGraph->graph(graphIndex)->setPen(QPen(Qt::blue)); + ui->cellGraph->graph(graphIndex)->setName("Cell average"); + graphIndex++; + + ui->cellGraph->addGraph(); + ui->cellGraph->graph(graphIndex)->setPen(QPen(Qt::red)); + ui->cellGraph->graph(graphIndex)->setName("Cell low"); + graphIndex++; + + // Temperature graph + // LC IVGraph + graphIndex = 0; + */ + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::red)); + ui->tempGraph->graph(graphIndex)->setName("BMS High"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ui->tempGraph->graph(graphIndex)->setName("BMS Average"); + graphIndex++; + + ui->tempGraph->addGraph(); + ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::yellow)); + ui->tempGraph->graph(graphIndex)->setName("BMS Low"); + graphIndex++; + + + ///ui->tempGraph->addGraph(); + ///ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::green)); + ///ui->tempGraph->graph(graphIndex)->setName("Battery high"); + ///graphIndex++; + + ///ui->tempGraph->addGraph(); + ///ui->tempGraph->graph(graphIndex)->setPen(QPen(Qt::darkGreen)); + ///ui->tempGraph->graph(graphIndex)->setName("Battery Average"); + ///graphIndex++; + + QFont legendFont = font(); + legendFont.setPointSize(9); + + /* + //LC Graph + ui->ivLCGraph->legend->setVisible(true); + ui->ivLCGraph->legend->setFont(legendFont); + ui->ivLCGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->ivLCGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->ivLCGraph->xAxis->setLabel("Seconds (s)"); + ui->ivLCGraph->yAxis->setLabel("Voltage (V)"); + ui->ivLCGraph->yAxis2->setLabel("Current (A)"); + ui->ivLCGraph->yAxis->setRange(0, 60); + ui->ivLCGraph->yAxis2->setRange(-5, 5); + ui->ivLCGraph->yAxis2->setVisible(true); + + //HC Graph + ui->ivHCGraph->legend->setVisible(true); + ui->ivHCGraph->legend->setFont(legendFont); + ui->ivHCGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->ivHCGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->ivHCGraph->xAxis->setLabel("Seconds (s)"); + ui->ivHCGraph->yAxis->setLabel("Voltage (V)"); + ui->ivHCGraph->yAxis2->setLabel("Current (A)"); + ui->ivHCGraph->yAxis->setRange(0, 60); + ui->ivHCGraph->yAxis2->setRange(-5, 5); + ui->ivHCGraph->yAxis2->setVisible(true); + + //Cell voltage Graph + ui->cellGraph->legend->setVisible(true); + ui->cellGraph->legend->setFont(legendFont); + ui->cellGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->cellGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->cellGraph->xAxis->setLabel("Seconds (s)"); + ui->cellGraph->yAxis->setLabel("Voltage (V)"); + ui->cellGraph->yAxis->setRange(0, 4.2); + */ + //Temperature Graph + ui->tempGraph->legend->setVisible(true); + ui->tempGraph->legend->setFont(legendFont); + ui->tempGraph->axisRect()->insetLayout()->setInsetAlignment(0, Qt::AlignRight|Qt::AlignBottom); + ui->tempGraph->legend->setBrush(QBrush(QColor(255,255,255,230))); + ui->tempGraph->xAxis->setLabel("Seconds (s)"); + ui->tempGraph->yAxis->setLabel("Temperature (\u00B0C)"); + ui->tempGraph->yAxis->setRange(0, 70); + /* + // Cell bar graph + group = new QCPBarsGroup(ui->cellBarGraph); + barsNormal = new QCPBars(ui->cellBarGraph->xAxis, ui->cellBarGraph->yAxis); + barsBalance = new QCPBars(ui->cellBarGraph->xAxis, ui->cellBarGraph->yAxis); + + barsNormal->setBrush(QColor(0, 255, 0, 50)); + barsNormal->setPen(QColor(0, 211, 56)); + barsNormal->setWidth(0.9); + barsNormal->setBarsGroup(group); + + barsBalance->setBrush(QColor(0, 0, 255, 50)); + barsBalance->setPen(QColor(0, 211, 56)); + barsBalance->setWidth(0.9); + barsBalance->setBarsGroup(group); + + barsBalance->moveAbove(barsNormal); + + ui->cellBarGraph->xAxis->setRange(0.5, 12); + ui->cellBarGraph->yAxis->setRange(2.5, 4.15); + ui->cellBarGraph->yAxis->setLabel("Voltage (V)"); + ui->cellBarGraph->xAxis->setTickLabelRotation(85); + ui->cellBarGraph->xAxis->setSubTicks(false); + ui->cellBarGraph->xAxis->setTickLength(0, 5); + */ + + connect(mTimer, &QTimer::timeout,this, &VisualizationPage::timerSlot); +} + + + +void VisualizationPage::initForCharts() +{ + ui->rtText->setVisible(false); + + mTimer = new QTimer(this); + //mTimer->start(20); + mTimer->start(1000); + + mSecondCounter = 0.0; + mLastUpdateTime = 0; + + mUpdateValPlot = false; + + QFont legendFont = font(); + legendFont.setPointSize(9); + + connect(mTimer, &QTimer::timeout,this, &VisualizationPage::timerSlot); +} + +void VisualizationPage::timerSlot() +{ + // + // We will start revieve Data WHEN + // SEE - void MainWindowNew::onTimerSlot() + // one of those left-tab-bar buttons are selected (ui->pbMainMenuBarVisualization->isChecked() || ui->pbMainMenuBarVisualization->isChecked()) + // + + if + ( +#if TURN_ON_DUMMY_DATA_FLOW_TO_GRAPHS + true +#else + mUpdateValPlot && mIsThisPageActivated +#endif + ) + { + //COMM_GET_BMS_CELLS + + /* + int dataSize = mPackVoltage.size(); + + QVector<double> xAxis(dataSize); + for (int i = 0;i < mSeconds.size();i++) { + xAxis[i] = mSeconds[i]; + } + */ + + // Current and duty-plot + ///int graphIndex = 0; + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mPackVoltage); + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadVoltage); + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadCurrent); + + ///graphIndex = 0; + ///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadVoltage); + ///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadCurrent); + + ///graphIndex = 0; + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); + + ///graphIndex = 0; + ///mTempBMSLow.fill(0,1); + ///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSHigh); + ///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSAverage); + ///ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSLow); + + // V + + double valV = mPackVoltage.empty() ? 0 : mPackVoltage.last(); + + //double valVMax = mHCLoadVoltage.empty() ? 0 : mHCLoadVoltage.last(); + //double valVMid = mPackVoltage.empty() ? 0 : mPackVoltage.last(); + //double valVMin = mLCLoadVoltage.empty() ? 0 : mLCLoadVoltage.last(); + + // increas X + chartV->appendNextX(); + // then set all new Ys + chartV->appendYToSeries(VoltageMax, valV); + + //chartV->appendYToSeries(VoltageMax, valVMax); + //chartV->appendYToSeries(VoltageMid, valVMid); + //chartV->appendYToSeries(VoltageMin, valVMin); + + ui->lbVMaxLegendVal->setText(QString::number(valV,'f',2)); + //ui->lbVMaxLegendVal->setText(QString::number(valVMax,'f',2)); + //ui->lbVMidLegendVal->setText(QString::number(valVMid,'f',2)); + //ui->lbVMinLegendVal->setText(QString::number(valVMin,'f',2)); + + chartV->update(); + ui->chartViewVoltage->repaint(); + + // A + + //mMCLoadCurrent_.fill(0, 1); + double valA = mPackCurrent.empty() ? 0 : mPackCurrent.last(); + //double valAMax = mHCLoadCurrent.empty() ? 0 : mHCLoadCurrent.last(); + //double valAMid = mMCLoadCurrent_.empty() ? 0 : mMCLoadCurrent_.last(); + //double valAMin = mLCLoadCurrent.empty() ? 0 : mLCLoadCurrent.last(); + + // increas X + chartA->appendNextX(); + // then set all new Ys + chartA->appendYToSeries(AmperageMax, valA); + + //chartA->appendYToSeries(AmperageMax, valAMax); + //chartA->appendYToSeries(AmperageMid, valAMid); + //chartA->appendYToSeries(AmperageMin, valAMin); + + ui->lbAMaxLegendVal->setText(QString::number(valA,'f',2)); + //ui->lbAMaxLegendVal->setText(QString::number(valAMax,'f',2)); + //ui->lbAMidLegendVal->setText(QString::number(valAMid,'f',2)); + //ui->lbAMinLegendVal->setText(QString::number(valAMin,'f',2)); + + chartA->update(); + ui->chartViewAmperage->repaint(); + + // T Bat + + //mTempBattLow_.fill(0, 1); + double valTMax = mTempBattHigh.empty() ? 0 : mTempBattHigh.last(); + double valTMid = mTempBattAverage.empty() ? 0 : mTempBattAverage.last(); + double valTMin = mTempBattLow.empty() ? 0 : mTempBattLow.last(); + + // increas X + chartT->appendNextX(); + // then set all new Ys + /* + chartT->appendYToSeries(TemperatureMax, valTMax); + chartT->appendYToSeries(TemperatureMid, valTMid); + chartT->appendYToSeries(TemperatureMin, valTMin); + */ + chartT->appendYToSeries(TemperatureBatMax, valTMax); + chartT->appendYToSeries(TemperatureBatMid, valTMid); + chartT->appendYToSeries(TemperatureBatMin, valTMin); + + ui->lbTMaxLegendVal->setText(QString::number(valTMax,'f',2)); + ui->lbTMidLegendVal->setText(QString::number(valTMid,'f',2)); + ui->lbTMinLegendVal->setText(QString::number(valTMin,'f',2)); + + chartT->update(); + ui->chartViewTemperature->repaint(); + + // T Bms + + //mTempBMSLow_.fill(0, 1); + double valTBMax = mTempBMSHigh.empty() ? 0 : mTempBMSHigh.last(); + double valTBMid = mTempBMSAverage.empty() ? 0 : mTempBMSAverage.last(); + double valTBMin = mTempBMSLow.empty() ? 0 : mTempBMSLow.last(); + + // increas X + chartTB->appendNextX(); + // then set all new Ys + /* + chartT->appendYToSeries(TemperatureMax, valTMax); + chartT->appendYToSeries(TemperatureMid, valTMid); + chartT->appendYToSeries(TemperatureMin, valTMin); + */ + chartTB->appendYToSeries(TemperatureBmsMax, valTBMax); + chartTB->appendYToSeries(TemperatureBmsMid, valTBMid); + chartTB->appendYToSeries(TemperatureBmsMin, valTBMin); + + ui->lbTMaxLegendValBms->setText(QString::number(valTBMax,'f',2)); + ui->lbTMidLegendValBms->setText(QString::number(valTBMid,'f',2)); + ui->lbTMinLegendValBms->setText(QString::number(valTBMin,'f',2)); + + chartTB->update(); + ui->chartViewTemperatureBms->repaint(); + + // C + + double valCMax = mCellVHigh.empty() ? 0 : mCellVHigh.last(); + double valCMid = mCellVAverage.empty() ? 0 : mCellVAverage.last(); + double valCMin = mCellVLow.empty() ? 0 : mCellVLow.last(); + + // increas X + chartC->appendNextX(); + // then set all new Ys + chartC->appendYToSeries(CellsMax, valCMax); + chartC->appendYToSeries(CellsMid, valCMid); + chartC->appendYToSeries(CellsMin, valCMin); + + ui->lbCMaxLegendVal->setText(QString::number(valCMax,'f',2)); + ui->lbCMidLegendVal->setText(QString::number(valCMid,'f',2)); + ui->lbCMinLegendVal->setText(QString::number(valCMin,'f',2)); + + chartC->update(); + ui->chartViewCells->repaint(); + + // Cells // + + mCellsVals; + //double valCMax = mCellVHigh.empty() ? 0 : mCellVHigh.last(); + //double valCMid = mCellVAverage.empty() ? 0 : mCellVAverage.last(); + //double valCMin = mCellVLow.empty() ? 0 : mCellVLow.last(); + + // increas X + chartCA->appendNextX(); + // then set all new Ys + + try + { + for(int i = 0; i < mCellsVals.size(); ++i) + { + chartCA->appendYToSeries((ChartsForCellsIndex)(i), mCellsVals.at(i)); + } + } + catch (...) { + // mCellsVals.at out of bound EXCEPTION handling + } + + //ui->lbCMaxLegendVal->setText(QString::number(valCMax,'f',2)); + //ui->lbCMidLegendVal->setText(QString::number(valCMid,'f',2)); + //ui->lbCMinLegendVal->setText(QString::number(valCMin,'f',2)); + + chartCA->update(); + ui->chartViewCellsAll->repaint(); + + + /* + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattLow); + + ///if (ui->autoscaleButton->isChecked()) + { + ///ui->ivLCGraph->rescaleAxes(); + ///ui->ivHCGraph->rescaleAxes(); + ///ui->cellGraph->rescaleAxes(); + ui->tempGraph->rescaleAxes(); + } + + ///ui->ivLCGraph->replot(); + ///ui->ivHCGraph->replot(); + ///ui->cellGraph->replot(); + ui->tempGraph->replot(); + ///ui->cellBarGraph->replot(); + + mUpdateValPlot = false; + */ + } +} + +/* // OLD CODE +void VisualizationPage::timerSlot() +{ + if (mUpdateValPlot) { + int dataSize = mPackVoltage.size(); + + QVector<double> xAxis(dataSize); + for (int i = 0;i < mSeconds.size();i++) { + xAxis[i] = mSeconds[i]; + } + + // Current and duty-plot + int graphIndex = 0; + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mPackVoltage); + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadVoltage); + ///ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadCurrent); + + graphIndex = 0; + ///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadVoltage); + ///ui->ivHCGraph->graph(graphIndex++)->setData(xAxis, mHCLoadCurrent); + + graphIndex = 0; + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ///ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); + + graphIndex = 0; + mTempBMSLow.fill(0,1); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSLow); + + //ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattHigh); + //ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattAverage); + + ///if (ui->autoscaleButton->isChecked()) + { + ///ui->ivLCGraph->rescaleAxes(); + ///ui->ivHCGraph->rescaleAxes(); + ///ui->cellGraph->rescaleAxes(); + ui->tempGraph->rescaleAxes(); + } + + ///ui->ivLCGraph->replot(); + ///ui->ivHCGraph->replot(); + ///ui->cellGraph->replot(); + ui->tempGraph->replot(); + ///ui->cellBarGraph->replot(); + + mUpdateValPlot = false; + } +} +*/ + +void VisualizationPage::valuesReceived(BMS_VALUES values) +{ + ui->rtText->setValues(values); + + const int maxS = 500; + + appendDoubleAndTrunc(&mPackVoltage, values.packVoltage, maxS); + appendDoubleAndTrunc(&mPackCurrent, values.packCurrent, maxS); + + appendDoubleAndTrunc(&mLCLoadVoltage, values.loadLCVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadCurrent, values.loadLCCurrent, maxS); + + appendDoubleAndTrunc(&mHCLoadVoltage, values.loadHCVoltage, maxS); + appendDoubleAndTrunc(&mHCLoadCurrent, values.loadHCCurrent, maxS); + + appendDoubleAndTrunc(&mChargerVoltage, values.chargerVoltage, maxS); + + appendDoubleAndTrunc(&mAuxVoltage, values.auxVoltage, maxS); + appendDoubleAndTrunc(&mAuxCurrent, values.auxCurrent, maxS); + + appendDoubleAndTrunc(&mCellVHigh, values.cVHigh, maxS); + appendDoubleAndTrunc(&mCellVAverage, values.cVAverage, maxS); + appendDoubleAndTrunc(&mCellVLow, values.cVLow, maxS); + + appendDoubleAndTrunc(&mTempBMSHigh, values.tempBMSHigh, maxS); + appendDoubleAndTrunc(&mTempBMSAverage, values.tempBMSAverage, maxS); + appendDoubleAndTrunc(&mTempBMSLow, values.tempBMSLow, maxS); + + appendDoubleAndTrunc(&mTempBattHigh, values.tempBattHigh, maxS); + appendDoubleAndTrunc(&mTempBattAverage, values.tempBattAverage, maxS); + appendDoubleAndTrunc(&mTempBattLow, values.tempBattLow, maxS); + + appendDoubleAndTrunc(&mHumidity, values.humidity, maxS); + + + qint64 tNow = QDateTime::currentMSecsSinceEpoch(); + + double elapsed = (double)(tNow - mLastUpdateTime) / 1000.0; + if (elapsed > 1.0) { + elapsed = 1.0; + } + + mSecondCounter += elapsed; + + appendDoubleAndTrunc(&mSeconds, mSecondCounter, maxS); + + mLastUpdateTime = tNow; + + mUpdateValPlot = true; +/* + ui->rtText->setValues(values); + + const int maxS = 500; + + appendDoubleAndTrunc(&mPackVoltage, values.packVoltage, maxS); + + appendDoubleAndTrunc(&mLCLoadVoltage, values.loadLCVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadCurrent, values.loadLCCurrent, maxS); + + appendDoubleAndTrunc(&mHCLoadVoltage, values.loadHCVoltage, maxS); + appendDoubleAndTrunc(&mHCLoadCurrent, values.loadHCCurrent, maxS); + + appendDoubleAndTrunc(&mAuxVoltage, values.auxVoltage, maxS); + appendDoubleAndTrunc(&mAuxCurrent, values.auxCurrent, maxS); + + appendDoubleAndTrunc(&mCellVHigh, values.cVHigh, maxS); + appendDoubleAndTrunc(&mCellVAverage, values.cVAverage, maxS); + appendDoubleAndTrunc(&mCellVLow, values.cVLow, maxS); + + appendDoubleAndTrunc(&mTempBMSHigh, values.tempBMSHigh, maxS); + appendDoubleAndTrunc(&mTempBMSAverage, values.tempBMSAverage, maxS); + //appendDoubleAndTrunc(&mTempBMSLow_, values.tempBMSLow_, maxS); + + appendDoubleAndTrunc(&mTempBattHigh, values.tempBattHigh, maxS); + appendDoubleAndTrunc(&mTempBattAverage, values.tempBattAverage, maxS); + //appendDoubleAndTrunc(&mTempBattLow_, values.tempBattLow_, maxS); + + + qint64 tNow = QDateTime::currentMSecsSinceEpoch(); + + double elapsed = (double)(tNow - mLastUpdateTime) / 1000.0; + if (elapsed > 1.0) { + elapsed = 1.0; + } + + mSecondCounter += elapsed; + + appendDoubleAndTrunc(&mSeconds, mSecondCounter, maxS); + + mLastUpdateTime = tNow; + + mUpdateValPlot = true; +*/ +} + +void VisualizationPage::cellsReceived(int cellCount, QVector<double> cellVoltageArray) +{ + initListWidgetOfCells(cellCount); + mCellsVals = cellVoltageArray; + + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<double> datayBalance; + datayBalance.clear(); + QVector<QString> labels; + int indexPointer; + + double cellHardUnder = mDieBieMS->bmsConfig()->getParamDouble("cellHardUnderVoltage"); + double cellHardOver = mDieBieMS->bmsConfig()->getParamDouble("cellHardOverVoltage"); + + for(indexPointer = 0; indexPointer < cellCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(cellVoltageArray[indexPointer] < 0.0){ + datayNormal.append(0.0); + datayBalance.append(fabs(cellVoltageArray[indexPointer])); + }else{ + datayNormal.append(fabs(cellVoltageArray[indexPointer])); + datayBalance.append(0.0); + } + + QString voltageString = QStringLiteral("%1V (C").arg(fabs(cellVoltageArray[indexPointer]), 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer) + ")"); + } + + int z =0; + //QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + //textTicker->addTicks(dataxNew, labels); + + //ui->cellBarGraph->xAxis->setTicker(textTicker); + //ui->cellBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + //ui->cellBarGraph->yAxis->setRange(cellHardUnder, cellHardOver); + //barsNormal->setData(dataxNew, datayNormal); + //barsBalance->setData(dataxNew, datayBalance); +} + + + + +/* +void VisualizationPage::timerSlot() +{ + if (mUpdateValPlot) { + int dataSize = mPackVoltage.size(); + + QVector<double> xAxis(dataSize); + for (int i = 0;i < mSeconds.size();i++) { + xAxis[i] = mSeconds[i]; + } + + // Current and duty-plot + int graphIndex = 0; + ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mPackVoltage); + ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadVoltage); + ui->ivLCGraph->graph(graphIndex++)->setData(xAxis, mLCLoadCurrent); + +#if 0 + graphIndex = 0; + ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ui->cellGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); +#endif + graphIndex = 0; + ui->cellLimitsGraph->graph(graphIndex++)->setData(xAxis, mCellVHigh); + ui->cellLimitsGraph->graph(graphIndex++)->setData(xAxis, mCellVAverage); + ui->cellLimitsGraph->graph(graphIndex++)->setData(xAxis, mCellVLow); + + graphIndex = 0; + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBMSLow); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattHigh); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattAverage); + ui->tempGraph->graph(graphIndex++)->setData(xAxis, mTempBattLow); + + if (ui->autoscaleButton->isChecked()) { + ui->ivLCGraph->rescaleAxes(); +#if 0 // do not autoscale since we're displaying cell voltages + ui->cellGraph->rescaleAxes(); +#endif + // only scale X axis + ui->cellGraph->xAxis->rescale(); + ui->cellLimitsGraph->xAxis->rescale(); + ui->tempGraph->rescaleAxes(); + } + + ui->ivLCGraph->replot(); + ui->cellGraph->replot(); + ui->cellLimitsGraph->replot(); + ui->tempGraph->replot(); + ui->cellBarGraph->replot(); + ui->auxBarGraph->replot(); + ui->expBarGraph->replot(); + + mUpdateValPlot = false; + } +} + +void VisualizationPage::valuesReceived(BMS_VALUES values) +{ + ui->rtText->setValues(values); + + const int maxS = 500; + + appendDoubleAndTrunc(&mPackVoltage, values.packVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadVoltage, values.loadLCVoltage, maxS); + appendDoubleAndTrunc(&mLCLoadCurrent, values.loadLCCurrent, maxS); + appendDoubleAndTrunc(&mHCLoadVoltage, values.loadHCVoltage, maxS); + appendDoubleAndTrunc(&mHCLoadCurrent, values.loadHCCurrent, maxS); + appendDoubleAndTrunc(&mChargerVoltage, values.chargerVoltage, maxS); + appendDoubleAndTrunc(&mAuxVoltage, values.auxVoltage, maxS); + appendDoubleAndTrunc(&mAuxCurrent, values.auxCurrent, maxS); + + appendDoubleAndTrunc(&mCellVHigh, values.cVHigh, maxS); + appendDoubleAndTrunc(&mCellVAverage, values.cVAverage, maxS); + appendDoubleAndTrunc(&mCellVLow, values.cVLow, maxS); + + appendDoubleAndTrunc(&mTempBMSHigh, values.tempBMSHigh, maxS); + appendDoubleAndTrunc(&mTempBMSAverage, values.tempBMSAverage, maxS); + appendDoubleAndTrunc(&mTempBMSLow, values.tempBMSLow, maxS); + appendDoubleAndTrunc(&mTempBattHigh, values.tempBattHigh, maxS); + appendDoubleAndTrunc(&mTempBattAverage, values.tempBattAverage, maxS); + appendDoubleAndTrunc(&mTempBattLow, values.tempBattLow, maxS); + appendDoubleAndTrunc(&mHumidity, values.humidity, maxS); + + + qint64 tNow = QDateTime::currentMSecsSinceEpoch(); + + double elapsed = (double)(tNow - mLastUpdateTime) / 1000.0; + if (elapsed > 1.0) { + elapsed = 1.0; + } + + mSecondCounter += elapsed; + + appendDoubleAndTrunc(&mSeconds, mSecondCounter, maxS); + + mLastUpdateTime = tNow; + + mUpdateValPlot = true; +} + + +void VisualizationPage::cellsReceived(int cellCount, QVector<double> cellVoltageArray){ + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<double> datayBalance; + datayBalance.clear(); + QVector<QString> labels; + int indexPointer; + + double cellHardUnder = mDieBieMS->bmsConfig()->getParamDouble("cellHardUnderVoltage"); + double cellHardOver = mDieBieMS->bmsConfig()->getParamDouble("cellHardOverVoltage"); + + for(indexPointer = 0; indexPointer < cellCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(cellVoltageArray[indexPointer] < 0.0){ + datayNormal.append(0.0); + datayBalance.append(fabs(cellVoltageArray[indexPointer])); + }else{ + datayNormal.append(fabs(cellVoltageArray[indexPointer])); + datayBalance.append(0.0); + } + + QString voltageString = QStringLiteral("%1V (C").arg(fabs(cellVoltageArray[indexPointer]), 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer+1) + ")"); + } + + QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + textTicker->addTicks(dataxNew, labels); + + int idx = 0; + double plotx = mSeconds.empty() ? 0 : mSeconds.last(); + for(auto v : cellVoltageArray) + { + // if ( auto *pg = ui->cellGraph->graph(idx) ) + // { + // auto ploty = fabs(v); + // pg->addData(plotx, ploty); + // } + // + ++idx; + } + + // ui->cellBarGraph->xAxis->setTicker(textTicker); + // ui->cellBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + // ui->cellBarGraph->yAxis->setRange(cellHardUnder, cellHardOver); + // barsNormal->setData(dataxNew, datayNormal); + // barsBalance->setData(dataxNew, datayBalance); +} +*/ + +void VisualizationPage::auxReceived(int auxCount, QVector<double> auxVoltageArray){ + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<QString> labels; + int indexPointer; + + for(indexPointer = 0; indexPointer < auxCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(auxVoltageArray[indexPointer] < -50.0){ + datayNormal.append(0.0); + }else{ + datayNormal.append(auxVoltageArray[indexPointer]); + } + + QString voltageString = QStringLiteral("%1°C (TH").arg(auxVoltageArray[indexPointer], 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer+1) + ")"); + } + + QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + textTicker->addTicks(dataxNew, labels); + + /*ui->auxBarGraph->xAxis->setTicker(textTicker); + ui->auxBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + ui->auxBarGraph->yAxis->setRange(-40, 75); + barsTemperature->setData(dataxNew, datayNormal);*/ +} + +void VisualizationPage::expTempReceived(int expTempCount, QVector<double> expTempVoltageArray){ + QVector<double> dataxNew; + dataxNew.clear(); + QVector<double> datayNormal; + datayNormal.clear(); + QVector<QString> labels; + int indexPointer; + + for(indexPointer = 0; indexPointer < expTempCount; indexPointer++){ + dataxNew.append(indexPointer + 1); + + if(expTempVoltageArray[indexPointer] < -50.0){ + datayNormal.append(0.0); + }else{ + datayNormal.append(expTempVoltageArray[indexPointer]); + } + + QString voltageString = QStringLiteral("%1°C (T").arg(expTempVoltageArray[indexPointer], 0, 'f',3); + labels.append(voltageString + QString::number(indexPointer) + ")"); + } + + QSharedPointer<QCPAxisTickerText> textTicker(new QCPAxisTickerText); + textTicker->addTicks(dataxNew, labels); + + /*ui->expBarGraph->xAxis->setTicker(textTicker); + ui->expBarGraph->xAxis->setRange(0.5, indexPointer + 0.5); + ui->expBarGraph->yAxis->setRange(-40, 75); + ExpBarsTemperature->setData(dataxNew, datayNormal);*/ +} + + +void VisualizationPage::appendDoubleAndTrunc(QVector<double> *vec, double num, int maxSize) +{ + vec->append(num); + + if(vec->size() > maxSize) { + vec->remove(0, vec->size() - maxSize); + } +} + + +void VisualizationPage::on_checkBox_stateChanged(int arg1) +{ + if(ui->checkBox->isChecked()) + { + chartT->hideSeriesWithNumber(TemperatureBatMax); + } + else + { + chartT->showSeriesWithNumber(TemperatureBatMax); + } +} diff --git a/visualizationpage.h b/visualizationpage.h new file mode 100644 index 0000000..6fe43ce --- /dev/null +++ b/visualizationpage.h @@ -0,0 +1,336 @@ +#ifndef VISUALIZATIONPAGE_H +#define VISUALIZATIONPAGE_H + +#include <QWidget> +#include <QButtonGroup> +#include <QListWidgetItem> + +#include "visualizationchart.h" +#include "bmsinterface.h" + +namespace Ui { +class VisualizationPage; +} + +#define TURN_ON_DUMMY_DATA_FLOW_TO_GRAPHS 0 + +class VisualizationPage : public QFrame +{ + Q_OBJECT + +public: + enum TabWidgetPage + { + Voltage = 0, + Apmerage, + //Temperature, + TemperatureBat, + TemperatureBms, + Cells, + CellsAll, + } m_currentPageIndex; + + #define ChartsIndexInt int + + enum ChartsIndex + { + VoltageMax = 0, + VoltageMid, + VoltageMin, + AmperageMax, + AmperageMid, + AmperageMin, + //TemperatureMax, + //TemperatureMid, + //TemperatureMin, + TemperatureBatMax, + TemperatureBatMid, + TemperatureBatMin, + TemperatureBmsMax, + TemperatureBmsMid, + TemperatureBmsMin, + CellsMax, + CellsMid, + CellsMin, + //CellsAll, + + ChartsIndexNumber + }; + + enum ChartsForCellsIndex + { + //CellQtwhite = 0 , // EFDBC5 239,219,197 + CellQtblack =0 , + CellQtdarkGray , + CellQtgray , + CellQtlightGray , + CellQtred , + CellQtgreen , + CellQtblue , + CellQtcyan , + CellQtmagenta , + CellQtyellow , + CellQtdarkRed , + CellQtdarkGreen , + CellQtdarkBlue , + CellQtdarkCyan , + CellQtdarkMagenta , + CellQtdarkYellow , + CellAlmond , // EFDBC5 239,219,197 + CellAntiqueBrass , // CD9575 205,149,117 + CellApricot , // FDD9B5 253,217,181 + CellAquamarine , // 78DBE2 120,219,226 + CellAsparagus , // 87A96B 135,169,107 + CellAtomicTangerine , // FFA474 255,164,116 + CellBananaMania , // FAE7B5 250,231,181 + CellBeaver , // 9F8170 159,129,112 + CellBittersweet , // FD7C6E 253,124,110 + CellBlack , // 232323 35,35,35 + CellBlue , // 1F75FE 31,117,254 + CellBlueBell , // ADADD6 173,173,214 + CellBlueGreen , // 199EBD 25,158,189 + CellBlueViolet , // 2E5090 115,102,189 + CellBluetiful , // 7366BD 46,80,144 + CellBlush , // DE5D83 222,93,131 + CellBrickRed , // CB4154 203,65,84 + CellBrown , // B5674D 180,103,77 + CellBurntOrange , // FF7F49 255,127,73 + CellBurntSienna , // EA7E5D 234,126,93 + CellCadetBlue , // B0B7C6 176,183,198 + CellCanary , // FFFF99 255,255,159 + CellCaribbeanGreen , // 1CD3A2 28,211,162 + CellCarnationPink , // FFAACC 255,170,204 + CellCerise , // FF43A4 221,68,146 + CellCerulean , // 1DACD6 29,172,214 + CellChestnut , // BC5D58 188,93,88 + CellCopper , // DD9475 221,148,117 + CellCornflower , // 9ACEEB 154,206,235 + CellCottonCandy , // FFBCD9 255,188,217 + CellDenim , // 2B6CC4 43,108,196 + CellDesertSand , // EFCDB8 239,205,184 + CellEggplant , // DD4492 110,81,96 + CellElectricLime , // 1DF914 29,249,20 + CellFern , // 71BC78 113,188,120 + CellForestGreen , // 6DAE81 109,174,129 + CellFuchsia , // C364C5 195,100,197 + CellFuzzyWuzzy , // CC6666 204,102,102 + CellGold , // E7C697 231,198,151 + CellGoldenrod , // FCD975 255,217,117 + CellGrannySmithApple , // A8E4A0 168,228,160 + CellGray , // 95918C 149,145,140 + CellGreen , // 1CAC78 28,172,120 + CellGreenYellow , // F0E891 240,232,145 + CellHotMagenta , // FF1DCE 255,29,206 + CellInchworm , // B2EC5D 178,236,93 + CellIndigo , // 5D76CB 93,118,203 + CellJazzberryJam , // CA3767 202,55,103 + CellJungleGreen , // 3BB08F 59,176,143 + CellLaserLemon , // FDFC74 253,252,116 + CellLavender , // FCB4D5 252,180,213 + CellMacaroniAndCheese , // FFBD88 255,189,136 + CellMagenta , // FCB4D5 246,100,175 + CellMahogany , // CD4A4A 205,74,74 + CellManatee , // 979AAA 151,154,170 + CellMangoTango , // FF8243 255,130,67 + CellMaroon , // C8385A 200,56,90 + CellMauvelous , // EF98AA 239,152,170 + CellMelon , // FDBCB4 253,188,180 + CellMidnightBlue , // 1A4876 26,72,118 + CellMountainMeadow , // 30BA8F 48,186,143 + CellNavyBlue , // 1974D2 25,116,210 + CellNeonCarrot , // FFA343 255,163,67 + CellOliveGreen , // BAB86C 186,184,108 + CellOrange , // FF7538 255,117,56 + CellOrchid , // C0448F 230,168,215 + CellOuterSpace , // 414AAC 65,74,76 + CellOutrageousOrange , // FF6E4A 255,110,74 + CellPacificBlue , // 1CA9C9 28,169,201 + CellPeach , // FFCFAB 255,207,171 + CellPeriwinkle , // C5D0E6 197,208,230 + CellPiggyPink , // FDD7E4 253,215,228 + CellPineGreen , // 158078 21,128,120 + CellPinkFlamingo , // FC74FD 252,116,253 + CellPinkSherbet , // F780A1 247,128,161 + CellPlum , // 8E4584 142,69,133 + CellPurpleHeart , // 7442C8 116,66,200 + CellPurpleMountainsMajesty , // 9D81BA 157,129,186 + CellPurplePizza , // FF1DCE 255,29,206 + CellRadicalRed , // FF496C 255,73,107 + CellRawSienna , // D68A59 214,138,89 + CellRazzleDazzleRose , // E6A8D7 255,72,208 + CellRazzmatazz , // E3256B 227,37,107 + CellRed , // EE204D 238,32,77 + CellRedOrange , // FF5349 255,83,73 + CellRedViolet , // c0448f 192,68,143 + CellRobinsEggBlue , // 1FCECB 31,206,203 + CellRoyalPurple , // 7851A9 120,81,169 + CellSalmon , // FF9BAA 255,155,170 + CellScarlet , // FC2847 242,40,71 + CellScreaminGreen , // 76FF7A 118,255,122 + CellSeaGreen , // 9FE2BF 159,226,191 + CellSepia , // A5694F 165,105,79 + CellShadow , // 8A795D 138,121,93 + CellShamrock , // 45CEA2 69,206,162 + CellShockingPink , // FB7EFD 251,126,253 + CellSilver , // CDC5C2 205,197,194 + CellSkyBlue , // 80DAEB 128,218,235 + CellSpringGreen , // ECEABE 236,234,190 + CellSunglow , // FFCF48 255,207,72 + CellSunsetOrange , // FD5E53 253,94,83 + CellTan , // FAA76C 250,167,108 + CellTickleMePink , // FC89AC 252,137,172 + CellTimberwolf , // DBD7D2 219,215,210 + CellTropicalRainForest , // 17806D 23,128,109 + CellTumbleweed , // DEAA88 222,170,136 + CellTurquoiseBlue , // 77DDE7 119,221,231 + CellUnmellowYellow , // FDFC74 253,252,116 + CellVioletPurple , // 926EAE 146,110,174 + CellVioletRed , // F75394 247,83,148 + CellVividTangerine , // FFA089 255,160,137 + CellVividViolet , // 8F509D 143,80,157 + CellWhite , // EDEDED 237,237,237 + CellWildBlueYonder , // A2ADD0 162,173,208 + CellWildStrawberry , // F664AF 255,67,164 + CellWildWatermelon , // FC6C85 252,108,133 + CellWisteria , // CDA4DE 205,164,222 + CellYellow , // FCE883 252,232,131 + CellYellowGreen , // C5E384 197,227,132 + CellYellowOrange , //FFB653 255,182,83 + + CellColorsNumber , //120 + }; + + void setIsPageActivated(bool isActivated); + bool isPageActivated(); + + BMSInterface *bms() const; + void setDieBieMS(BMSInterface *dieBieMS); + + explicit VisualizationPage(QWidget *parent = nullptr); + ~VisualizationPage(); + +public slots: + void onVisualizationPageSelected(); + +private slots: + void onTabBarButtonClicked(); + + void onSetValA(); + void onSetValV(); + void onSetValT(); + + void onSetSecsV(int secs); + void onSetSecsA(int secs); + void onSetSecsT(int secs); + void onSetSecsC(int secs); + //void onSetSecsCA(int secs); + +private slots: + void timerSlot(); + void valuesReceived(BMS_VALUES values); + void cellsReceived(int cellCount, QVector<double> cellVoltageArray); + void auxReceived(int auxCount, QVector<double> auxVoltageArray); + void expTempReceived(int expTempCount, QVector<double> expTempVoltageArray); + + void onChecked(QListWidgetItem *item); + + void on_checkBox_stateChanged(int arg1); + +private: + Ui::VisualizationPage *ui; + + BMSInterface *mDieBieMS; + + bool mIsThisPageActivated; + + QButtonGroup* m_btnGroup; + + VisualizationChart* chartV; + VisualizationChart* chartA; + VisualizationChart* chartT; + VisualizationChart* chartTB; + VisualizationChart* chartC; + VisualizationChart* chartCA; + + void initColorsForChartCellsAll(); + + // +/* + QVector<double> mPackVoltage; + + QVector<double> mHCLoadVoltage; + QVector<double> mLCLoadVoltage; + + QVector<double> mHCLoadCurrent; + //QVector<double> mMCLoadCurrent_; + QVector<double> mLCLoadCurrent; + + QVector<double> mAuxVoltage; + QVector<double> mAuxCurrent; + + QVector<double> mCellVHigh; + QVector<double> mCellVAverage; + QVector<double> mCellVLow; + + QVector<double> mTempBMSHigh; + QVector<double> mTempBMSAverage; + //QVector<double> mTempBMSLow_; + + QVector<double> mTempBattHigh; + QVector<double> mTempBattAverage; + //QVector<double> mTempBattLow_; + + + QVector<double> mSeconds; +*/ + + QVector<double> mPackVoltage; + QVector<double> mPackCurrent; + + QVector<double> mLCLoadVoltage; + QVector<double> mLCLoadCurrent; + + QVector<double> mHCLoadVoltage; + QVector<double> mHCLoadCurrent; + + QVector<double> mChargerVoltage; + + QVector<double> mAuxVoltage; + QVector<double> mAuxCurrent; + + QVector<double> mCellVHigh; + QVector<double> mCellVAverage; + QVector<double> mCellVLow; + + QVector<double> mTempBMSHigh; + QVector<double> mTempBMSAverage; + QVector<double> mTempBMSLow; + + QVector<double> mTempBattHigh; + QVector<double> mTempBattAverage; + QVector<double> mTempBattLow; + + QVector<double> mHumidity; + + QVector<double> mCellsVals; + + QVector<double> mSeconds; + + double mSecondCounter; + qint64 mLastUpdateTime; + bool mUpdateValPlot; + + QTimer* mTimer; + + static int mOldCellsNumber; + + void initListWidgetOfCells(int cells); + + void initForPlot(); + + void initForCharts(); + + void appendDoubleAndTrunc(QVector<double> *vec, double num, int maxSize); +}; + +#endif // VISUALIZATIONPAGE_H diff --git a/visualizationpage.ui b/visualizationpage.ui new file mode 100644 index 0000000..195e57b --- /dev/null +++ b/visualizationpage.ui @@ -0,0 +1,1680 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>VisualizationPage</class> + <widget class="QFrame" name="VisualizationPage"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>1071</width> + <height>755</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <property name="styleSheet"> + <string notr="true">QWidget#VisualizationPage +{ + background-color: #f7f8fc +} + +QPushButton#pbVisualizationMenuBarVoltage +{ + border: 2px solid lightgrey; + border-top-left-radius: 15px; + background: white; + color: black; + font-size: 18px; + border-right-color: white; +} + +/* border-top-left-radius: 20px;*/ +QPushButton#pbVisualizationMenuBarAmperage, +#pbVisualizationMenuBarTemperatureBat, +#pbVisualizationMenuBarTemperatureBms, +#pbVisualizationMenuBarCells, +#pbVisualizationMenuBarCellsAll +{ + border: 2px solid lightgrey; + background: white; + color: black; + font-size: 18px; + border-left-color: white; + border-right-color: white; +} + + +/*----------------------------------------------------------------------*/ + +QPushButton#pbVisualizationMenuBarVoltage:hover:checked, +#pbVisualizationMenuBarAmperage:hover:checked, +#pbVisualizationMenuBarTemperatureBat:hover:checked, +#pbVisualizationMenuBarTemperatureBms:hover:checked, +#pbVisualizationMenuBarCells:hover:checked, +#pbVisualizationMenuBarCellsAll:hover:checked +{ + /*background-color: #01673a;*/ + border-bottom-color:#009352; + color:#009352; +} + + +QPushButton#pbVisualizationMenuBarVoltage:!hover:checked, +#pbVisualizationMenuBarAmperage:!hover:checked, +#pbVisualizationMenuBarTemperatureBat:!hover:checked, +#pbVisualizationMenuBarTemperatureBms:!hover:checked, +#pbVisualizationMenuBarCells:!hover:checked, +#pbVisualizationMenuBarCellsAll:!hover:checked +{ + /*background-color: #01673a;*/ + border-bottom-color: #009352; + color:#009352; +} + + +QPushButton#pbVisualizationMenuBarVoltage:hover:!checked, +#pbVisualizationMenuBarAmperage:hover:!checked, +#pbVisualizationMenuBarTemperatureBat:hover:!checked, +#pbVisualizationMenuBarTemperatureBms:hover:!checked, +#pbVisualizationMenuBarCells:hover:!checked, +#pbVisualizationMenuBarCellsAll:hover:!checked +{ + /*background-color: #009352;*/ + /*background-color: #028249;*/ + border-bottom-color: lightgrey; + color:black; +} +</string> + </property> + <widget class="QLabel" name="lbCenterTabName"> + <property name="geometry"> + <rect> + <x>30</x> + <y>30</y> + <width>291</width> + <height>41</height> + </rect> + </property> + <property name="font"> + <font> + <pointsize>26</pointsize> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Визуализация</string> + </property> + <property name="alignment"> + <set>Qt::AlignBottom|Qt::AlignLeading|Qt::AlignLeft</set> + </property> + </widget> + <widget class="QTabWidget" name="tabWidgetVisualizationContent"> + <property name="geometry"> + <rect> + <x>30</x> + <y>170</y> + <width>1001</width> + <height>551</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">QTabBar::tab +{ + height: 0px; +} + +QTabWidget::pane +{ + border: 2px solid lightgrey; + background: white; + border-bottom-left-radius: 15px; + border-bottom-right-radius: 15px; +} + +</string> + </property> + <property name="currentIndex"> + <number>5</number> + </property> + <widget class="QWidget" name="tabVoltage"> + <attribute name="title"> + <string>Напряжение</string> + </attribute> + <widget class="QChartView" name="chartViewVoltage"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>981</width> + <height>441</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background:white;</string> + </property> + </widget> + <widget class="QLabel" name="lbVTime"> + <property name="geometry"> + <rect> + <x>800</x> + <y>470</y> + <width>171</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>0 мин 0 с</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbVThirdLegendColorLine"> + <property name="geometry"> + <rect> + <x>430</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: yellow; +color: yellow;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbVMinLegendMeasure"> + <property name="geometry"> + <rect> + <x>400</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>V</string> + </property> + </widget> + <widget class="QLabel" name="lbVFirstLegendSubTitle"> + <property name="geometry"> + <rect> + <x>20</x> + <y>500</y> + <width>151</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string> Значение</string> + </property> + </widget> + <widget class="QLabel" name="lbVFirstLegendColorLine"> + <property name="geometry"> + <rect> + <x>110</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: red; +color: red;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbVSecondLegendColorLine"> + <property name="geometry"> + <rect> + <x>270</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: green; +color: green;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbVMaxLegendMeasure"> + <property name="geometry"> + <rect> + <x>80</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>V</string> + </property> + </widget> + <widget class="QLabel" name="lbVMinLegendVal"> + <property name="geometry"> + <rect> + <x>340</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>1,77</string> + </property> + </widget> + <widget class="QLabel" name="lbVThirdLegendSubTitle"> + <property name="geometry"> + <rect> + <x>340</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Минимальное</string> + </property> + </widget> + <widget class="QLabel" name="lbVSecondLegendSubTitle"> + <property name="geometry"> + <rect> + <x>180</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Среднее</string> + </property> + </widget> + <widget class="QLabel" name="lbVMidLegendVal"> + <property name="geometry"> + <rect> + <x>180</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>3,01</string> + </property> + </widget> + <widget class="QLabel" name="lbVMidLegendMeasure"> + <property name="geometry"> + <rect> + <x>240</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>V</string> + </property> + </widget> + <widget class="QLabel" name="lbVMaxLegendVal"> + <property name="geometry"> + <rect> + <x>20</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>4,20</string> + </property> + </widget> + </widget> + <widget class="QWidget" name="tabAmperage"> + <attribute name="title"> + <string>Ток</string> + </attribute> + <widget class="QChartView" name="chartViewAmperage"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>981</width> + <height>441</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background:white;</string> + </property> + </widget> + <widget class="QLabel" name="lbATime"> + <property name="geometry"> + <rect> + <x>800</x> + <y>470</y> + <width>171</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>0 мин 0 с</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbAFirstLegendColorLine"> + <property name="geometry"> + <rect> + <x>110</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: red; +color: red;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbASecondLegendSubTitle"> + <property name="geometry"> + <rect> + <x>180</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Средний</string> + </property> + </widget> + <widget class="QLabel" name="lbAMinLegendMeasure"> + <property name="geometry"> + <rect> + <x>400</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>А</string> + </property> + </widget> + <widget class="QLabel" name="lbAMidLegendMeasure"> + <property name="geometry"> + <rect> + <x>240</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>А</string> + </property> + </widget> + <widget class="QLabel" name="lbAMinLegendVal"> + <property name="geometry"> + <rect> + <x>340</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>1,77</string> + </property> + </widget> + <widget class="QLabel" name="lbAThirdLegendColorLine"> + <property name="geometry"> + <rect> + <x>430</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: yellow; +color: yellow;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbAMaxLegendMeasure"> + <property name="geometry"> + <rect> + <x>80</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>А</string> + </property> + </widget> + <widget class="QLabel" name="lbAMidLegendVal"> + <property name="geometry"> + <rect> + <x>180</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>3,01</string> + </property> + </widget> + <widget class="QLabel" name="lbAMaxLegendVal"> + <property name="geometry"> + <rect> + <x>20</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>4,20</string> + </property> + </widget> + <widget class="QLabel" name="lbAFirstLegendSubTitle"> + <property name="geometry"> + <rect> + <x>20</x> + <y>500</y> + <width>151</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Значение</string> + </property> + </widget> + <widget class="QLabel" name="lbASecondLegendColorLine"> + <property name="geometry"> + <rect> + <x>270</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: green; +color: green;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbAThirdLegendSubTitle"> + <property name="geometry"> + <rect> + <x>340</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Минимальный</string> + </property> + </widget> + </widget> + <widget class="QWidget" name="tabTemperature"> + <attribute name="title"> + <string>Температура</string> + </attribute> + <widget class="QLabel" name="lbTSecondLegendColorLine"> + <property name="geometry"> + <rect> + <x>270</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: green; +color: green;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QChartView" name="chartViewTemperature"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>981</width> + <height>441</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background:white;</string> + </property> + </widget> + <widget class="QLabel" name="lbTMinLegendVal"> + <property name="geometry"> + <rect> + <x>340</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>1,77</string> + </property> + </widget> + <widget class="QLabel" name="lbTMaxLegendVal"> + <property name="geometry"> + <rect> + <x>20</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>4,20</string> + </property> + </widget> + <widget class="QLabel" name="lbTFirstLegendSubTitle"> + <property name="geometry"> + <rect> + <x>20</x> + <y>500</y> + <width>151</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Максимальная</string> + </property> + </widget> + <widget class="QLabel" name="lbTFirstLegendColorLine"> + <property name="geometry"> + <rect> + <x>110</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: red; +color: red;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbTThirdLegendSubTitle"> + <property name="geometry"> + <rect> + <x>340</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Минимальная</string> + </property> + </widget> + <widget class="QLabel" name="lbTMidLegendVal"> + <property name="geometry"> + <rect> + <x>180</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>3,01</string> + </property> + </widget> + <widget class="QLabel" name="lbTThirdLegendColorLine"> + <property name="geometry"> + <rect> + <x>430</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: yellow; +color: yellow;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbTSecondLegendSubTitle"> + <property name="geometry"> + <rect> + <x>180</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Средняя</string> + </property> + </widget> + <widget class="QLabel" name="lbTTime"> + <property name="geometry"> + <rect> + <x>800</x> + <y>470</y> + <width>171</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>0 мин 0 с</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QCustomPlot" name="tempGraph" native="true"> + <property name="geometry"> + <rect> + <x>560</x> + <y>470</y> + <width>311</width> + <height>61</height> + </rect> + </property> + </widget> + <widget class="RtDataText" name="rtText" native="true"> + <property name="geometry"> + <rect> + <x>470</x> + <y>465</y> + <width>81</width> + <height>81</height> + </rect> + </property> + </widget> + <widget class="QLabel" name="lbTCurTemp"> + <property name="geometry"> + <rect> + <x>810</x> + <y>10</y> + <width>171</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>00</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbTMinLegendMeasure"> + <property name="geometry"> + <rect> + <x>400</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>°C</string> + </property> + </widget> + <widget class="QLabel" name="lbTMidLegendMeasure"> + <property name="geometry"> + <rect> + <x>240</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>°C</string> + </property> + </widget> + <widget class="QLabel" name="lbTMaxLegendMeasure"> + <property name="geometry"> + <rect> + <x>80</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>°C</string> + </property> + </widget> + <widget class="QCheckBox" name="checkBox"> + <property name="geometry"> + <rect> + <x>20</x> + <y>530</y> + <width>70</width> + <height>17</height> + </rect> + </property> + <property name="text"> + <string>CheckBox</string> + </property> + </widget> + </widget> + <widget class="QWidget" name="tabTemperatureBms"> + <attribute name="title"> + <string>Страница</string> + </attribute> + <widget class="QLabel" name="lbTSecondLegendSubTitleBms"> + <property name="geometry"> + <rect> + <x>180</x> + <y>500</y> + <width>131</width> + <height>41</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Средняя +BMS</string> + </property> + </widget> + <widget class="QLabel" name="lbTMinLegendMeasureBms"> + <property name="geometry"> + <rect> + <x>400</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>°C</string> + </property> + </widget> + <widget class="QLabel" name="lbTThirdLegendColorLineBms"> + <property name="geometry"> + <rect> + <x>430</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: yellow; +color: yellow;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbTSecondLegendColorLineBms"> + <property name="geometry"> + <rect> + <x>270</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: green; +color: green;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbTMaxLegendValBms"> + <property name="geometry"> + <rect> + <x>20</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>4,20</string> + </property> + </widget> + <widget class="QChartView" name="chartViewTemperatureBms"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>981</width> + <height>441</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background:white;</string> + </property> + </widget> + <widget class="QLabel" name="lbTThirdLegendSubTitleBms"> + <property name="geometry"> + <rect> + <x>340</x> + <y>500</y> + <width>131</width> + <height>41</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Минимальная +BMS</string> + </property> + </widget> + <widget class="QLabel" name="lbTCurTempBms"> + <property name="geometry"> + <rect> + <x>810</x> + <y>10</y> + <width>171</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>00</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbTMidLegendMeasureBms"> + <property name="geometry"> + <rect> + <x>240</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>°C</string> + </property> + </widget> + <widget class="QLabel" name="lbTFirstLegendSubTitleBms"> + <property name="geometry"> + <rect> + <x>20</x> + <y>500</y> + <width>151</width> + <height>41</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Максимальная +BMS</string> + </property> + </widget> + <widget class="QLabel" name="lbTMinLegendValBms"> + <property name="geometry"> + <rect> + <x>340</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>1,77</string> + </property> + </widget> + <widget class="QLabel" name="lbTFirstLegendColorLineBms"> + <property name="geometry"> + <rect> + <x>110</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: red; +color: red;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbTMidLegendValBms"> + <property name="geometry"> + <rect> + <x>180</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>3,01</string> + </property> + </widget> + <widget class="QLabel" name="lbTMaxLegendMeasureBms"> + <property name="geometry"> + <rect> + <x>80</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>°C</string> + </property> + </widget> + </widget> + <widget class="QWidget" name="tabCells"> + <attribute name="title"> + <string>Страница</string> + </attribute> + <widget class="QLabel" name="lbCTime"> + <property name="geometry"> + <rect> + <x>800</x> + <y>470</y> + <width>171</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>0 мин 0 с</string> + </property> + <property name="alignment"> + <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set> + </property> + </widget> + <widget class="QLabel" name="lbCFirstLegendColorLine"> + <property name="geometry"> + <rect> + <x>110</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: red; +color: red;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbCSecondLegendSubTitle"> + <property name="geometry"> + <rect> + <x>180</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Среднее</string> + </property> + </widget> + <widget class="QLabel" name="lbCMinLegendMeasure"> + <property name="geometry"> + <rect> + <x>400</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + <widget class="QLabel" name="lbCMinLegendVal"> + <property name="geometry"> + <rect> + <x>340</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>1,77</string> + </property> + </widget> + <widget class="QLabel" name="lbCThirdLegendColorLine"> + <property name="geometry"> + <rect> + <x>430</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: yellow; +color: yellow;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbCMidLegendMeasure"> + <property name="geometry"> + <rect> + <x>240</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + <widget class="QChartView" name="chartViewCells"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>981</width> + <height>441</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background:white;</string> + </property> + </widget> + <widget class="QLabel" name="lbCMaxLegendMeasure"> + <property name="geometry"> + <rect> + <x>80</x> + <y>470</y> + <width>31</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string/> + </property> + </widget> + <widget class="QLabel" name="lbCMidLegendVal"> + <property name="geometry"> + <rect> + <x>180</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>3,01</string> + </property> + </widget> + <widget class="QLabel" name="lbCMaxLegendVal"> + <property name="geometry"> + <rect> + <x>20</x> + <y>470</y> + <width>61</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: black;</string> + </property> + <property name="text"> + <string>4,20</string> + </property> + </widget> + <widget class="QLabel" name="lbCThirdLegendSubTitle"> + <property name="geometry"> + <rect> + <x>340</x> + <y>500</y> + <width>131</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Минимальное</string> + </property> + </widget> + <widget class="QLabel" name="lbCSecondLegendColorLine"> + <property name="geometry"> + <rect> + <x>270</x> + <y>480</y> + <width>31</width> + <height>3</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true">background: green; +color: green;</string> + </property> + <property name="text"> + <string>-------------</string> + </property> + </widget> + <widget class="QLabel" name="lbCFirstLegendSubTitle"> + <property name="geometry"> + <rect> + <x>20</x> + <y>500</y> + <width>151</width> + <height>21</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"> font-size: 18px; + color: gray;</string> + </property> + <property name="text"> + <string>Максимальное</string> + </property> + </widget> + </widget> + <widget class="QWidget" name="tabCellsAll"> + <attribute name="title"> + <string>Страница</string> + </attribute> + <widget class="QChartView" name="chartViewCellsAll"> + <property name="geometry"> + <rect> + <x>10</x> + <y>10</y> + <width>781</width> + <height>521</height> + </rect> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>50</height> + </size> + </property> + <property name="styleSheet"> + <string notr="true">background:white;</string> + </property> + </widget> + <widget class="QListWidget" name="listwgtCells"> + <property name="geometry"> + <rect> + <x>800</x> + <y>10</y> + <width>181</width> + <height>521</height> + </rect> + </property> + </widget> + <widget class="QPushButton" name="pbPlus"> + <property name="geometry"> + <rect> + <x>800</x> + <y>530</y> + <width>51</width> + <height>31</height> + </rect> + </property> + <property name="text"> + <string>+</string> + </property> + </widget> + </widget> + </widget> + <widget class="CustomLeftTabBarButton" name="pbVisualizationMenuBarAmperage"> + <property name="geometry"> + <rect> + <x>230</x> + <y>90</y> + <width>101</width> + <height>81</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>Ток</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + <widget class="CustomLeftTabBarButton" name="pbVisualizationMenuBarTemperatureBat"> + <property name="geometry"> + <rect> + <x>330</x> + <y>90</y> + <width>151</width> + <height>81</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>Температура +батареи</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>true</bool> + </property> + </widget> + <widget class="CustomLeftTabBarButton" name="pbVisualizationMenuBarVoltage"> + <property name="geometry"> + <rect> + <x>30</x> + <y>90</y> + <width>201</width> + <height>81</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>Напряжение</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + <widget class="QLabel" name="labLeftTabListBackground"> + <property name="geometry"> + <rect> + <x>30</x> + <y>90</y> + <width>1001</width> + <height>81</height> + </rect> + </property> + <property name="font"> + <font> + <pointsize>14</pointsize> + <weight>50</weight> + <bold>false</bold> + </font> + </property> + <property name="styleSheet"> + <string notr="true"> background-color:#FFFFFF; + border: 2px solid lightgrey; + border-top-left-radius: 15px; + border-top-right-radius: 15px; +</string> + </property> + <property name="text"> + <string/> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> + <widget class="CustomLeftTabBarButton" name="pbVisualizationMenuBarCells"> + <property name="geometry"> + <rect> + <x>630</x> + <y>90</y> + <width>151</width> + <height>81</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>Ячейки</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + <widget class="CustomLeftTabBarButton" name="pbVisualizationMenuBarTemperatureBms"> + <property name="geometry"> + <rect> + <x>480</x> + <y>90</y> + <width>151</width> + <height>81</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>Температура +BMS</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + <widget class="CustomLeftTabBarButton" name="pbVisualizationMenuBarCellsAll"> + <property name="geometry"> + <rect> + <x>780</x> + <y>90</y> + <width>151</width> + <height>81</height> + </rect> + </property> + <property name="styleSheet"> + <string notr="true"/> + </property> + <property name="text"> + <string>Ячейки +список</string> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + <property name="checked"> + <bool>false</bool> + </property> + </widget> + <zorder>lbCenterTabName</zorder> + <zorder>tabWidgetVisualizationContent</zorder> + <zorder>labLeftTabListBackground</zorder> + <zorder>pbVisualizationMenuBarVoltage</zorder> + <zorder>pbVisualizationMenuBarTemperatureBat</zorder> + <zorder>pbVisualizationMenuBarAmperage</zorder> + <zorder>pbVisualizationMenuBarCells</zorder> + <zorder>pbVisualizationMenuBarTemperatureBms</zorder> + <zorder>pbVisualizationMenuBarCellsAll</zorder> + </widget> + <customwidgets> + <customwidget> + <class>CustomLeftTabBarButton</class> + <extends>QPushButton</extends> + <header location="global">customlefttabbarbutton.h</header> + </customwidget> + <customwidget> + <class>QChartView</class> + <extends>QGraphicsView</extends> + <header>QtCharts</header> + </customwidget> + <customwidget> + <class>RtDataText</class> + <extends>QWidget</extends> + <header>widgets/rtdatatext.h</header> + <container>1</container> + </customwidget> + <customwidget> + <class>QCustomPlot</class> + <extends>QWidget</extends> + <header>widgets/qcustomplot.h</header> + <container>1</container> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/widgets/aspectimglabel.cpp b/widgets/aspectimglabel.cpp new file mode 100644 index 0000000..2c732ff --- /dev/null +++ b/widgets/aspectimglabel.cpp @@ -0,0 +1,46 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "aspectimglabel.h" + +AspectImgLabel::AspectImgLabel(Qt::Orientation orientation, QWidget *parent) : + QLabel(parent), mOrientation(orientation) +{ + +} + +void AspectImgLabel::resizeEvent(QResizeEvent *event) +{ + QLabel::resizeEvent(event); + + const QPixmap *pix = pixmap(); + + if (pix) { + int wLabel = width(); + int hLabel = height(); + int wImg = pix->width(); + int hImg = pix->height(); + + if (mOrientation == Qt::Horizontal) { + setMaximumHeight((wLabel * hImg) / wImg); + } else if (hLabel != hImg) { + setMaximumWidth((hLabel * wImg) / hImg); + } + } +} diff --git a/widgets/aspectimglabel.h b/widgets/aspectimglabel.h new file mode 100644 index 0000000..e11dd82 --- /dev/null +++ b/widgets/aspectimglabel.h @@ -0,0 +1,43 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef ASPECTIMGLABEL_H +#define ASPECTIMGLABEL_H + +#include <QObject> +#include <QWidget> +#include <QLabel> + +class AspectImgLabel : public QLabel +{ + Q_OBJECT + +public: + AspectImgLabel(Qt::Orientation orientatio = Qt::Vertical, + QWidget *parent = 0); + +protected: + void resizeEvent(QResizeEvent *event); + +private: + Qt::Orientation mOrientation; + +}; + +#endif // ASPECTIMGLABEL_H diff --git a/widgets/displaybar.cpp b/widgets/displaybar.cpp new file mode 100644 index 0000000..9e9a219 --- /dev/null +++ b/widgets/displaybar.cpp @@ -0,0 +1,142 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "displaybar.h" +#include <QPainter> +#include <cmath> + +DisplayBar::DisplayBar(QWidget *parent) : QWidget(parent) +{ + mName = "Current"; + mRange = 60.0; + mVal = 0.0; + mUnit = " A"; + mDecimals = 2; +} + +void DisplayBar::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + int w = width(); + int h = height(); + double f_disp = 0.3; + double f_val = 1.0 - f_disp; + + painter.fillRect(event->rect(), Qt::transparent); + painter.setBrush(Qt::black); + painter.drawRoundedRect(event->rect(), 5.0, 5.0); + + painter.setBrush(QBrush(Qt::red)); + painter.fillRect(w / 2 - 1, 0, 2, h, Qt::darkRed); + painter.fillRect(0, h * f_disp - 1, w, 2, Qt::darkGreen); + + QPen pen; + QFont font; + + // Name + pen.setColor(Qt::white); + font.setFamily("Monospace"); + font.setBold(true); + font.setPixelSize(h * f_val - 2); + painter.setPen(pen); + painter.setFont(font); + painter.drawText(QRect(0, h * f_disp + 1, w / 2 - 2, h * f_val - 1), + Qt::AlignCenter, mName); + + // Value + pen.setColor(Qt::white); + font.setFamily("Monospace"); + font.setBold(true); + font.setPixelSize(h * f_val - 2); + painter.setPen(pen); + painter.setFont(font); + QString str = QString("%1%2").arg(mVal, 0, 'f', mDecimals).arg(mUnit); + painter.drawText(QRect(w / 2 + 1, h * f_disp + 1, w / 2 - 2, h * f_val - 1), + Qt::AlignCenter, str); + + double xsp = (double)w / 2.0 + 1.0; + double xsm = (double)w / 2.0 - 1.0; + double valw = (mVal / mRange) * ((double)w / 2.0 - 2.0); + double valh = (double)h * f_disp - 2.0; + + if (fabs(valw) > 0.1) { + if (valw >= 0.0) { + painter.setBrush(Qt::green); + painter.drawRect(xsp, 1, valw, valh); + } else { + painter.setBrush(Qt::red); + painter.drawRect(xsm + valw, 1, -valw, valh); + } + } +} + +int DisplayBar::decimals() const +{ + return mDecimals; +} + +void DisplayBar::setDecimals(int decimals) +{ + mDecimals = decimals; +} + +QString DisplayBar::unit() const +{ + return mUnit; +} + +void DisplayBar::setUnit(const QString &unit) +{ + mUnit = unit; +} + +double DisplayBar::val() const +{ + return mVal; +} + +void DisplayBar::setVal(double val) +{ + mVal = val; + update(); +} + +double DisplayBar::range() const +{ + return mRange; +} + +void DisplayBar::setRange(double range) +{ + mRange = range; + update(); +} + +QString DisplayBar::name() const +{ + return mName; +} + +void DisplayBar::setName(const QString &name) +{ + mName = name; + update(); +} diff --git a/widgets/displaybar.h b/widgets/displaybar.h new file mode 100644 index 0000000..d762bb6 --- /dev/null +++ b/widgets/displaybar.h @@ -0,0 +1,59 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef DISPLAYBAR_H +#define DISPLAYBAR_H + +#include <QWidget> +#include <QPaintEvent> + +class DisplayBar : public QWidget +{ + Q_OBJECT +public: + explicit DisplayBar(QWidget *parent = 0); + + QString name() const; + void setName(const QString &name); + double range() const; + void setRange(double range); + double val() const; + void setVal(double val); + QString unit() const; + void setUnit(const QString &unit); + int decimals() const; + void setDecimals(int decimals); + +signals: + +public slots: + +protected: + void paintEvent(QPaintEvent *event); + +private: + QString mName; + double mRange; + double mVal; + QString mUnit; + int mDecimals; + +}; + +#endif // DISPLAYBAR_H diff --git a/widgets/displaypercentage.cpp b/widgets/displaypercentage.cpp new file mode 100644 index 0000000..45a89fe --- /dev/null +++ b/widgets/displaypercentage.cpp @@ -0,0 +1,147 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "displaypercentage.h" +#include <QPainter> +#include <QPaintEvent> +#include <QFont> +#include <cmath> + +DisplayPercentage::DisplayPercentage(QWidget *parent) : QWidget(parent) +{ + mText = ""; + mIsDual = false; + mValue = 0.0; +} + +QString DisplayPercentage::text() const +{ + return mText; +} + +void DisplayPercentage::setText(const QString &text) +{ + mText = text; + update(); +} + +bool DisplayPercentage::isDual() const +{ + return mIsDual; +} + +void DisplayPercentage::setDual(bool hasNegative) +{ + mIsDual = hasNegative; + update(); +} + +double DisplayPercentage::value() const +{ + return mValue; +} + +void DisplayPercentage::setValue(double value) +{ + mValue = value; + update(); +} + +void DisplayPercentage::paintEvent(QPaintEvent *event) +{ + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + QColor c_bg = Qt::black; + QColor c_hl = Qt::darkGreen; + QColor c_vl = Qt::darkRed; + QColor c_neg = Qt::red; + QColor c_pos = Qt::green; + QColor c_text = Qt::white; + + if (!isEnabled()) { + int c = 80; + c_bg = QColor(c, c, c); + + c = 120; + c_hl = QColor(c, c, c); + + c = 120; + c_vl = QColor(c, c, c); + + c = 120; + c_neg = QColor(c, c, c); + + c = 180; + c_pos = QColor(c, c, c); + + c = 180; + c_text = QColor(c, c, c); + } + + int w = width(); + int h = height(); + + painter.fillRect(event->rect(), Qt::transparent); + painter.setBrush(c_bg); + painter.drawRoundedRect(event->rect(), 5.0, 5.0); + + if (mIsDual) { + painter.fillRect(w / 2 - 1, 0, 2, h / 3, c_vl); + } + + painter.fillRect(0, h / 3 - 1, w, 2, c_hl); + + QPen pen; + QFont font; + + // Text + pen.setColor(c_text); + font.setFamily("Monospace"); + font.setBold(true); + font.setPixelSize(2 * h / 3 - 2); + painter.setPen(pen); + painter.setFont(font); + painter.drawText(QRect(0, h / 3 + 1, w - 2, 2 * h / 3 - 1), Qt::AlignCenter, mText); + + double valh = (double)h / 3.0 - 2.0; + if (mIsDual) { + double xsp = (double)w / 2.0 + 1.0; + double xsm = (double)w / 2.0 - 1.0; + double valw = (mValue / 100.0) * ((double)w / 2.0 - 2.0); + + if (fabs(valw) > 0.1) { + if (valw >= 0.0) { + painter.setBrush(c_pos); + painter.drawRect(xsp, 0, valw, valh); + } else { + painter.setBrush(c_neg); + painter.drawRect(xsm + valw, 1, -valw, valh); + } + } + } else { + if (mValue >= 0.0) { + painter.setBrush(c_pos); + painter.drawRect(0, 1, (w * mValue) / 100.0, valh); + } else { + painter.setBrush(c_neg); + painter.drawRect(w + w * (mValue / 100.0), 1, w, valh); + } + } +} diff --git a/widgets/displaypercentage.h b/widgets/displaypercentage.h new file mode 100644 index 0000000..3fedee6 --- /dev/null +++ b/widgets/displaypercentage.h @@ -0,0 +1,54 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef DISPLAYPERCENTAGE_H +#define DISPLAYPERCENTAGE_H + +#include <QWidget> + +class DisplayPercentage : public QWidget +{ + Q_OBJECT +public: + explicit DisplayPercentage(QWidget *parent = 0); + + QString text() const; + void setText(const QString &text); + + bool isDual() const; + void setDual(bool isDual); + + double value() const; + void setValue(double value); + +signals: + +public slots: + +protected: + void paintEvent(QPaintEvent *event); + +private: + QString mText; + bool mIsDual; + double mValue; + +}; + +#endif // DISPLAYPERCENTAGE_H diff --git a/widgets/helpdialog.cpp b/widgets/helpdialog.cpp new file mode 100644 index 0000000..c4644fc --- /dev/null +++ b/widgets/helpdialog.cpp @@ -0,0 +1,86 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "helpdialog.h" +#include "ui_helpdialog.h" +#include <QDebug> +#include <QMessageBox> + +HelpDialog::HelpDialog(QString title, QString text, QWidget *parent) : + QDialog(parent), + ui(new Ui::HelpDialog) +{ + ui->setupUi(this); + setAttribute(Qt::WA_DeleteOnClose); + setWindowTitle(title); + ui->textEdit->setText(text); + ui->textEdit->viewport()->setAutoFillBackground(false); +} + +HelpDialog::~HelpDialog() +{ + delete ui; +} + +void HelpDialog::showHelp(QWidget *parent, ConfigParams *params, QString name, bool modal) +{ + ConfigParam *param = params->getParam(name); + + if (param) { + HelpDialog *h = new HelpDialog(param->longName, + param->description, + parent); + if (modal) { + h->exec(); + } else { + h->show(); + } + } else { + QMessageBox::warning(parent, + tr("Show help"), + tr("Help text for %1 not found.").arg(name)); + } +} + +void HelpDialog::showHelp(QWidget *parent, QString title, QString text) +{ + HelpDialog *h = new HelpDialog(title, text, parent); + h->exec(); +} + +void HelpDialog::showEvent(QShowEvent *event) +{ + QSize s = ui->textEdit->document()->size().toSize(); + int tot = (this->height() - ui->textEdit->height()) + s.height() + 5; + + if (tot < 140) { + this->resize(this->width(), 140); + } else if (tot > 450) { + this->resize(this->width(), 450); + } else { + this->resize(this->width(), tot); + } + + QDialog::showEvent(event); +} + +void HelpDialog::on_okButton_clicked() +{ + close(); +} diff --git a/widgets/helpdialog.h b/widgets/helpdialog.h new file mode 100644 index 0000000..15a7a1c --- /dev/null +++ b/widgets/helpdialog.h @@ -0,0 +1,50 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef HELPDIALOG_H +#define HELPDIALOG_H + +#include <QDialog> +#include "configparams.h" + +namespace Ui { +class HelpDialog; +} + +class HelpDialog : public QDialog +{ + Q_OBJECT + +public: + explicit HelpDialog(QString title, QString text, QWidget *parent = 0); + ~HelpDialog(); + + void showEvent(QShowEvent *event) override; + + static void showHelp(QWidget *parent, ConfigParams *params, QString name, bool modal = true); + static void showHelp(QWidget *parent, QString title, QString text); + +private slots: + void on_okButton_clicked(); + +private: + Ui::HelpDialog *ui; +}; + +#endif // HELPDIALOG_H diff --git a/widgets/helpdialog.ui b/widgets/helpdialog.ui new file mode 100644 index 0000000..9f0e8b9 --- /dev/null +++ b/widgets/helpdialog.ui @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>HelpDialog</class> + <widget class="QDialog" name="HelpDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>613</width> + <height>236</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <property name="windowIcon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <item> + <widget class="QLabel" name="label"> + <property name="minimumSize"> + <size> + <width>40</width> + <height>40</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>40</width> + <height>40</height> + </size> + </property> + <property name="text"> + <string/> + </property> + <property name="pixmap"> + <pixmap resource="../res.qrc">:/res/icons/About-96.png</pixmap> + </property> + <property name="scaledContents"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="VTextBrowser" name="textEdit"> + <property name="frameShape"> + <enum>QFrame::NoFrame</enum> + </property> + </widget> + </item> + </layout> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="okButton"> + <property name="text"> + <string>Ok</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>VTextBrowser</class> + <extends>QTextEdit</extends> + <header>widgets/vtextbrowser.h</header> + </customwidget> + </customwidgets> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/historylineedit.cpp b/widgets/historylineedit.cpp new file mode 100644 index 0000000..1a4cf75 --- /dev/null +++ b/widgets/historylineedit.cpp @@ -0,0 +1,109 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "historylineedit.h" +#include <QDebug> + +//#if 1 +HistoryLineEdit::HistoryLineEdit(QWidget *parent) : + QLineEdit(parent) +{ + mIndexNow = 0; + installEventFilter(this); +} + +bool HistoryLineEdit::eventFilter(QObject *object, QEvent *e) +{ + Q_UNUSED(object); + + if (e->type() == QEvent::KeyPress) { + QKeyEvent *keyEvent = static_cast<QKeyEvent *>(e); + + switch(keyEvent->key()) { + case Qt::Key_Up: + case Qt::Key_Down: + //case Qt::Key_Return: + //case Qt::Key_Enter: + // break; + + case Qt::Key_Return: + case Qt::Key_Enter: + /// TO DO /// emit enterClicked(); + break; + + default: + return false; + } + + bool retval = true; + + switch(keyEvent->key()) { + case Qt::Key_Up: { + if (mIndexNow == 0) { + mCurrentText = text(); + } + + mIndexNow--; + + int ind = mHistory.size() + mIndexNow; + if (ind >= 0 && ind < mHistory.size()) { + setText(mHistory.at(ind)); + } else { + mIndexNow++; + } + } break; + + case Qt::Key_Down: + mIndexNow++; + + if (mIndexNow >= 0) { + if (mIndexNow == 0) { + setText(mCurrentText); + } + mIndexNow = 0; + } else { + int ind = mHistory.size() + mIndexNow; + if (ind >= 0 && ind < mHistory.size()) { + setText(mHistory.at(ind)); + } + } + break; + + case Qt::Key_Return: + case Qt::Key_Enter: + if (!text().isEmpty()) { + if (mHistory.isEmpty() || mHistory.last() != text()) { + mHistory.append(text()); + } + } + mIndexNow = 0; + mCurrentText.clear(); + retval = false; + break; + + default: + break; + } + + return retval; + } + + return false; +} +//#endif diff --git a/widgets/historylineedit.h b/widgets/historylineedit.h new file mode 100644 index 0000000..ec0de8a --- /dev/null +++ b/widgets/historylineedit.h @@ -0,0 +1,47 @@ +/* + Copyright 2018 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef HISTORYLINEEDIT_H +#define HISTORYLINEEDIT_H + +#include <QObject> +#include <QWidget> +#include <QLineEdit> +#include <QStringList> +#include <QEvent> +#include <QKeyEvent> +//#if 1 +class HistoryLineEdit : public QLineEdit +{ + //Q_OBJECT +public: + HistoryLineEdit(QWidget *parent = 0); + bool eventFilter(QObject *object, QEvent *e); + +//signals: +// void enterClicked(); + +private: + QStringList mHistory; + int mIndexNow; + QString mCurrentText; + +}; +//#endif +#endif // HISTORYLINEEDIT_H diff --git a/widgets/imagewidget.cpp b/widgets/imagewidget.cpp new file mode 100644 index 0000000..31ee476 --- /dev/null +++ b/widgets/imagewidget.cpp @@ -0,0 +1,54 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "imagewidget.h" +#include <QPainter> +#include <QPaintEvent> +#include <QDebug> + +ImageWidget::ImageWidget(QWidget *parent) : QWidget(parent) +{ + +} + +void ImageWidget::paintEvent(QPaintEvent *event) +{ + (void)event; + if (!mPixmap.isNull()) { + QPainter painter(this); + painter.setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform); + painter.fillRect(rect(), Qt::transparent); + + int pw = mPixmap.width(); + int ph = mPixmap.height(); + int h = height(); + + painter.drawPixmap(0, 0, (pw * h) / ph, h, mPixmap); + } +} + +QPixmap ImageWidget::pixmap() const +{ + return mPixmap; +} + +void ImageWidget::setPixmap(const QPixmap &pixmap) +{ + mPixmap = pixmap; +} diff --git a/widgets/imagewidget.h b/widgets/imagewidget.h new file mode 100644 index 0000000..c7eabfb --- /dev/null +++ b/widgets/imagewidget.h @@ -0,0 +1,46 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef IMAGEWIDGET_H +#define IMAGEWIDGET_H + +#include <QWidget> + +class ImageWidget : public QWidget +{ + Q_OBJECT +public: + explicit ImageWidget(QWidget *parent = 0); + + QPixmap pixmap() const; + void setPixmap(const QPixmap &pixmap); + +signals: + +public slots: + +protected: + void paintEvent(QPaintEvent *event); + +private: + QPixmap mPixmap; + +}; + +#endif // IMAGEWIDGET_H diff --git a/widgets/mrichtextedit.cpp b/widgets/mrichtextedit.cpp new file mode 100644 index 0000000..cdc2646 --- /dev/null +++ b/widgets/mrichtextedit.cpp @@ -0,0 +1,707 @@ +/* +** Copyright (C) 2013 Jiří Procházka (Hobrasoft) +** Contact: http://www.hobrasoft.cz/ +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file is under the terms of the GNU Lesser General Public License +** version 2.1 as published by the Free Software Foundation and appearing +** in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the +** GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +*/ + +#include "mrichtextedit.h" +#include <QApplication> +#include <QClipboard> +#include <QMimeData> +#include <QFontDatabase> +#include <QInputDialog> +#include <QColorDialog> +#include <QTextList> +#include <QtDebug> +#include <QFileDialog> +#include <QImageReader> +#include <QSettings> +#include <QBuffer> +#include <QUrl> +#include <QPlainTextEdit> +#include <QMenu> +#include <QDialog> + +MRichTextEdit::MRichTextEdit(QWidget *parent) : QWidget(parent) { + setupUi(this); + m_lastBlockList = 0; + f_textedit->setTabStopWidth(40); + + connect(f_textedit, SIGNAL(currentCharFormatChanged(QTextCharFormat)), + this, SLOT(slotCurrentCharFormatChanged(QTextCharFormat))); + connect(f_textedit, SIGNAL(cursorPositionChanged()), + this, SLOT(slotCursorPositionChanged())); + + m_fontsize_h1 = 18; + m_fontsize_h2 = 16; + m_fontsize_h3 = 14; + m_fontsize_h4 = 12; + + fontChanged(f_textedit->font()); + bgColorChanged(f_textedit->textColor()); + fgColorChanged(f_textedit->textColor()); + + // paragraph formatting + + m_paragraphItems << tr("Standard") + << tr("Heading 1") + << tr("Heading 2") + << tr("Heading 3") + << tr("Heading 4") + << tr("Monospace"); + f_paragraph->addItems(m_paragraphItems); + + connect(f_paragraph, SIGNAL(activated(int)), + this, SLOT(textStyle(int))); + + // undo & redo + + f_undo->setShortcut(QKeySequence::Undo); + f_redo->setShortcut(QKeySequence::Redo); + + connect(f_textedit->document(), SIGNAL(undoAvailable(bool)), + f_undo, SLOT(setEnabled(bool))); + connect(f_textedit->document(), SIGNAL(redoAvailable(bool)), + f_redo, SLOT(setEnabled(bool))); + + f_undo->setEnabled(f_textedit->document()->isUndoAvailable()); + f_redo->setEnabled(f_textedit->document()->isRedoAvailable()); + + connect(f_undo, SIGNAL(clicked()), f_textedit, SLOT(undo())); + connect(f_redo, SIGNAL(clicked()), f_textedit, SLOT(redo())); + + // cut, copy & paste + + f_cut->setShortcut(QKeySequence::Cut); + f_copy->setShortcut(QKeySequence::Copy); + f_paste->setShortcut(QKeySequence::Paste); + + f_cut->setEnabled(false); + f_copy->setEnabled(false); + + connect(f_cut, SIGNAL(clicked()), f_textedit, SLOT(cut())); + connect(f_copy, SIGNAL(clicked()), f_textedit, SLOT(copy())); + connect(f_paste, SIGNAL(clicked()), f_textedit, SLOT(paste())); + + connect(f_textedit, SIGNAL(copyAvailable(bool)), f_cut, SLOT(setEnabled(bool))); + connect(f_textedit, SIGNAL(copyAvailable(bool)), f_copy, SLOT(setEnabled(bool))); + +#ifndef QT_NO_CLIPBOARD + connect(QApplication::clipboard(), SIGNAL(dataChanged()), this, SLOT(slotClipboardDataChanged())); +#endif + + // link + + f_link->setShortcut(Qt::CTRL + Qt::Key_L); + + connect(f_link, SIGNAL(clicked(bool)), this, SLOT(textLink(bool))); + + // bold, italic & underline + + f_bold->setShortcut(Qt::CTRL + Qt::Key_B); + f_italic->setShortcut(Qt::CTRL + Qt::Key_I); + f_underline->setShortcut(Qt::CTRL + Qt::Key_U); + + connect(f_bold, SIGNAL(clicked()), this, SLOT(textBold())); + connect(f_italic, SIGNAL(clicked()), this, SLOT(textItalic())); + connect(f_underline, SIGNAL(clicked()), this, SLOT(textUnderline())); + connect(f_strikeout, SIGNAL(clicked()), this, SLOT(textStrikeout())); + + f_align_left->setChecked(true); + + connect(f_align_left, SIGNAL(clicked(bool)), this, SLOT(textAlignLeft())); + connect(f_align_center, SIGNAL(clicked(bool)), this, SLOT(textAlignCenter())); + connect(f_align_right, SIGNAL(clicked(bool)), this, SLOT(textAlignRight())); + connect(f_align_justify, SIGNAL(clicked(bool)), this, SLOT(textAlignJustify())); + + QAction *removeFormat = new QAction(tr("Remove character formatting"), this); + removeFormat->setShortcut(QKeySequence("CTRL+M")); + connect(removeFormat, SIGNAL(triggered()), this, SLOT(textRemoveFormat())); + f_textedit->addAction(removeFormat); + + QAction *removeAllFormat = new QAction(tr("Remove all formatting"), this); + connect(removeAllFormat, SIGNAL(triggered()), this, SLOT(textRemoveAllFormat())); + f_textedit->addAction(removeAllFormat); + + QAction *textsource = new QAction(tr("Edit document source"), this); + textsource->setShortcut(QKeySequence("CTRL+O")); + connect(textsource, SIGNAL(triggered()), this, SLOT(textSource())); + f_textedit->addAction(textsource); + + QMenu *menu = new QMenu(this); + menu->addAction(removeAllFormat); + menu->addAction(removeFormat); + menu->addAction(textsource); + f_menu->setMenu(menu); + f_menu->setPopupMode(QToolButton::InstantPopup); + + // lists + + f_list_bullet->setShortcut(Qt::CTRL + Qt::Key_Minus); + f_list_ordered->setShortcut(Qt::CTRL + Qt::Key_Equal); + + connect(f_list_bullet, SIGNAL(clicked(bool)), this, SLOT(listBullet(bool))); + connect(f_list_ordered, SIGNAL(clicked(bool)), this, SLOT(listOrdered(bool))); + + // indentation + + f_indent_dec->setShortcut(Qt::CTRL + Qt::Key_Comma); + f_indent_inc->setShortcut(Qt::CTRL + Qt::Key_Period); + + connect(f_indent_inc, SIGNAL(clicked()), this, SLOT(increaseIndentation())); + connect(f_indent_dec, SIGNAL(clicked()), this, SLOT(decreaseIndentation())); + + // font size + + QFontDatabase db; + foreach(int size, db.standardSizes()) + f_fontsize->addItem(QString::number(size)); + + connect(f_fontsize, SIGNAL(activated(QString)), + this, SLOT(textSize(QString))); + f_fontsize->setCurrentIndex(f_fontsize->findText(QString::number(QApplication::font() + .pointSize()))); + + // text color + + QPixmap pix(16, 16); + pix.fill(QApplication::palette().background().color()); + f_bgcolor->setIcon(pix); + connect(f_bgcolor, SIGNAL(clicked()), this, SLOT(textBgColor())); + + QPixmap pix2(16, 16); + pix2.fill(QApplication::palette().foreground().color()); + f_fgcolor->setIcon(pix2); + connect(f_fgcolor, SIGNAL(clicked()), this, SLOT(textFgColor())); + + // images + connect(f_image, SIGNAL(clicked()), this, SLOT(insertImage())); +} + + +void MRichTextEdit::textSource() { + QDialog *dialog = new QDialog(this); + QPlainTextEdit *pte = new QPlainTextEdit(dialog); + pte->setPlainText( f_textedit->toHtml() ); + QGridLayout *gl = new QGridLayout(dialog); + gl->addWidget(pte,0,0,1,1); + dialog->setWindowTitle(tr("Document source")); + dialog->setMinimumWidth (400); + dialog->setMinimumHeight(600); + dialog->exec(); + + f_textedit->setHtml(pte->toPlainText()); + + delete dialog; +} + + +void MRichTextEdit::textRemoveFormat() { + QTextCharFormat fmt; + fmt.setFontWeight(QFont::Normal); + fmt.setFontUnderline (false); + fmt.setFontStrikeOut (false); + fmt.setFontItalic (false); + fmt.setFontPointSize (9); + // fmt.setFontFamily ("Helvetica"); + // fmt.setFontStyleHint (QFont::SansSerif); + // fmt.setFontFixedPitch (true); + + f_bold ->setChecked(false); + f_underline ->setChecked(false); + f_italic ->setChecked(false); + f_strikeout ->setChecked(false); + f_fontsize ->setCurrentIndex(f_fontsize->findText("9")); + + // QTextBlockFormat bfmt = cursor.blockFormat(); + // bfmt->setIndent(0); + + fmt.clearBackground(); + + mergeFormatOnWordOrSelection(fmt); +} + + +void MRichTextEdit::textRemoveAllFormat() { + f_bold ->setChecked(false); + f_underline ->setChecked(false); + f_italic ->setChecked(false); + f_strikeout ->setChecked(false); + f_fontsize ->setCurrentIndex(f_fontsize->findText("9")); + QString text = f_textedit->toPlainText(); + f_textedit->setPlainText(text); +} + + +void MRichTextEdit::textBold() { + QTextCharFormat fmt; + fmt.setFontWeight(f_bold->isChecked() ? QFont::Bold : QFont::Normal); + mergeFormatOnWordOrSelection(fmt); +} + + +void MRichTextEdit::focusInEvent(QFocusEvent *) { + f_textedit->setFocus(Qt::TabFocusReason); +} + + +void MRichTextEdit::textUnderline() { + QTextCharFormat fmt; + fmt.setFontUnderline(f_underline->isChecked()); + mergeFormatOnWordOrSelection(fmt); +} + +void MRichTextEdit::textItalic() { + QTextCharFormat fmt; + fmt.setFontItalic(f_italic->isChecked()); + mergeFormatOnWordOrSelection(fmt); +} + +void MRichTextEdit::textStrikeout() { + QTextCharFormat fmt; + fmt.setFontStrikeOut(f_strikeout->isChecked()); + mergeFormatOnWordOrSelection(fmt); +} + +void MRichTextEdit::textSize(const QString &p) { + qreal pointSize = p.toFloat(); + if (p.toFloat() > 0) { + QTextCharFormat fmt; + fmt.setFontPointSize(pointSize); + mergeFormatOnWordOrSelection(fmt); + } +} + +void MRichTextEdit::textLink(bool checked) { + bool unlink = false; + QTextCharFormat fmt; + if (checked) { + QString url = f_textedit->currentCharFormat().anchorHref(); + bool ok; + QString newUrl = QInputDialog::getText(this, tr("Create a link"), + tr("Link URL:"), QLineEdit::Normal, + url, + &ok); + if (ok) { + fmt.setAnchor(true); + fmt.setAnchorHref(newUrl); + fmt.setForeground(QApplication::palette().color(QPalette::Link)); + fmt.setFontUnderline(true); + } else { + unlink = true; + } + } else { + unlink = true; + } + if (unlink) { + fmt.setAnchor(false); + fmt.setForeground(QApplication::palette().color(QPalette::Text)); + fmt.setFontUnderline(false); + } + mergeFormatOnWordOrSelection(fmt); +} + +void MRichTextEdit::textStyle(int index) { + QTextCursor cursor = f_textedit->textCursor(); + cursor.beginEditBlock(); + + // standard + if (!cursor.hasSelection()) { + cursor.select(QTextCursor::BlockUnderCursor); + } + QTextCharFormat fmt; + cursor.setCharFormat(fmt); + f_textedit->setCurrentCharFormat(fmt); + + if (index == ParagraphHeading1 + || index == ParagraphHeading2 + || index == ParagraphHeading3 + || index == ParagraphHeading4 ) { + if (index == ParagraphHeading1) { + fmt.setFontPointSize(m_fontsize_h1); + } + if (index == ParagraphHeading2) { + fmt.setFontPointSize(m_fontsize_h2); + } + if (index == ParagraphHeading3) { + fmt.setFontPointSize(m_fontsize_h3); + } + if (index == ParagraphHeading4) { + fmt.setFontPointSize(m_fontsize_h4); + } + if (index == ParagraphHeading2 || index == ParagraphHeading4) { + fmt.setFontItalic(true); + } + + fmt.setFontWeight(QFont::Bold); + } + if (index == ParagraphMonospace) { + fmt = cursor.charFormat(); + fmt.setFontFamily("Monospace"); + fmt.setFontStyleHint(QFont::Monospace); + fmt.setFontFixedPitch(true); + } + cursor.setCharFormat(fmt); + f_textedit->setCurrentCharFormat(fmt); + + cursor.endEditBlock(); +} + +void MRichTextEdit::textBgColor() { + QColor col = QColorDialog::getColor(f_textedit->textBackgroundColor(), this); + QTextCursor cursor = f_textedit->textCursor(); + if (!cursor.hasSelection()) { + cursor.select(QTextCursor::WordUnderCursor); + } + QTextCharFormat fmt = cursor.charFormat(); + if (col.isValid()) { + fmt.setBackground(col); + } else { + fmt.clearBackground(); + } + cursor.setCharFormat(fmt); + f_textedit->setCurrentCharFormat(fmt); + bgColorChanged(col); +} + +void MRichTextEdit::textFgColor() +{ + QColor col = QColorDialog::getColor(f_textedit->textColor(), this); + QTextCursor cursor = f_textedit->textCursor(); + if (!cursor.hasSelection()) { + cursor.select(QTextCursor::WordUnderCursor); + } + QTextCharFormat fmt = cursor.charFormat(); + if (col.isValid()) { + fmt.setForeground(col); + } else { + fmt.clearForeground(); + } + cursor.setCharFormat(fmt); + f_textedit->setCurrentCharFormat(fmt); + fgColorChanged(col); +} + +void MRichTextEdit::textAlignLeft() +{ + if (f_align_left->isChecked()) { + f_align_center->setChecked(false); + f_align_right->setChecked(false); + f_align_justify->setChecked(false); + + QTextBlockFormat fmt; + fmt.setAlignment(Qt::AlignLeft); + mergeBlockFormatOnWordOrSelection(fmt); + } +} + +void MRichTextEdit::textAlignCenter() +{ + if (f_align_center->isChecked()) { + f_align_left->setChecked(false); + f_align_right->setChecked(false); + f_align_justify->setChecked(false); + + QTextBlockFormat fmt; + fmt.setAlignment(Qt::AlignHCenter); + mergeBlockFormatOnWordOrSelection(fmt); + } +} + +void MRichTextEdit::textAlignRight() +{ + if (f_align_right->isChecked()) { + f_align_left->setChecked(false); + f_align_center->setChecked(false); + f_align_justify->setChecked(false); + + QTextBlockFormat fmt; + fmt.setAlignment(Qt::AlignRight); + mergeBlockFormatOnWordOrSelection(fmt); + } +} + +void MRichTextEdit::textAlignJustify() +{ + if (f_align_justify->isChecked()) { + f_align_left->setChecked(false); + f_align_right->setChecked(false); + f_align_center->setChecked(false); + + QTextBlockFormat fmt; + fmt.setAlignment(Qt::AlignJustify); + mergeBlockFormatOnWordOrSelection(fmt); + } +} + +void MRichTextEdit::listBullet(bool checked) { + if (checked) { + f_list_ordered->setChecked(false); + } + list(checked, QTextListFormat::ListDisc); +} + +void MRichTextEdit::listOrdered(bool checked) { + if (checked) { + f_list_bullet->setChecked(false); + } + list(checked, QTextListFormat::ListDecimal); +} + +void MRichTextEdit::list(bool checked, QTextListFormat::Style style) { + QTextCursor cursor = f_textedit->textCursor(); + cursor.beginEditBlock(); + if (!checked) { + QTextBlockFormat obfmt = cursor.blockFormat(); + QTextBlockFormat bfmt; + bfmt.setIndent(obfmt.indent()); + cursor.setBlockFormat(bfmt); + } else { + QTextListFormat listFmt; + if (cursor.currentList()) { + listFmt = cursor.currentList()->format(); + } + listFmt.setStyle(style); + cursor.createList(listFmt); + } + cursor.endEditBlock(); +} + +void MRichTextEdit::mergeFormatOnWordOrSelection(const QTextCharFormat &format) { + QTextCursor cursor = f_textedit->textCursor(); + if (!cursor.hasSelection()) { + cursor.select(QTextCursor::WordUnderCursor); + } + cursor.mergeCharFormat(format); + f_textedit->mergeCurrentCharFormat(format); + f_textedit->setFocus(Qt::TabFocusReason); +} + +void MRichTextEdit::mergeBlockFormatOnWordOrSelection(const QTextBlockFormat &format) { + QTextCursor cursor = f_textedit->textCursor(); + if (!cursor.hasSelection()) { + cursor.select(QTextCursor::WordUnderCursor); + } + cursor.mergeBlockFormat(format); + //f_textedit->mergeCurrentCharFormat(format); + f_textedit->setFocus(Qt::TabFocusReason); +} + +void MRichTextEdit::slotCursorPositionChanged() { + QTextList *l = f_textedit->textCursor().currentList(); + if (m_lastBlockList && (l == m_lastBlockList || (l != 0 && m_lastBlockList != 0 + && l->format().style() == m_lastBlockList->format().style()))) { + return; + } + m_lastBlockList = l; + if (l) { + QTextListFormat lfmt = l->format(); + if (lfmt.style() == QTextListFormat::ListDisc) { + f_list_bullet->setChecked(true); + f_list_ordered->setChecked(false); + } else if (lfmt.style() == QTextListFormat::ListDecimal) { + f_list_bullet->setChecked(false); + f_list_ordered->setChecked(true); + } else { + f_list_bullet->setChecked(false); + f_list_ordered->setChecked(false); + } + } else { + f_list_bullet->setChecked(false); + f_list_ordered->setChecked(false); + } + + Qt::Alignment alignment = f_textedit->textCursor().blockFormat().alignment(); + switch (alignment) { + case Qt::AlignLeft: + if (!f_align_left->isChecked()) { + f_align_left->setChecked(true); + f_align_center->setChecked(false); + f_align_right->setChecked(false); + f_align_justify->setChecked(false); + } + break; + + case Qt::AlignHCenter: + if (!f_align_center->isChecked()) { + f_align_left->setChecked(false); + f_align_center->setChecked(true); + f_align_right->setChecked(false); + f_align_justify->setChecked(false); + } + break; + + case Qt::AlignRight: + if (!f_align_right->isChecked()) { + f_align_left->setChecked(false); + f_align_center->setChecked(false); + f_align_right->setChecked(true); + f_align_justify->setChecked(false); + } + break; + + case Qt::AlignJustify: + if (!f_align_justify->isChecked()) { + f_align_left->setChecked(false); + f_align_center->setChecked(false); + f_align_right->setChecked(false); + f_align_justify->setChecked(true); + } + break; + + default: + break; + } +} + +void MRichTextEdit::fontChanged(const QFont &f) { + f_fontsize->setCurrentIndex(f_fontsize->findText(QString::number(f.pointSize()))); + f_bold->setChecked(f.bold()); + f_italic->setChecked(f.italic()); + f_underline->setChecked(f.underline()); + f_strikeout->setChecked(f.strikeOut()); + if (f.pointSize() == m_fontsize_h1) { + f_paragraph->setCurrentIndex(ParagraphHeading1); + } else if (f.pointSize() == m_fontsize_h2) { + f_paragraph->setCurrentIndex(ParagraphHeading2); + } else if (f.pointSize() == m_fontsize_h3) { + f_paragraph->setCurrentIndex(ParagraphHeading3); + } else if (f.pointSize() == m_fontsize_h4) { + f_paragraph->setCurrentIndex(ParagraphHeading4); + } else { + if (f.fixedPitch() && f.family() == "Monospace") { + f_paragraph->setCurrentIndex(ParagraphMonospace); + } else { + f_paragraph->setCurrentIndex(ParagraphStandard); + } + } + if (f_textedit->textCursor().currentList()) { + QTextListFormat lfmt = f_textedit->textCursor().currentList()->format(); + if (lfmt.style() == QTextListFormat::ListDisc) { + f_list_bullet->setChecked(true); + f_list_ordered->setChecked(false); + } else if (lfmt.style() == QTextListFormat::ListDecimal) { + f_list_bullet->setChecked(false); + f_list_ordered->setChecked(true); + } else { + f_list_bullet->setChecked(false); + f_list_ordered->setChecked(false); + } + } else { + f_list_bullet->setChecked(false); + f_list_ordered->setChecked(false); + } +} + +void MRichTextEdit::bgColorChanged(const QColor &c) { + QPixmap pix(16, 16); + if (c.isValid()) { + pix.fill(c); + } else { + pix.fill(QApplication::palette().background().color()); + } + f_bgcolor->setIcon(pix); +} + +void MRichTextEdit::fgColorChanged(const QColor &c) +{ + QPixmap pix(16, 16); + if (c.isValid()) { + pix.fill(c); + } else { + pix.fill(QApplication::palette().foreground().color()); + } + f_fgcolor->setIcon(pix); +} + +void MRichTextEdit::slotCurrentCharFormatChanged(const QTextCharFormat &format) { + fontChanged(format.font()); + bgColorChanged((format.background().isOpaque()) ? format.background().color() : QColor()); + fgColorChanged((format.foreground().isOpaque()) ? format.foreground().color() : QColor()); + f_link->setChecked(format.isAnchor()); +} + +void MRichTextEdit::slotClipboardDataChanged() { +#ifndef QT_NO_CLIPBOARD + if (const QMimeData *md = QApplication::clipboard()->mimeData()) + f_paste->setEnabled(md->hasText()); +#endif +} + +QString MRichTextEdit::toHtml() const { + QString s = f_textedit->toHtml(); + // convert emails to links + s = s.replace(QRegExp("(<[^a][^>]+>(?:<span[^>]+>)?|\\s)([a-zA-Z\\d]+@[a-zA-Z\\d]+\\.[a-zA-Z]+)"), "\\1<a href=\"mailto:\\2\">\\2</a>"); + // convert links + s = s.replace(QRegExp("(<[^a][^>]+>(?:<span[^>]+>)?|\\s)((?:https?|ftp|file)://[^\\s'\"<>]+)"), "\\1<a href=\"\\2\">\\2</a>"); + return s; +} + +QString MRichTextEdit::toHtmlNoFontSize() const +{ + QString s = f_textedit->toHtml(); + s.replace(QRegularExpression("font-size:[0-9]+pt\\s?"), ""); + return s; +} + +void MRichTextEdit::increaseIndentation() { + indent(+1); +} + +void MRichTextEdit::decreaseIndentation() { + indent(-1); +} + +void MRichTextEdit::indent(int delta) { + QTextCursor cursor = f_textedit->textCursor(); + cursor.beginEditBlock(); + QTextBlockFormat bfmt = cursor.blockFormat(); + int ind = bfmt.indent(); + if (ind + delta >= 0) { + bfmt.setIndent(ind + delta); + } + cursor.setBlockFormat(bfmt); + cursor.endEditBlock(); +} + +void MRichTextEdit::setText(const QString& text) { + if (text.isEmpty()) { + setPlainText(text); + return; + } + if (text[0] == '<') { + setHtml(text); + } else { + setPlainText(text); + } +} + +void MRichTextEdit::insertImage() { + QSettings s; + QString attdir = s.value("general/filedialog-path").toString(); + QString file = QFileDialog::getOpenFileName(this, + tr("Select an image"), + attdir, + tr("Images (*.png *.xpm *.jpg *.gif *.bmp);; All (*)")); + if (!file.isEmpty()) { + QImage image = QImageReader(file).read(); + f_textedit->dropImage(image, QFileInfo(file).suffix().toUpper().toLocal8Bit().data()); + } +} diff --git a/widgets/mrichtextedit.h b/widgets/mrichtextedit.h new file mode 100644 index 0000000..05e2bfc --- /dev/null +++ b/widgets/mrichtextedit.h @@ -0,0 +1,102 @@ +/* +** Copyright (C) 2013 Jiří Procházka (Hobrasoft) +** Contact: http://www.hobrasoft.cz/ +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file is under the terms of the GNU Lesser General Public License +** version 2.1 as published by the Free Software Foundation and appearing +** in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the +** GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +*/ + +#ifndef _MRICHTEXTEDIT_H_ +#define _MRICHTEXTEDIT_H_ + +#include <QPointer> +#include "ui_mrichtextedit.h" + +/** + * @Brief A simple rich-text editor + */ +class MRichTextEdit : public QWidget, protected Ui::MRichTextEdit { + Q_OBJECT +public: + MRichTextEdit(QWidget *parent = 0); + + QString toPlainText() const { return f_textedit->toPlainText(); } + QString toHtml() const; + QString toHtmlNoFontSize() const; + QTextDocument *document() { return f_textedit->document(); } + QTextCursor textCursor() const { return f_textedit->textCursor(); } + void setTextCursor(const QTextCursor& cursor) { f_textedit->setTextCursor(cursor); } + +public slots: + void setText(const QString &text); + +protected slots: + void setPlainText(const QString &text) { f_textedit->setPlainText(text); } + void setHtml(const QString &text) { f_textedit->setHtml(text); } + void textRemoveFormat(); + void textRemoveAllFormat(); + void textBold(); + void textUnderline(); + void textStrikeout(); + void textItalic(); + void textSize(const QString &p); + void textLink(bool checked); + void textStyle(int index); + void textBgColor(); + void textFgColor(); + void textAlignLeft(); + void textAlignCenter(); + void textAlignRight(); + void textAlignJustify(); + void listBullet(bool checked); + void listOrdered(bool checked); + void slotCurrentCharFormatChanged(const QTextCharFormat &format); + void slotCursorPositionChanged(); + void slotClipboardDataChanged(); + void increaseIndentation(); + void decreaseIndentation(); + void insertImage(); + void textSource(); + +protected: + void mergeFormatOnWordOrSelection(const QTextCharFormat &format); + void mergeBlockFormatOnWordOrSelection(const QTextBlockFormat &format); + void fontChanged(const QFont &f); + void bgColorChanged(const QColor &c); + void fgColorChanged(const QColor &c); + void list(bool checked, QTextListFormat::Style style); + void indent(int delta); + void focusInEvent(QFocusEvent *event); + + QStringList m_paragraphItems; + int m_fontsize_h1; + int m_fontsize_h2; + int m_fontsize_h3; + int m_fontsize_h4; + + enum ParagraphItems { ParagraphStandard = 0, + ParagraphHeading1, + ParagraphHeading2, + ParagraphHeading3, + ParagraphHeading4, + ParagraphMonospace }; + + QPointer<QTextList> m_lastBlockList; +}; + +#endif diff --git a/widgets/mrichtextedit.ui b/widgets/mrichtextedit.ui new file mode 100644 index 0000000..045192c --- /dev/null +++ b/widgets/mrichtextedit.ui @@ -0,0 +1,704 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>MRichTextEdit</class> + <widget class="QWidget" name="MRichTextEdit"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>576</width> + <height>290</height> + </rect> + </property> + <property name="font"> + <font> + <family>MS Shell Dlg 2</family> + </font> + </property> + <property name="windowTitle"> + <string notr="true"/> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>1</number> + </property> + <property name="leftMargin"> + <number>1</number> + </property> + <property name="topMargin"> + <number>1</number> + </property> + <property name="rightMargin"> + <number>1</number> + </property> + <property name="bottomMargin"> + <number>1</number> + </property> + <item> + <widget class="QWidget" name="f_toolbar" native="true"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>2</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QComboBox" name="f_paragraph"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Paragraph formatting</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_4"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_undo"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Undo (CTRL+Z)</string> + </property> + <property name="text"> + <string>Undo</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Undo-96.png</normaloff>:/res/icons_textedit/Undo-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_redo"> + <property name="enabled"> + <bool>false</bool> + </property> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Redo</string> + </property> + <property name="text"> + <string>Redo</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Redo-96.png</normaloff>:/res/icons_textedit/Redo-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_cut"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Cut (CTRL+X)</string> + </property> + <property name="text"> + <string>Cut</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Cut-96.png</normaloff>:/res/icons_textedit/Cut-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_copy"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Copy (CTRL+C)</string> + </property> + <property name="text"> + <string>Copy</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Copy-96.png</normaloff>:/res/icons_textedit/Copy-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_paste"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Paste (CTRL+V)</string> + </property> + <property name="text"> + <string>Paste</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Paste-96.png</normaloff>:/res/icons_textedit/Paste-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_link"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Link (CTRL+L)</string> + </property> + <property name="text"> + <string>Link</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Link-96.png</normaloff>:/res/icons_textedit/Link-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_3"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QComboBox" name="f_fontsize"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Font size</string> + </property> + <property name="editable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_6"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_image"> + <property name="toolTip"> + <string>Insert image...</string> + </property> + <property name="text"> + <string notr="true">Insert Image</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Add Image-96.png</normaloff>:/res/icons_textedit/Add Image-96.png</iconset> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QToolButton" name="f_menu"> + <property name="toolTip"> + <string>Menu</string> + </property> + <property name="text"> + <string>...</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Menu 2-96.png</normaloff>:/res/icons_textedit/Menu 2-96.png</iconset> + </property> + </widget> + </item> + </layout> + <zorder>f_paragraph</zorder> + <zorder>line_4</zorder> + <zorder>f_undo</zorder> + <zorder>f_redo</zorder> + <zorder>f_cut</zorder> + <zorder>f_copy</zorder> + <zorder>f_paste</zorder> + <zorder>line</zorder> + <zorder>f_link</zorder> + <zorder>line_3</zorder> + <zorder>f_fontsize</zorder> + <zorder>f_image</zorder> + <zorder>line_6</zorder> + <zorder>f_menu</zorder> + </widget> + </item> + <item> + <widget class="QWidget" name="widget" native="true"> + <layout class="QHBoxLayout" name="horizontalLayout_2"> + <property name="spacing"> + <number>2</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QToolButton" name="f_bold"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string notr="true">Bold (CTRL+B)</string> + </property> + <property name="text"> + <string>Bold</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Bold-96.png</normaloff>:/res/icons_textedit/Bold-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_italic"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Italic (CTRL+I)</string> + </property> + <property name="text"> + <string>Italic</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Italic-96.png</normaloff>:/res/icons_textedit/Italic-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_underline"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Underline (CTRL+U)</string> + </property> + <property name="text"> + <string>Underline</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Text Color-96.png</normaloff>:/res/icons_textedit/Text Color-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_strikeout"> + <property name="text"> + <string>Strike Out</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Strikethrough-96.png</normaloff>:/res/icons_textedit/Strikethrough-96.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_list_bullet"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Bullet list (CTRL+-)</string> + </property> + <property name="text"> + <string>Bullet list</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Bulleted List-96.png</normaloff>:/res/icons_textedit/Bulleted List-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_list_ordered"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Ordered list (CTRL+=)</string> + </property> + <property name="text"> + <string>Ordered list</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Numbered List-96.png</normaloff>:/res/icons_textedit/Numbered List-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_2"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_indent_dec"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Decrease indentation (CTRL+,)</string> + </property> + <property name="text"> + <string>Decrease indentation</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Indent-96.png</normaloff>:/res/icons_textedit/Indent-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_indent_inc"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Increase indentation (CTRL+.)</string> + </property> + <property name="text"> + <string>Increase indentation</string> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Outdent-96.png</normaloff>:/res/icons_textedit/Outdent-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_5"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_bgcolor"> + <property name="focusPolicy"> + <enum>Qt::ClickFocus</enum> + </property> + <property name="toolTip"> + <string>Text background color</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Fill Color-96.png</normaloff>:/res/icons_textedit/Fill Color-96.png</iconset> + </property> + <property name="iconSize"> + <size> + <width>16</width> + <height>16</height> + </size> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_fgcolor"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Text color</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Fill Color-96.png</normaloff>:/res/icons_textedit/Fill Color-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="Line" name="line_7"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_align_left"> + <property name="toolTip"> + <string>Align Left</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Align Left-96.png</normaloff>:/res/icons_textedit/Align Left-96.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_align_center"> + <property name="toolTip"> + <string>Align Center</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Align Center-96.png</normaloff>:/res/icons_textedit/Align Center-96.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_align_right"> + <property name="toolTip"> + <string>Align Right</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Align Right-96.png</normaloff>:/res/icons_textedit/Align Right-96.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="QToolButton" name="f_align_justify"> + <property name="toolTip"> + <string>Align Justify</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons_textedit/Align Justify-96.png</normaloff>:/res/icons_textedit/Align Justify-96.png</iconset> + </property> + <property name="checkable"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <spacer name="horizontalSpacer_2"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>192</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + </layout> + </widget> + </item> + <item> + <widget class="MTextEdit" name="f_textedit"> + <property name="autoFormatting"> + <set>QTextEdit::AutoNone</set> + </property> + <property name="tabChangesFocus"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>MTextEdit</class> + <extends>QTextEdit</extends> + <header>widgets/mtextedit.h</header> + </customwidget> + </customwidgets> + <tabstops> + <tabstop>f_textedit</tabstop> + <tabstop>f_image</tabstop> + <tabstop>f_menu</tabstop> + </tabstops> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/mtextedit.cpp b/widgets/mtextedit.cpp new file mode 100644 index 0000000..b30be1d --- /dev/null +++ b/widgets/mtextedit.cpp @@ -0,0 +1,101 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "mtextedit.h" +#include <QTextDocument> +#include <QTextCursor> +#include <QImage> +#include <QByteArray> +#include <QBuffer> +#include <stdlib.h> +#include <QInputDialog> + +MTextEdit::MTextEdit(QWidget *parent) : QTextEdit(parent) { +} + +bool MTextEdit::canInsertFromMimeData(const QMimeData *source) const { + return source->hasImage() || QTextEdit::canInsertFromMimeData(source); +} + +void MTextEdit::insertFromMimeData(const QMimeData *source) { + if (source->hasImage()) { + QStringList formats = source->formats(); + QString format; + for (int i=0; i<formats.size(); i++) { + if (formats[i] == "image/bmp") { format = "BMP"; break; } + if (formats[i] == "image/jpeg") { format = "JPG"; break; } + if (formats[i] == "image/jpg") { format = "JPG"; break; } + if (formats[i] == "image/gif") { format = "GIF"; break; } + if (formats[i] == "image/png") { format = "PNG"; break; } + if (formats[i] == "image/pbm") { format = "PBM"; break; } + if (formats[i] == "image/pgm") { format = "PGM"; break; } + if (formats[i] == "image/ppm") { format = "PPM"; break; } + if (formats[i] == "image/tiff") { format = "TIFF"; break; } + if (formats[i] == "image/xbm") { format = "XBM"; break; } + if (formats[i] == "image/xpm") { format = "XPM"; break; } + } + if (!format.isEmpty()) { +// dropImage(qvariant_cast<QImage>(source->imageData()), format); + dropImage(qvariant_cast<QImage>(source->imageData()), "JPG"); + return; + } + } + QTextEdit::insertFromMimeData(source); +} + +QMimeData *MTextEdit::createMimeDataFromSelection() const { + return QTextEdit::createMimeDataFromSelection(); +} + +void MTextEdit::dropImage(const QImage& image, const QString& format) { + bool ok; + int w = QInputDialog::getInt(this, tr("Insert Image"), + tr("Enter image width to use (source width: %1)").arg(image.width()), + 400, 5, 1920, 20, &ok); + + if (ok) { + int h = (w * image.height()) / image.width(); + QImage img1 = image.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation); + + QByteArray bytes; + QBuffer buffer(&bytes); + buffer.open(QIODevice::WriteOnly); + + img1.save(&buffer, format.toLocal8Bit().data()); + buffer.close(); + QByteArray base64 = bytes.toBase64(); + QByteArray base64l; + for (int i=0; i<base64.size(); i++) { + base64l.append(base64[i]); + if (i%80 == 0) { + base64l.append("\n"); + } + } + + QTextCursor cursor = textCursor(); + QTextImageFormat imageFormat; + imageFormat.setWidth ( img1.width() ); + imageFormat.setHeight ( img1.height() ); + imageFormat.setName ( QString("data:image/%1;base64,%2") + .arg(QString("%1.%2").arg(rand()).arg(format)) + .arg(base64l.data()) + ); + cursor.insertImage ( imageFormat ); + } +} diff --git a/widgets/mtextedit.h b/widgets/mtextedit.h new file mode 100644 index 0000000..791ab2d --- /dev/null +++ b/widgets/mtextedit.h @@ -0,0 +1,40 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef _MTEXTEDIT_H_ +#define _MTEXTEDIT_H_ + +#include <QTextEdit> +#include <QMimeData> +#include <QImage> + +class MTextEdit : public QTextEdit { + Q_OBJECT +public: + MTextEdit(QWidget *parent); + void dropImage(const QImage& image, const QString& format); + +protected: + bool canInsertFromMimeData(const QMimeData *source) const; + void insertFromMimeData(const QMimeData *source); + QMimeData *createMimeDataFromSelection() const; + +}; + +#endif diff --git a/widgets/pagelistitem.cpp b/widgets/pagelistitem.cpp new file mode 100644 index 0000000..0da0801 --- /dev/null +++ b/widgets/pagelistitem.cpp @@ -0,0 +1,103 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "pagelistitem.h" +#include <QHBoxLayout> + +PageListItem::PageListItem(QString name, + QString icon, + QString groupIcon, + QWidget *parent) : QWidget(parent) +{ + mIconLabel = new QLabel; + mNameLabel = new QLabel; + mGroupLabel = new QLabel; + mSpaceStart = new QSpacerItem(2, 0); + + mIconLabel->setScaledContents(true); + mGroupLabel->setScaledContents(true); + + setName(name); + setIcon(icon); + setGroupIcon(groupIcon); + + QHBoxLayout *layout = new QHBoxLayout; + layout->setMargin(0); + + layout->addSpacerItem(mSpaceStart); + layout->addWidget(mIconLabel); + layout->addWidget(mNameLabel); + layout->addStretch(); + layout->addWidget(mGroupLabel); + layout->addSpacing(2); + + this->setLayout(layout); +} + +void PageListItem::setName(const QString &name) +{ + mNameLabel->setText(name); +} + +void PageListItem::setIcon(const QString &path) +{ + if (!path.isEmpty()) { + mIconLabel->setPixmap(QPixmap(path)); + + QFontMetrics fm(this->font()); + int height = fm.height() * 0.9; + + mIconLabel->setFixedSize(height, height); + } else { + mIconLabel->setPixmap(QPixmap()); + } +} + +void PageListItem::setGroupIcon(const QString &path) +{ + if (!path.isEmpty()) { + QPixmap pix(path); + mGroupLabel->setPixmap(pix); + + QFontMetrics fm(this->font()); + int height = fm.height() * 0.9; + + mGroupLabel->setFixedSize((height * pix.width()) / pix.height(), height); + } else { + mSpaceStart->changeSize(2, 0); + mGroupLabel->setPixmap(QPixmap()); + } +} + +QString PageListItem::name() +{ + return mNameLabel->text(); +} + +void PageListItem::setBold(bool bold) +{ + QFont f = mNameLabel->font(); + f.setBold(bold); + mNameLabel->setFont(f); +} + +void PageListItem::setIndented(bool indented) +{ + mSpaceStart->changeSize(indented ? 15 : 2, 0); +} diff --git a/widgets/pagelistitem.h b/widgets/pagelistitem.h new file mode 100644 index 0000000..9fd9094 --- /dev/null +++ b/widgets/pagelistitem.h @@ -0,0 +1,57 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PAGELISTITEM_H +#define PAGELISTITEM_H + +#include <QWidget> +#include <QPixmap> +#include <QLabel> +#include <QSpacerItem> +#include <QResizeEvent> +#include "datatypes.h" + +class PageListItem : public QWidget +{ + Q_OBJECT +public: + explicit PageListItem(QString name = "", + QString icon = "", + QString groupIcon = "", + QWidget *parent = 0); + void setName(const QString &name); + void setIcon(const QString &path); + void setGroupIcon(const QString &path); + QString name(); + void setBold(bool bold); + void setIndented(bool indented); + +signals: + +public slots: + +private: + QLabel *mIconLabel; + QLabel *mNameLabel; + QLabel *mGroupLabel; + QSpacerItem *mSpaceStart; + +}; + +#endif // PAGELISTITEM_H diff --git a/widgets/paramdialog.cpp b/widgets/paramdialog.cpp new file mode 100644 index 0000000..8fca6d8 --- /dev/null +++ b/widgets/paramdialog.cpp @@ -0,0 +1,64 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "paramdialog.h" +#include "ui_paramdialog.h" + +ParamDialog::ParamDialog(QString title, + QString text, + ConfigParams *params, + QStringList names, + QWidget *parent) : + QDialog(parent), + ui(new Ui::ParamDialog) +{ + ui->setupUi(this); + setWindowTitle(title); + ui->textLabel->setText(text); + mConfig = *params; + + for (QString s: names) { + ConfigParam *p = mConfig.getParam(s); + + if (p) { + p->transmittable = false; // To hide the read buttons. + ui->paramTable->addParamRow(&mConfig, s); + } + } +} + +ParamDialog::~ParamDialog() +{ + delete ui; +} + +void ParamDialog::showParams(QString title, + QString text, + ConfigParams *params, + QStringList names, + QWidget *parent) +{ + ParamDialog *p = new ParamDialog(title, text, params, names, parent); + p->exec(); +} + +void ParamDialog::on_closeButton_clicked() +{ + close(); +} diff --git a/widgets/paramdialog.h b/widgets/paramdialog.h new file mode 100644 index 0000000..f6ffee1 --- /dev/null +++ b/widgets/paramdialog.h @@ -0,0 +1,57 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMDIALOG_H +#define PARAMDIALOG_H + +#include <QDialog> +#include "configparams.h" + +namespace Ui { +class ParamDialog; +} + +class ParamDialog : public QDialog +{ + Q_OBJECT + +public: + explicit ParamDialog(QString title, + QString text, + ConfigParams *params, + QStringList names, + QWidget *parent = 0); + ~ParamDialog(); + + static void showParams(QString title, + QString text, + ConfigParams *params, + QStringList names, + QWidget *parent = 0); + +private slots: + void on_closeButton_clicked(); + +private: + Ui::ParamDialog *ui; + ConfigParams mConfig; + +}; + +#endif // PARAMDIALOG_H diff --git a/widgets/paramdialog.ui b/widgets/paramdialog.ui new file mode 100644 index 0000000..13139bc --- /dev/null +++ b/widgets/paramdialog.ui @@ -0,0 +1,65 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParamDialog</class> + <widget class="QDialog" name="ParamDialog"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>557</width> + <height>363</height> + </rect> + </property> + <property name="windowTitle"> + <string>Dialog</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QLabel" name="textLabel"> + <property name="text"> + <string/> + </property> + <property name="wordWrap"> + <bool>true</bool> + </property> + </widget> + </item> + <item> + <widget class="ParamTable" name="paramTable"/> + </item> + <item> + <layout class="QHBoxLayout" name="horizontalLayout"> + <item> + <spacer name="horizontalSpacer"> + <property name="orientation"> + <enum>Qt::Horizontal</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>40</width> + <height>20</height> + </size> + </property> + </spacer> + </item> + <item> + <widget class="QPushButton" name="closeButton"> + <property name="text"> + <string>Close</string> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <customwidgets> + <customwidget> + <class>ParamTable</class> + <extends>QTableWidget</extends> + <header>widgets/paramtable.h</header> + </customwidget> + </customwidgets> + <resources/> + <connections/> +</ui> diff --git a/widgets/parameditbool.cpp b/widgets/parameditbool.cpp new file mode 100644 index 0000000..7b9d34d --- /dev/null +++ b/widgets/parameditbool.cpp @@ -0,0 +1,101 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "parameditbool.h" +#include "ui_parameditbool.h" +#include <QMessageBox> +#include "helpdialog.h" + +ParamEditBool::ParamEditBool(QWidget *parent) : + QWidget(parent), + ui(new Ui::ParamEditBool) +{ + ui->setupUi(this); +} + +ParamEditBool::~ParamEditBool() +{ + delete ui; +} + +void ParamEditBool::setConfig(ConfigParams *config) +{ + mConfig = config; + + ConfigParam *param = mConfig->getParam(mName); + + if (param) { + ui->readButton->setVisible(param->transmittable); + ui->readDefaultButton->setVisible(param->transmittable); + ui->valueBox->setCurrentIndex(param->valInt ? 1 : 0); + } + + connect(mConfig, SIGNAL(paramChangedBool(QObject*,QString,bool)), + this, SLOT(paramChangedBool(QObject*,QString,bool))); +} + +QString ParamEditBool::name() const +{ + return mName; +} + +void ParamEditBool::setName(const QString &name) +{ + mName = name; +} + +void ParamEditBool::paramChangedBool(QObject *src, QString name, bool newParam) +{ + if (src != this && name == mName) { + ui->valueBox->setCurrentIndex(newParam ? 1 : 0); + } +} + +void ParamEditBool::on_readButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdate(); + } +} + +void ParamEditBool::on_readDefaultButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdateDefault(); + } +} + +void ParamEditBool::on_helpButton_clicked() +{ + if (mConfig) { + HelpDialog::showHelp(this, mConfig, mName); + } +} + +void ParamEditBool::on_valueBox_currentIndexChanged(int index) +{ + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamBool(mName, index, this); + } +} diff --git a/widgets/parameditbool.h b/widgets/parameditbool.h new file mode 100644 index 0000000..0a6c398 --- /dev/null +++ b/widgets/parameditbool.h @@ -0,0 +1,55 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMEDITBOOL_H +#define PARAMEDITBOOL_H + +#include <QWidget> +#include "configparams.h" + +namespace Ui { +class ParamEditBool; +} + +class ParamEditBool : public QWidget +{ + Q_OBJECT + +public: + explicit ParamEditBool(QWidget *parent = 0); + ~ParamEditBool(); + void setConfig(ConfigParams *config); + QString name() const; + void setName(const QString &name); + +private slots: + void paramChangedBool(QObject *src, QString name, bool newParam); + + void on_readButton_clicked(); + void on_readDefaultButton_clicked(); + void on_helpButton_clicked(); + void on_valueBox_currentIndexChanged(int index); + +private: + Ui::ParamEditBool *ui; + ConfigParams *mConfig; + QString mName; +}; + +#endif // PARAMEDITBOOL_H diff --git a/widgets/parameditbool.ui b/widgets/parameditbool.ui new file mode 100644 index 0000000..5bcca5a --- /dev/null +++ b/widgets/parameditbool.ui @@ -0,0 +1,112 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParamEditBool</class> + <widget class="QWidget" name="ParamEditBool"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>285</width> + <height>29</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QComboBox" name="valueBox"> + <item> + <property name="text"> + <string>False</string> + </property> + </item> + <item> + <property name="text"> + <string>True</string> + </property> + </item> + </widget> + </item> + <item> + <widget class="QPushButton" name="readButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read current setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Upload-96.png</normaloff>:/res/icons/Upload-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="readDefaultButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read default setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Data Backup-96.png</normaloff>:/res/icons/Data Backup-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Show help</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + </layout> + </widget> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/parameditdouble.cpp b/widgets/parameditdouble.cpp new file mode 100644 index 0000000..ddf6363 --- /dev/null +++ b/widgets/parameditdouble.cpp @@ -0,0 +1,200 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "parameditdouble.h" +#include "ui_parameditdouble.h" +#include <QMessageBox> +#include "helpdialog.h" +#include <cmath> + +ParamEditDouble::ParamEditDouble(QWidget *parent) : + QWidget(parent), + ui(new Ui::ParamEditDouble) +{ + ui->setupUi(this); + mConfig = 0; + mMaxVal = 1.0; + + mDisplay = new DisplayPercentage(this); + mDoubleBox = new QDoubleSpinBox(this); + mPercentageBox = new QSpinBox(this); + + mPercentageBox->setSuffix(" %"); + + ui->mainLayout->insertWidget(0, mDisplay); + ui->mainLayout->insertWidget(0, mDoubleBox); + ui->mainLayout->insertWidget(0, mPercentageBox); + + ui->mainLayout->setStretchFactor(mDoubleBox, 1); + ui->mainLayout->setStretchFactor(mPercentageBox, 1); + ui->mainLayout->setStretchFactor(mDisplay, 10); + + mPercentageBox->setVisible(false); + mDisplay->setVisible(false); + + connect(mPercentageBox, SIGNAL(valueChanged(int)), + this, SLOT(percentageChanged(int))); + connect(mDoubleBox, SIGNAL(valueChanged(double)), + this, SLOT(doubleChanged(double))); +} + +ParamEditDouble::~ParamEditDouble() +{ + delete ui; +} + +void ParamEditDouble::setConfig(ConfigParams *config) +{ + mConfig = config; + + ConfigParam *param = mConfig->getParam(mName); + + if (param) { + ui->readButton->setVisible(param->transmittable); + ui->readDefaultButton->setVisible(param->transmittable); + + mParam = *param; + + mMaxVal = fabs(mParam.maxDouble) > fabs(mParam.minDouble) ? + fabs(mParam.maxDouble) : fabs(mParam.minDouble); + + mDoubleBox->setMaximum(mParam.maxDouble * mParam.editorScale); + mDoubleBox->setMinimum(mParam.minDouble * mParam.editorScale); + mDoubleBox->setSingleStep(mParam.stepDouble); + mDoubleBox->setValue(mParam.valDouble * mParam.editorScale); + + int p = (mParam.valDouble * 100.0) / mMaxVal; + mPercentageBox->setMaximum((100.0 * mParam.maxDouble) / mMaxVal); + mPercentageBox->setMinimum((100.0 * mParam.minDouble) / mMaxVal); + mPercentageBox->setValue(p); + mDisplay->setDual(mParam.minDouble < 0.0 && mParam.maxDouble > 0.0); + + // Rounding... + if (!mParam.editAsPercentage) { + updateDisplay(mParam.valDouble); + } + } + + connect(mConfig, SIGNAL(paramChangedDouble(QObject*,QString,double)), + this, SLOT(paramChangedDouble(QObject*,QString,double))); +} + +QString ParamEditDouble::name() const +{ + return mName; +} + +void ParamEditDouble::setName(const QString &name) +{ + mName = name; +} + +void ParamEditDouble::setSuffix(const QString &suffix) +{ + mDoubleBox->setSuffix(suffix); +} + +void ParamEditDouble::setDecimals(int decimals) +{ + mDoubleBox->setDecimals(decimals); +} + +void ParamEditDouble::setShowAsPercentage(bool showAsPercentage) +{ + mDoubleBox->setVisible(!showAsPercentage); + mPercentageBox->setVisible(showAsPercentage); +} + +void ParamEditDouble::showDisplay(bool show) +{ + mDisplay->setVisible(show); +} + +void ParamEditDouble::paramChangedDouble(QObject *src, QString name, double newParam) +{ + if (src != this && name == mName) { + mPercentageBox->setValue(round((100.0 * newParam) / mMaxVal)); + mDoubleBox->setValue(newParam * mParam.editorScale); + updateDisplay(newParam); + } +} + +void ParamEditDouble::percentageChanged(int p) +{ + if (mParam.editAsPercentage) { + double val = ((double)p / 100.0) * mMaxVal; + + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamDouble(mName, val, this); + } + + updateDisplay(val); + } +} + +void ParamEditDouble::doubleChanged(double d) +{ + if (!mParam.editAsPercentage) { + double val = d / mParam.editorScale; + + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamDouble(mName, val, this); + } + + updateDisplay(val); + } +} + +void ParamEditDouble::on_readButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdate(); + } +} + +void ParamEditDouble::on_readDefaultButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdateDefault(); + } +} + +void ParamEditDouble::on_helpButton_clicked() +{ + if (mConfig) { + HelpDialog::showHelp(this, mConfig, mName); + } +} + +void ParamEditDouble::updateDisplay(double val) +{ + double p = (100.0 * val) / mMaxVal; + mDisplay->setValue(p); + mDisplay->setText(tr("%1%2"). + arg(val * mParam.editorScale, 0, 'f', mParam.editorDecimalsDouble). + arg(mParam.suffix)); +} diff --git a/widgets/parameditdouble.h b/widgets/parameditdouble.h new file mode 100644 index 0000000..c386410 --- /dev/null +++ b/widgets/parameditdouble.h @@ -0,0 +1,73 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMEDITDOUBLE_H +#define PARAMEDITDOUBLE_H + +#include <QWidget> +#include <QHBoxLayout> +#include <QDoubleSpinBox> +#include <QSpinBox> +#include "configparams.h" +#include "displaypercentage.h" + +namespace Ui { +class ParamEditDouble; +} + +class ParamEditDouble : public QWidget +{ + Q_OBJECT + +public: + explicit ParamEditDouble(QWidget *parent = 0); + ~ParamEditDouble(); + void setConfig(ConfigParams *config); + QString name() const; + void setName(const QString &name); + void setSuffix(const QString &suffix); + void setDecimals(int decimals); + void setShowAsPercentage(bool showAsPercentage); + void showDisplay(bool show); + +private slots: + void paramChangedDouble(QObject *src, QString name, double newParam); + void percentageChanged(int p); + void doubleChanged(double d); + + void on_readButton_clicked(); + void on_readDefaultButton_clicked(); + void on_helpButton_clicked(); + +private: + Ui::ParamEditDouble *ui; + ConfigParams *mConfig; + ConfigParam mParam; + QString mName; + double mMaxVal; + + DisplayPercentage *mDisplay; + QDoubleSpinBox *mDoubleBox; + QSpinBox *mPercentageBox; + + void updateDisplay(double val); + +}; + +#endif // PARAMEDITDOUBLE_H diff --git a/widgets/parameditdouble.ui b/widgets/parameditdouble.ui new file mode 100644 index 0000000..f4f196d --- /dev/null +++ b/widgets/parameditdouble.ui @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParamEditDouble</class> + <widget class="QWidget" name="ParamEditDouble"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>86</width> + <height>26</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <layout class="QHBoxLayout" name="mainLayout"> + <property name="spacing"> + <number>0</number> + </property> + <item> + <widget class="QPushButton" name="readButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read current setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Upload-96.png</normaloff>:/res/icons/Upload-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="readDefaultButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read default setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Data Backup-96.png</normaloff>:/res/icons/Data Backup-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Show help</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/parameditenum.cpp b/widgets/parameditenum.cpp new file mode 100644 index 0000000..b6a8aa1 --- /dev/null +++ b/widgets/parameditenum.cpp @@ -0,0 +1,107 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "parameditenum.h" +#include "ui_parameditenum.h" +#include <QDebug> +#include "helpdialog.h" + +ParamEditEnum::ParamEditEnum(QWidget *parent) : + QWidget(parent), + ui(new Ui::ParamEditEnum) +{ + ui->setupUi(this); + mConfig = 0; +} + +ParamEditEnum::~ParamEditEnum() +{ + delete ui; +} + +void ParamEditEnum::setConfig(ConfigParams *config) +{ + mConfig = config; + + ConfigParam *param = mConfig->getParam(mName); + + if (param) { + ui->readButton->setVisible(param->transmittable); + ui->readDefaultButton->setVisible(param->transmittable); + + int val = param->valInt; + ui->valueBox->insertItems(0, param->enumNames); + if (val >= 0 && val < param->enumNames.size()) { + ui->valueBox->setCurrentIndex(val); + } + } + + connect(mConfig, SIGNAL(paramChangedEnum(QObject*,QString,int)), + this, SLOT(paramChangedEnum(QObject*,QString,int))); +} + +QString ParamEditEnum::name() const +{ + return mName; +} + +void ParamEditEnum::setName(const QString &name) +{ + mName = name; +} + +void ParamEditEnum::paramChangedEnum(QObject *src, QString name, int newParam) +{ + if (src != this && name == mName) { + ui->valueBox->setCurrentIndex(newParam); + } +} + +void ParamEditEnum::on_readButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdate(); + } +} + +void ParamEditEnum::on_readDefaultButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdateDefault(); + } +} + +void ParamEditEnum::on_helpButton_clicked() +{ + if (mConfig) { + HelpDialog::showHelp(this, mConfig, mName); + } +} + +void ParamEditEnum::on_valueBox_currentIndexChanged(int index) +{ + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamEnum(mName, index, this); + } +} diff --git a/widgets/parameditenum.h b/widgets/parameditenum.h new file mode 100644 index 0000000..8e1490c --- /dev/null +++ b/widgets/parameditenum.h @@ -0,0 +1,56 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMEDITENUM_H +#define PARAMEDITENUM_H + +#include <QWidget> +#include "configparams.h" + +namespace Ui { +class ParamEditEnum; +} + +class ParamEditEnum : public QWidget +{ + Q_OBJECT + +public: + explicit ParamEditEnum(QWidget *parent = 0); + ~ParamEditEnum(); + void setConfig(ConfigParams *config); + QString name() const; + void setName(const QString &name); + +private slots: + void paramChangedEnum(QObject *src, QString name, int newParam); + + void on_readButton_clicked(); + void on_readDefaultButton_clicked(); + void on_helpButton_clicked(); + void on_valueBox_currentIndexChanged(int index); + +private: + Ui::ParamEditEnum *ui; + ConfigParams *mConfig; + QString mName; + +}; + +#endif // PARAMEDITENUM_H diff --git a/widgets/parameditenum.ui b/widgets/parameditenum.ui new file mode 100644 index 0000000..ebdccf7 --- /dev/null +++ b/widgets/parameditenum.ui @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParamEditEnum</class> + <widget class="QWidget" name="ParamEditEnum"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>302</width> + <height>29</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QComboBox" name="valueBox"/> + </item> + <item> + <widget class="QPushButton" name="readButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read current setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Upload-96.png</normaloff>:/res/icons/Upload-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="readDefaultButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read default setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Data Backup-96.png</normaloff>:/res/icons/Data Backup-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Show help</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + </layout> + </widget> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/parameditint.cpp b/widgets/parameditint.cpp new file mode 100644 index 0000000..46de1fb --- /dev/null +++ b/widgets/parameditint.cpp @@ -0,0 +1,210 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "parameditint.h" +#include "ui_parameditint.h" +#include <QMessageBox> +#include <cstdlib> +#include "helpdialog.h" + +ParamEditInt::ParamEditInt(QWidget *parent) : + QWidget(parent), + ui(new Ui::ParamEditInt) +{ + ui->setupUi(this); + mConfig = 0; + mMaxVal = 1; + + mDisplay = new DisplayPercentage(this); + mIntBox = new QSpinBox(this); + mPercentageBox = new QSpinBox(this); + + mPercentageBox->setSuffix(" %"); + + ui->mainLayout->insertWidget(0, mDisplay); + ui->mainLayout->insertWidget(0, mIntBox); + ui->mainLayout->insertWidget(0, mPercentageBox); + + ui->mainLayout->setStretchFactor(mIntBox, 1); + ui->mainLayout->setStretchFactor(mPercentageBox, 1); + ui->mainLayout->setStretchFactor(mDisplay, 10); + + mPercentageBox->setVisible(false); + mDisplay->setVisible(false); + + connect(mIntBox, SIGNAL(valueChanged(int)), + this, SLOT(intChanged(int))); + connect(mPercentageBox, SIGNAL(valueChanged(int)), + this, SLOT(percentageChanged(int))); +} + +ParamEditInt::~ParamEditInt() +{ + delete ui; +} + +void ParamEditInt::setConfig(ConfigParams *config) +{ + mConfig = config; + + ConfigParam *param = mConfig->getParam(mName); + + if (param) { + ui->readButton->setVisible(param->transmittable); + ui->readDefaultButton->setVisible(param->transmittable); + + mParam = *param; + + mMaxVal = abs(mParam.maxInt) > abs(mParam.minInt) ? + abs(mParam.maxInt) : abs(mParam.minInt); + + mIntBox->setMaximum(multScale(mParam.maxInt)); + mIntBox->setMinimum(multScale(mParam.minInt)); + mIntBox->setSingleStep(mParam.stepInt); + mIntBox->setValue(multScale(mParam.valInt)); + + int p = (mParam.valInt * 100) / mMaxVal; + mPercentageBox->setMaximum((100 * mParam.maxInt) / mMaxVal); + mPercentageBox->setMinimum((100 * mParam.minInt) / mMaxVal); + mPercentageBox->setValue(p); + mDisplay->setDual(mParam.minInt < 0 && mParam.maxInt > 0); + + // Rounding... + if (!mParam.editAsPercentage) { + updateDisplay(mParam.valInt); + } + } + + connect(mConfig, SIGNAL(paramChangedInt(QObject*,QString,int)), + this, SLOT(paramChangedInt(QObject*,QString,int))); +} + +QString ParamEditInt::name() const +{ + return mName; +} + +void ParamEditInt::setName(const QString &name) +{ + mName = name; +} + +void ParamEditInt::setSuffix(const QString &suffix) +{ + mIntBox->setSuffix(suffix); +} + +void ParamEditInt::setShowAsPercentage(bool showAsPercentage) +{ + mIntBox->setVisible(!showAsPercentage); + mPercentageBox->setVisible(showAsPercentage); +} + +void ParamEditInt::showDisplay(bool show) +{ + mDisplay->setVisible(show); +} + +void ParamEditInt::paramChangedInt(QObject *src, QString name, int newParam) +{ + if (src != this && name == mName) { + mIntBox->setValue(multScale(newParam)); + } +} + +void ParamEditInt::percentageChanged(int p) +{ + if (mParam.editAsPercentage) { + int val = (p * mMaxVal) / 100; + + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamInt(mName, val, this); + } + + updateDisplay(val); + } +} + +void ParamEditInt::intChanged(int i) +{ + if (!mParam.editAsPercentage) { + int val = divScale(i); + + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamInt(mName, val, this); + } + + updateDisplay(val); + } +} + +void ParamEditInt::on_readButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdate(); + } +} + +void ParamEditInt::on_readDefaultButton_clicked() +{ + if (mConfig) { + mConfig->setUpdateOnly(mName); + mConfig->requestUpdateDefault(); + } +} + +void ParamEditInt::on_helpButton_clicked() +{ + if (mConfig) { + HelpDialog::showHelp(this, mConfig, mName); + } +} + +void ParamEditInt::updateDisplay(int val) +{ + int p = (100 * val) / mMaxVal; + mDisplay->setValue(p); + + if (mParam.editAsPercentage) { + mDisplay->setText(tr("%1%2"). + arg((double)val * mParam.editorScale, 0, 'f', 2). + arg(mParam.suffix)); + } else { + mDisplay->setText(tr("%1%2"). + arg(multScale(val)). + arg(mParam.suffix)); + } +} + +int ParamEditInt::multScale(int val) +{ + return (int)((double)val * mParam.editorScale); +} + +int ParamEditInt::divScale(int val) +{ + return (int)((double)val / mParam.editorScale); +} diff --git a/widgets/parameditint.h b/widgets/parameditint.h new file mode 100644 index 0000000..d3a719a --- /dev/null +++ b/widgets/parameditint.h @@ -0,0 +1,73 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMEDITINT_H +#define PARAMEDITINT_H + +#include <QWidget> +#include <QSpinBox> +#include "configparams.h" +#include "displaypercentage.h" + +namespace Ui { +class ParamEditInt; +} + +class ParamEditInt : public QWidget +{ + Q_OBJECT + +public: + explicit ParamEditInt(QWidget *parent = 0); + ~ParamEditInt(); + + void setConfig(ConfigParams *config); + QString name() const; + void setName(const QString &name); + void setSuffix(const QString &suffix); + void setShowAsPercentage(bool showAsPercentage); + void showDisplay(bool show); + +private slots: + void paramChangedInt(QObject *src, QString name, int newParam); + void percentageChanged(int p); + void intChanged(int i); + + void on_readButton_clicked(); + void on_readDefaultButton_clicked(); + void on_helpButton_clicked(); + +private: + Ui::ParamEditInt *ui; + ConfigParams *mConfig; + ConfigParam mParam; + QString mName; + int mMaxVal; + + DisplayPercentage *mDisplay; + QSpinBox *mIntBox; + QSpinBox *mPercentageBox; + + void updateDisplay(int val); + int multScale(int val); + int divScale(int val); + +}; + +#endif // PARAMEDITINT_H diff --git a/widgets/parameditint.ui b/widgets/parameditint.ui new file mode 100644 index 0000000..e81ef47 --- /dev/null +++ b/widgets/parameditint.ui @@ -0,0 +1,102 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParamEditInt</class> + <widget class="QWidget" name="ParamEditInt"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>86</width> + <height>26</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <layout class="QHBoxLayout" name="mainLayout"> + <property name="spacing"> + <number>0</number> + </property> + <item> + <widget class="QPushButton" name="readButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read current setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Upload-96.png</normaloff>:/res/icons/Upload-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="readDefaultButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Read default setting</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Data Backup-96.png</normaloff>:/res/icons/Data Backup-96.png</iconset> + </property> + </widget> + </item> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Show help</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + </layout> + </item> + </layout> + </widget> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/parameditstring.cpp b/widgets/parameditstring.cpp new file mode 100644 index 0000000..f7d30a6 --- /dev/null +++ b/widgets/parameditstring.cpp @@ -0,0 +1,82 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "parameditstring.h" +#include "ui_parameditstring.h" +#include "helpdialog.h" + +ParamEditString::ParamEditString(QWidget *parent) : + QWidget(parent), + ui(new Ui::ParamEditString) +{ + ui->setupUi(this); +} + +ParamEditString::~ParamEditString() +{ + delete ui; +} + +void ParamEditString::setConfig(ConfigParams *config) +{ + mConfig = config; + + ConfigParam *param = mConfig->getParam(mName); + + if (param) { + ui->valueEdit->setText(param->valString); + } + + connect(mConfig, SIGNAL(paramChangedQString(QObject*,QString,QString)), + this, SLOT(paramChangedQString(QObject*,QString,QString))); +} + +QString ParamEditString::name() const +{ + return mName; +} + +void ParamEditString::setName(const QString &name) +{ + mName = name; +} + +void ParamEditString::paramChangedQString(QObject *src, QString name, QString newParam) +{ + if (src != this && name == mName) { + ui->valueEdit->setText(newParam); + } +} + +void ParamEditString::on_helpButton_clicked() +{ + if (mConfig) { + HelpDialog::showHelp(this, mConfig, mName); + } +} + +void ParamEditString::on_valueEdit_textChanged(const QString &arg1) +{ + if (mConfig) { + if (mConfig->getUpdateOnly() != mName) { + mConfig->setUpdateOnly(""); + } + mConfig->updateParamString(mName, arg1, this); + } +} diff --git a/widgets/parameditstring.h b/widgets/parameditstring.h new file mode 100644 index 0000000..5d62941 --- /dev/null +++ b/widgets/parameditstring.h @@ -0,0 +1,54 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMEDITSTRING_H +#define PARAMEDITSTRING_H + +#include <QWidget> +#include "configparams.h" + +namespace Ui { +class ParamEditString; +} + +class ParamEditString : public QWidget +{ + Q_OBJECT + +public: + explicit ParamEditString(QWidget *parent = 0); + ~ParamEditString(); + void setConfig(ConfigParams *config); + QString name() const; + void setName(const QString &name); + +private slots: + void paramChangedQString(QObject *src, QString name, QString newParam); + + void on_helpButton_clicked(); + void on_valueEdit_textChanged(const QString &arg1); + +private: + Ui::ParamEditString *ui; + ConfigParams *mConfig; + QString mName; + +}; + +#endif // PARAMEDITSTRING_H diff --git a/widgets/parameditstring.ui b/widgets/parameditstring.ui new file mode 100644 index 0000000..a38a767 --- /dev/null +++ b/widgets/parameditstring.ui @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ui version="4.0"> + <class>ParamEditString</class> + <widget class="QWidget" name="ParamEditString"> + <property name="geometry"> + <rect> + <x>0</x> + <y>0</y> + <width>258</width> + <height>32</height> + </rect> + </property> + <property name="windowTitle"> + <string>Form</string> + </property> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> + <number>0</number> + </property> + <property name="leftMargin"> + <number>0</number> + </property> + <property name="topMargin"> + <number>0</number> + </property> + <property name="rightMargin"> + <number>0</number> + </property> + <property name="bottomMargin"> + <number>0</number> + </property> + <item> + <widget class="QLineEdit" name="valueEdit"/> + </item> + <item> + <widget class="QPushButton" name="helpButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="toolTip"> + <string>Show help</string> + </property> + <property name="text"> + <string/> + </property> + <property name="icon"> + <iconset resource="../res.qrc"> + <normaloff>:/res/icons/Help-96.png</normaloff>:/res/icons/Help-96.png</iconset> + </property> + </widget> + </item> + </layout> + </widget> + <resources> + <include location="../res.qrc"/> + </resources> + <connections/> +</ui> diff --git a/widgets/paramtable.cpp b/widgets/paramtable.cpp new file mode 100644 index 0000000..5e13332 --- /dev/null +++ b/widgets/paramtable.cpp @@ -0,0 +1,80 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "paramtable.h" +#include <QDebug> +#include <QHeaderView> +#include <QLabel> + +ParamTable::ParamTable(QWidget *parent) : QTableWidget(parent) +{ + setColumnCount(2); + + QStringList headers; + headers.append("Name"); + headers.append("Edit"); + + setHorizontalHeaderLabels(headers); + setSelectionBehavior(QAbstractItemView::SelectRows); + setSelectionMode(QAbstractItemView::NoSelection); + horizontalHeader()->setStretchLastSection(true); + horizontalHeader()->setVisible(false); + verticalHeader()->setVisible(false); +} + +bool ParamTable::addParamRow(ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + + if (editor) { + int row = rowCount(); + setRowCount(row + 1); + QTableWidgetItem *item = new QTableWidgetItem(name); + item->setFlags(item->flags() & ~Qt::ItemIsEditable); + setItem(row, 0, item); + setCellWidget(row, 1, editor); + res = true; + + resizeColumnToContents(0); + resizeRowsToContents(); + } + + return res; +} + +void ParamTable::addRowSeparator(QString text) +{ + int row = rowCount(); + setRowCount(row + 1); + + QLabel *label = new QLabel(text); + label->setAlignment(Qt::AlignHCenter); + QFont font; + font.setBold(true); + label->setFont(font); + label->setStyleSheet("QLabel { background-color : lightblue; color : black; }"); + + setCellWidget(row, 0, label); + setSpan(row, 0, 1, 2); + + resizeColumnToContents(0); + resizeRowsToContents(); +} diff --git a/widgets/paramtable.h b/widgets/paramtable.h new file mode 100644 index 0000000..e904851 --- /dev/null +++ b/widgets/paramtable.h @@ -0,0 +1,36 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef PARAMTABLE_H +#define PARAMTABLE_H + +#include <QWidget> +#include <QTableWidget> +#include "configparams.h" + +class ParamTable : public QTableWidget +{ +public: + ParamTable(QWidget *parent = 0); + bool addParamRow(ConfigParams *params, QString paramName); + void addRowSeparator(QString text); + +}; + +#endif // PARAMTABLE_H diff --git a/widgets/qcustomplot.cpp b/widgets/qcustomplot.cpp new file mode 100644 index 0000000..154576a --- /dev/null +++ b/widgets/qcustomplot.cpp @@ -0,0 +1,30121 @@ +/*************************************************************************** +** ** +** QCustomPlot, an easy to use, modern plotting widget for Qt ** +** Copyright (C) 2011-2017 Emanuel Eichhammer ** +** ** +** This program is free software: you can redistribute it and/or modify ** +** it under the terms of the GNU General Public License as published by ** +** the Free Software Foundation, either version 3 of the License, or ** +** (at your option) any later version. ** +** ** +** This program is distributed in the hope that it will be useful, ** +** but WITHOUT ANY WARRANTY; without even the implied warranty of ** +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** +** GNU General Public License for more details. ** +** ** +** You should have received a copy of the GNU General Public License ** +** along with this program. If not, see http://www.gnu.org/licenses/. ** +** ** +**************************************************************************** +** Author: Emanuel Eichhammer ** +** Website/Contact: http://www.qcustomplot.com/ ** +** Date: 04.09.17 ** +** Version: 2.0.0 ** +****************************************************************************/ + +#include "qcustomplot.h" + + +/* including file 'src/vector2d.cpp', size 7340 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPVector2D +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPVector2D + \brief Represents two doubles as a mathematical 2D vector + + This class acts as a replacement for QVector2D with the advantage of double precision instead of + single, and some convenience methods tailored for the QCustomPlot library. +*/ + +/* start documentation of inline functions */ + +/*! \fn void QCPVector2D::setX(double x) + + Sets the x coordinate of this vector to \a x. + + \see setY +*/ + +/*! \fn void QCPVector2D::setY(double y) + + Sets the y coordinate of this vector to \a y. + + \see setX +*/ + +/*! \fn double QCPVector2D::length() const + + Returns the length of this vector. + + \see lengthSquared +*/ + +/*! \fn double QCPVector2D::lengthSquared() const + + Returns the squared length of this vector. In some situations, e.g. when just trying to find the + shortest vector of a group, this is faster than calculating \ref length, because it avoids + calculation of a square root. + + \see length +*/ + +/*! \fn QPoint QCPVector2D::toPoint() const + + Returns a QPoint which has the x and y coordinates of this vector, truncating any floating point + information. + + \see toPointF +*/ + +/*! \fn QPointF QCPVector2D::toPointF() const + + Returns a QPointF which has the x and y coordinates of this vector. + + \see toPoint +*/ + +/*! \fn bool QCPVector2D::isNull() const + + Returns whether this vector is null. A vector is null if \c qIsNull returns true for both x and y + coordinates, i.e. if both are binary equal to 0. +*/ + +/*! \fn QCPVector2D QCPVector2D::perpendicular() const + + Returns a vector perpendicular to this vector, with the same length. +*/ + +/*! \fn double QCPVector2D::dot() const + + Returns the dot/scalar product of this vector with the specified vector \a vec. +*/ + +/* end documentation of inline functions */ + +/*! + Creates a QCPVector2D object and initializes the x and y coordinates to 0. +*/ +QCPVector2D::QCPVector2D() : + mX(0), + mY(0) +{ +} + +/*! + Creates a QCPVector2D object and initializes the \a x and \a y coordinates with the specified + values. +*/ +QCPVector2D::QCPVector2D(double x, double y) : + mX(x), + mY(y) +{ +} + +/*! + Creates a QCPVector2D object and initializes the x and y coordinates respective coordinates of + the specified \a point. +*/ +QCPVector2D::QCPVector2D(const QPoint &point) : + mX(point.x()), + mY(point.y()) +{ +} + +/*! + Creates a QCPVector2D object and initializes the x and y coordinates respective coordinates of + the specified \a point. +*/ +QCPVector2D::QCPVector2D(const QPointF &point) : + mX(point.x()), + mY(point.y()) +{ +} + +/*! + Normalizes this vector. After this operation, the length of the vector is equal to 1. + + \see normalized, length, lengthSquared +*/ +void QCPVector2D::normalize() +{ + double len = length(); + mX /= len; + mY /= len; +} + +/*! + Returns a normalized version of this vector. The length of the returned vector is equal to 1. + + \see normalize, length, lengthSquared +*/ +QCPVector2D QCPVector2D::normalized() const +{ + QCPVector2D result(mX, mY); + result.normalize(); + return result; +} + +/*! \overload + + Returns the squared shortest distance of this vector (interpreted as a point) to the finite line + segment given by \a start and \a end. + + \see distanceToStraightLine +*/ +double QCPVector2D::distanceSquaredToLine(const QCPVector2D &start, const QCPVector2D &end) const +{ + QCPVector2D v(end-start); + double vLengthSqr = v.lengthSquared(); + if (!qFuzzyIsNull(vLengthSqr)) + { + double mu = v.dot(*this-start)/vLengthSqr; + if (mu < 0) + return (*this-start).lengthSquared(); + else if (mu > 1) + return (*this-end).lengthSquared(); + else + return ((start + mu*v)-*this).lengthSquared(); + } else + return (*this-start).lengthSquared(); +} + +/*! \overload + + Returns the squared shortest distance of this vector (interpreted as a point) to the finite line + segment given by \a line. + + \see distanceToStraightLine +*/ +double QCPVector2D::distanceSquaredToLine(const QLineF &line) const +{ + return distanceSquaredToLine(QCPVector2D(line.p1()), QCPVector2D(line.p2())); +} + +/*! + Returns the shortest distance of this vector (interpreted as a point) to the infinite straight + line given by a \a base point and a \a direction vector. + + \see distanceSquaredToLine +*/ +double QCPVector2D::distanceToStraightLine(const QCPVector2D &base, const QCPVector2D &direction) const +{ + return qAbs((*this-base).dot(direction.perpendicular()))/direction.length(); +} + +/*! + Scales this vector by the given \a factor, i.e. the x and y components are multiplied by \a + factor. +*/ +QCPVector2D &QCPVector2D::operator*=(double factor) +{ + mX *= factor; + mY *= factor; + return *this; +} + +/*! + Scales this vector by the given \a divisor, i.e. the x and y components are divided by \a + divisor. +*/ +QCPVector2D &QCPVector2D::operator/=(double divisor) +{ + mX /= divisor; + mY /= divisor; + return *this; +} + +/*! + Adds the given \a vector to this vector component-wise. +*/ +QCPVector2D &QCPVector2D::operator+=(const QCPVector2D &vector) +{ + mX += vector.mX; + mY += vector.mY; + return *this; +} + +/*! + subtracts the given \a vector from this vector component-wise. +*/ +QCPVector2D &QCPVector2D::operator-=(const QCPVector2D &vector) +{ + mX -= vector.mX; + mY -= vector.mY; + return *this; +} +/* end of 'src/vector2d.cpp' */ + + +/* including file 'src/painter.cpp', size 8670 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPPainter +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPPainter + \brief QPainter subclass used internally + + This QPainter subclass is used to provide some extended functionality e.g. for tweaking position + consistency between antialiased and non-antialiased painting. Further it provides workarounds + for QPainter quirks. + + \warning This class intentionally hides non-virtual functions of QPainter, e.g. setPen, save and + restore. So while it is possible to pass a QCPPainter instance to a function that expects a + QPainter pointer, some of the workarounds and tweaks will be unavailable to the function (because + it will call the base class implementations of the functions actually hidden by QCPPainter). +*/ + +/*! + Creates a new QCPPainter instance and sets default values +*/ +QCPPainter::QCPPainter() : + QPainter(), + mModes(pmDefault), + mIsAntialiasing(false) +{ + // don't setRenderHint(QPainter::NonCosmeticDefautPen) here, because painter isn't active yet and + // a call to begin() will follow +} + +/*! + Creates a new QCPPainter instance on the specified paint \a device and sets default values. Just + like the analogous QPainter constructor, begins painting on \a device immediately. + + Like \ref begin, this method sets QPainter::NonCosmeticDefaultPen in Qt versions before Qt5. +*/ +QCPPainter::QCPPainter(QPaintDevice *device) : + QPainter(device), + mModes(pmDefault), + mIsAntialiasing(false) +{ +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) // before Qt5, default pens used to be cosmetic if NonCosmeticDefaultPen flag isn't set. So we set it to get consistency across Qt versions. + if (isActive()) + setRenderHint(QPainter::NonCosmeticDefaultPen); +#endif +} + +/*! + Sets the pen of the painter and applies certain fixes to it, depending on the mode of this + QCPPainter. + + \note this function hides the non-virtual base class implementation. +*/ +void QCPPainter::setPen(const QPen &pen) +{ + QPainter::setPen(pen); + if (mModes.testFlag(pmNonCosmetic)) + makeNonCosmetic(); +} + +/*! \overload + + Sets the pen (by color) of the painter and applies certain fixes to it, depending on the mode of + this QCPPainter. + + \note this function hides the non-virtual base class implementation. +*/ +void QCPPainter::setPen(const QColor &color) +{ + QPainter::setPen(color); + if (mModes.testFlag(pmNonCosmetic)) + makeNonCosmetic(); +} + +/*! \overload + + Sets the pen (by style) of the painter and applies certain fixes to it, depending on the mode of + this QCPPainter. + + \note this function hides the non-virtual base class implementation. +*/ +void QCPPainter::setPen(Qt::PenStyle penStyle) +{ + QPainter::setPen(penStyle); + if (mModes.testFlag(pmNonCosmetic)) + makeNonCosmetic(); +} + +/*! \overload + + Works around a Qt bug introduced with Qt 4.8 which makes drawing QLineF unpredictable when + antialiasing is disabled. Thus when antialiasing is disabled, it rounds the \a line to + integer coordinates and then passes it to the original drawLine. + + \note this function hides the non-virtual base class implementation. +*/ +void QCPPainter::drawLine(const QLineF &line) +{ + if (mIsAntialiasing || mModes.testFlag(pmVectorized)) + QPainter::drawLine(line); + else + QPainter::drawLine(line.toLine()); +} + +/*! + Sets whether painting uses antialiasing or not. Use this method instead of using setRenderHint + with QPainter::Antialiasing directly, as it allows QCPPainter to regain pixel exactness between + antialiased and non-antialiased painting (Since Qt < 5.0 uses slightly different coordinate systems for + AA/Non-AA painting). +*/ +void QCPPainter::setAntialiasing(bool enabled) +{ + setRenderHint(QPainter::Antialiasing, enabled); + if (mIsAntialiasing != enabled) + { + mIsAntialiasing = enabled; + if (!mModes.testFlag(pmVectorized)) // antialiasing half-pixel shift only needed for rasterized outputs + { + if (mIsAntialiasing) + translate(0.5, 0.5); + else + translate(-0.5, -0.5); + } + } +} + +/*! + Sets the mode of the painter. This controls whether the painter shall adjust its + fixes/workarounds optimized for certain output devices. +*/ +void QCPPainter::setModes(QCPPainter::PainterModes modes) +{ + mModes = modes; +} + +/*! + Sets the QPainter::NonCosmeticDefaultPen in Qt versions before Qt5 after beginning painting on \a + device. This is necessary to get cosmetic pen consistency across Qt versions, because since Qt5, + all pens are non-cosmetic by default, and in Qt4 this render hint must be set to get that + behaviour. + + The Constructor \ref QCPPainter(QPaintDevice *device) which directly starts painting also sets + the render hint as appropriate. + + \note this function hides the non-virtual base class implementation. +*/ +bool QCPPainter::begin(QPaintDevice *device) +{ + bool result = QPainter::begin(device); +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) // before Qt5, default pens used to be cosmetic if NonCosmeticDefaultPen flag isn't set. So we set it to get consistency across Qt versions. + if (result) + setRenderHint(QPainter::NonCosmeticDefaultPen); +#endif + return result; +} + +/*! \overload + + Sets the mode of the painter. This controls whether the painter shall adjust its + fixes/workarounds optimized for certain output devices. +*/ +void QCPPainter::setMode(QCPPainter::PainterMode mode, bool enabled) +{ + if (!enabled && mModes.testFlag(mode)) + mModes &= ~mode; + else if (enabled && !mModes.testFlag(mode)) + mModes |= mode; +} + +/*! + Saves the painter (see QPainter::save). Since QCPPainter adds some new internal state to + QPainter, the save/restore functions are reimplemented to also save/restore those members. + + \note this function hides the non-virtual base class implementation. + + \see restore +*/ +void QCPPainter::save() +{ + mAntialiasingStack.push(mIsAntialiasing); + QPainter::save(); +} + +/*! + Restores the painter (see QPainter::restore). Since QCPPainter adds some new internal state to + QPainter, the save/restore functions are reimplemented to also save/restore those members. + + \note this function hides the non-virtual base class implementation. + + \see save +*/ +void QCPPainter::restore() +{ + if (!mAntialiasingStack.isEmpty()) + mIsAntialiasing = mAntialiasingStack.pop(); + else + qDebug() << Q_FUNC_INFO << "Unbalanced save/restore"; + QPainter::restore(); +} + +/*! + Changes the pen width to 1 if it currently is 0. This function is called in the \ref setPen + overrides when the \ref pmNonCosmetic mode is set. +*/ +void QCPPainter::makeNonCosmetic() +{ + if (qFuzzyIsNull(pen().widthF())) + { + QPen p = pen(); + p.setWidth(1); + QPainter::setPen(p); + } +} +/* end of 'src/painter.cpp' */ + + +/* including file 'src/paintbuffer.cpp', size 18502 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAbstractPaintBuffer +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAbstractPaintBuffer + \brief The abstract base class for paint buffers, which define the rendering backend + + This abstract base class defines the basic interface that a paint buffer needs to provide in + order to be usable by QCustomPlot. + + A paint buffer manages both a surface to draw onto, and the matching paint device. The size of + the surface can be changed via \ref setSize. External classes (\ref QCustomPlot and \ref + QCPLayer) request a painter via \ref startPainting and then perform the draw calls. Once the + painting is complete, \ref donePainting is called, so the paint buffer implementation can do + clean up if necessary. Before rendering a frame, each paint buffer is usually filled with a color + using \ref clear (usually the color is \c Qt::transparent), to remove the contents of the + previous frame. + + The simplest paint buffer implementation is \ref QCPPaintBufferPixmap which allows regular + software rendering via the raster engine. Hardware accelerated rendering via pixel buffers and + frame buffer objects is provided by \ref QCPPaintBufferGlPbuffer and \ref QCPPaintBufferGlFbo. + They are used automatically if \ref QCustomPlot::setOpenGl is enabled. +*/ + +/* start documentation of pure virtual functions */ + +/*! \fn virtual QCPPainter *QCPAbstractPaintBuffer::startPainting() = 0 + + Returns a \ref QCPPainter which is ready to draw to this buffer. The ownership and thus the + responsibility to delete the painter after the painting operations are complete is given to the + caller of this method. + + Once you are done using the painter, delete the painter and call \ref donePainting. + + While a painter generated with this method is active, you must not call \ref setSize, \ref + setDevicePixelRatio or \ref clear. + + This method may return 0, if a painter couldn't be activated on the buffer. This usually + indicates a problem with the respective painting backend. +*/ + +/*! \fn virtual void QCPAbstractPaintBuffer::draw(QCPPainter *painter) const = 0 + + Draws the contents of this buffer with the provided \a painter. This is the method that is used + to finally join all paint buffers and draw them onto the screen. +*/ + +/*! \fn virtual void QCPAbstractPaintBuffer::clear(const QColor &color) = 0 + + Fills the entire buffer with the provided \a color. To have an empty transparent buffer, use the + named color \c Qt::transparent. + + This method must not be called if there is currently a painter (acquired with \ref startPainting) + active. +*/ + +/*! \fn virtual void QCPAbstractPaintBuffer::reallocateBuffer() = 0 + + Reallocates the internal buffer with the currently configured size (\ref setSize) and device + pixel ratio, if applicable (\ref setDevicePixelRatio). It is called as soon as any of those + properties are changed on this paint buffer. + + \note Subclasses of \ref QCPAbstractPaintBuffer must call their reimplementation of this method + in their constructor, to perform the first allocation (this can not be done by the base class + because calling pure virtual methods in base class constructors is not possible). +*/ + +/* end documentation of pure virtual functions */ +/* start documentation of inline functions */ + +/*! \fn virtual void QCPAbstractPaintBuffer::donePainting() + + If you have acquired a \ref QCPPainter to paint onto this paint buffer via \ref startPainting, + call this method as soon as you are done with the painting operations and have deleted the + painter. + + paint buffer subclasses may use this method to perform any type of cleanup that is necessary. The + default implementation does nothing. +*/ + +/* end documentation of inline functions */ + +/*! + Creates a paint buffer and initializes it with the provided \a size and \a devicePixelRatio. + + Subclasses must call their \ref reallocateBuffer implementation in their respective constructors. +*/ +QCPAbstractPaintBuffer::QCPAbstractPaintBuffer(const QSize &size, double devicePixelRatio) : + mSize(size), + mDevicePixelRatio(devicePixelRatio), + mInvalidated(true) +{ +} + +QCPAbstractPaintBuffer::~QCPAbstractPaintBuffer() +{ +} + +/*! + Sets the paint buffer size. + + The buffer is reallocated (by calling \ref reallocateBuffer), so any painters that were obtained + by \ref startPainting are invalidated and must not be used after calling this method. + + If \a size is already the current buffer size, this method does nothing. +*/ +void QCPAbstractPaintBuffer::setSize(const QSize &size) +{ + if (mSize != size) + { + mSize = size; + reallocateBuffer(); + } +} + +/*! + Sets the invalidated flag to \a invalidated. + + This mechanism is used internally in conjunction with isolated replotting of \ref QCPLayer + instances (in \ref QCPLayer::lmBuffered mode). If \ref QCPLayer::replot is called on a buffered + layer, i.e. an isolated repaint of only that layer (and its dedicated paint buffer) is requested, + QCustomPlot will decide depending on the invalidated flags of other paint buffers whether it also + replots them, instead of only the layer on which the replot was called. + + The invalidated flag is set to true when \ref QCPLayer association has changed, i.e. if layers + were added or removed from this buffer, or if they were reordered. It is set to false as soon as + all associated \ref QCPLayer instances are drawn onto the buffer. + + Under normal circumstances, it is not necessary to manually call this method. +*/ +void QCPAbstractPaintBuffer::setInvalidated(bool invalidated) +{ + mInvalidated = invalidated; +} + +/*! + Sets the the device pixel ratio to \a ratio. This is useful to render on high-DPI output devices. + The ratio is automatically set to the device pixel ratio used by the parent QCustomPlot instance. + + The buffer is reallocated (by calling \ref reallocateBuffer), so any painters that were obtained + by \ref startPainting are invalidated and must not be used after calling this method. + + \note This method is only available for Qt versions 5.4 and higher. +*/ +void QCPAbstractPaintBuffer::setDevicePixelRatio(double ratio) +{ + if (!qFuzzyCompare(ratio, mDevicePixelRatio)) + { +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + mDevicePixelRatio = ratio; + reallocateBuffer(); +#else + qDebug() << Q_FUNC_INFO << "Device pixel ratios not supported for Qt versions before 5.4"; + mDevicePixelRatio = 1.0; +#endif + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPPaintBufferPixmap +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPPaintBufferPixmap + \brief A paint buffer based on QPixmap, using software raster rendering + + This paint buffer is the default and fall-back paint buffer which uses software rendering and + QPixmap as internal buffer. It is used if \ref QCustomPlot::setOpenGl is false. +*/ + +/*! + Creates a pixmap paint buffer instancen with the specified \a size and \a devicePixelRatio, if + applicable. +*/ +QCPPaintBufferPixmap::QCPPaintBufferPixmap(const QSize &size, double devicePixelRatio) : + QCPAbstractPaintBuffer(size, devicePixelRatio) +{ + QCPPaintBufferPixmap::reallocateBuffer(); +} + +QCPPaintBufferPixmap::~QCPPaintBufferPixmap() +{ +} + +/* inherits documentation from base class */ +QCPPainter *QCPPaintBufferPixmap::startPainting() +{ + QCPPainter *result = new QCPPainter(&mBuffer); + result->setRenderHint(QPainter::HighQualityAntialiasing); + return result; +} + +/* inherits documentation from base class */ +void QCPPaintBufferPixmap::draw(QCPPainter *painter) const +{ + if (painter && painter->isActive()) + painter->drawPixmap(0, 0, mBuffer); + else + qDebug() << Q_FUNC_INFO << "invalid or inactive painter passed"; +} + +/* inherits documentation from base class */ +void QCPPaintBufferPixmap::clear(const QColor &color) +{ + mBuffer.fill(color); +} + +/* inherits documentation from base class */ +void QCPPaintBufferPixmap::reallocateBuffer() +{ + setInvalidated(); + if (!qFuzzyCompare(1.0, mDevicePixelRatio)) + { +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + mBuffer = QPixmap(mSize*mDevicePixelRatio); + mBuffer.setDevicePixelRatio(mDevicePixelRatio); +#else + qDebug() << Q_FUNC_INFO << "Device pixel ratios not supported for Qt versions before 5.4"; + mDevicePixelRatio = 1.0; + mBuffer = QPixmap(mSize); +#endif + } else + { + mBuffer = QPixmap(mSize); + } +} + + +#ifdef QCP_OPENGL_PBUFFER +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPPaintBufferGlPbuffer +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPPaintBufferGlPbuffer + \brief A paint buffer based on OpenGL pixel buffers, using hardware accelerated rendering + + This paint buffer is one of the OpenGL paint buffers which facilitate hardware accelerated plot + rendering. It is based on OpenGL pixel buffers (pbuffer) and is used in Qt versions before 5.0. + (See \ref QCPPaintBufferGlFbo used in newer Qt versions.) + + The OpenGL paint buffers are used if \ref QCustomPlot::setOpenGl is set to true, and if they are + supported by the system. +*/ + +/*! + Creates a \ref QCPPaintBufferGlPbuffer instance with the specified \a size and \a + devicePixelRatio, if applicable. + + The parameter \a multisamples defines how many samples are used per pixel. Higher values thus + result in higher quality antialiasing. If the specified \a multisamples value exceeds the + capability of the graphics hardware, the highest supported multisampling is used. +*/ +QCPPaintBufferGlPbuffer::QCPPaintBufferGlPbuffer(const QSize &size, double devicePixelRatio, int multisamples) : + QCPAbstractPaintBuffer(size, devicePixelRatio), + mGlPBuffer(0), + mMultisamples(qMax(0, multisamples)) +{ + QCPPaintBufferGlPbuffer::reallocateBuffer(); +} + +QCPPaintBufferGlPbuffer::~QCPPaintBufferGlPbuffer() +{ + if (mGlPBuffer) + delete mGlPBuffer; +} + +/* inherits documentation from base class */ +QCPPainter *QCPPaintBufferGlPbuffer::startPainting() +{ + if (!mGlPBuffer->isValid()) + { + qDebug() << Q_FUNC_INFO << "OpenGL frame buffer object doesn't exist, reallocateBuffer was not called?"; + return 0; + } + + QCPPainter *result = new QCPPainter(mGlPBuffer); + result->setRenderHint(QPainter::HighQualityAntialiasing); + return result; +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlPbuffer::draw(QCPPainter *painter) const +{ + if (!painter || !painter->isActive()) + { + qDebug() << Q_FUNC_INFO << "invalid or inactive painter passed"; + return; + } + if (!mGlPBuffer->isValid()) + { + qDebug() << Q_FUNC_INFO << "OpenGL pbuffer isn't valid, reallocateBuffer was not called?"; + return; + } + painter->drawImage(0, 0, mGlPBuffer->toImage()); +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlPbuffer::clear(const QColor &color) +{ + if (mGlPBuffer->isValid()) + { + mGlPBuffer->makeCurrent(); + glClearColor(color.redF(), color.greenF(), color.blueF(), color.alphaF()); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + mGlPBuffer->doneCurrent(); + } else + qDebug() << Q_FUNC_INFO << "OpenGL pbuffer invalid or context not current"; +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlPbuffer::reallocateBuffer() +{ + if (mGlPBuffer) + delete mGlPBuffer; + + QGLFormat format; + format.setAlpha(true); + format.setSamples(mMultisamples); + mGlPBuffer = new QGLPixelBuffer(mSize, format); +} +#endif // QCP_OPENGL_PBUFFER + + +#ifdef QCP_OPENGL_FBO +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPPaintBufferGlFbo +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPPaintBufferGlFbo + \brief A paint buffer based on OpenGL frame buffers objects, using hardware accelerated rendering + + This paint buffer is one of the OpenGL paint buffers which facilitate hardware accelerated plot + rendering. It is based on OpenGL frame buffer objects (fbo) and is used in Qt versions 5.0 and + higher. (See \ref QCPPaintBufferGlPbuffer used in older Qt versions.) + + The OpenGL paint buffers are used if \ref QCustomPlot::setOpenGl is set to true, and if they are + supported by the system. +*/ + +/*! + Creates a \ref QCPPaintBufferGlFbo instance with the specified \a size and \a devicePixelRatio, + if applicable. + + All frame buffer objects shall share one OpenGL context and paint device, which need to be set up + externally and passed via \a glContext and \a glPaintDevice. The set-up is done in \ref + QCustomPlot::setupOpenGl and the context and paint device are managed by the parent QCustomPlot + instance. +*/ +QCPPaintBufferGlFbo::QCPPaintBufferGlFbo(const QSize &size, double devicePixelRatio, QWeakPointer<QOpenGLContext> glContext, QWeakPointer<QOpenGLPaintDevice> glPaintDevice) : + QCPAbstractPaintBuffer(size, devicePixelRatio), + mGlContext(glContext), + mGlPaintDevice(glPaintDevice), + mGlFrameBuffer(0) +{ + QCPPaintBufferGlFbo::reallocateBuffer(); +} + +QCPPaintBufferGlFbo::~QCPPaintBufferGlFbo() +{ + if (mGlFrameBuffer) + delete mGlFrameBuffer; +} + +/* inherits documentation from base class */ +QCPPainter *QCPPaintBufferGlFbo::startPainting() +{ + if (mGlPaintDevice.isNull()) + { + qDebug() << Q_FUNC_INFO << "OpenGL paint device doesn't exist"; + return 0; + } + if (!mGlFrameBuffer) + { + qDebug() << Q_FUNC_INFO << "OpenGL frame buffer object doesn't exist, reallocateBuffer was not called?"; + return 0; + } + + if (QOpenGLContext::currentContext() != mGlContext.data()) + mGlContext.data()->makeCurrent(mGlContext.data()->surface()); + mGlFrameBuffer->bind(); + QCPPainter *result = new QCPPainter(mGlPaintDevice.data()); + result->setRenderHint(QPainter::HighQualityAntialiasing); + return result; +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlFbo::donePainting() +{ + if (mGlFrameBuffer && mGlFrameBuffer->isBound()) + mGlFrameBuffer->release(); + else + qDebug() << Q_FUNC_INFO << "Either OpenGL frame buffer not valid or was not bound"; +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlFbo::draw(QCPPainter *painter) const +{ + if (!painter || !painter->isActive()) + { + qDebug() << Q_FUNC_INFO << "invalid or inactive painter passed"; + return; + } + if (!mGlFrameBuffer) + { + qDebug() << Q_FUNC_INFO << "OpenGL frame buffer object doesn't exist, reallocateBuffer was not called?"; + return; + } + painter->drawImage(0, 0, mGlFrameBuffer->toImage()); +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlFbo::clear(const QColor &color) +{ + if (mGlContext.isNull()) + { + qDebug() << Q_FUNC_INFO << "OpenGL context doesn't exist"; + return; + } + if (!mGlFrameBuffer) + { + qDebug() << Q_FUNC_INFO << "OpenGL frame buffer object doesn't exist, reallocateBuffer was not called?"; + return; + } + + if (QOpenGLContext::currentContext() != mGlContext.data()) + mGlContext.data()->makeCurrent(mGlContext.data()->surface()); + mGlFrameBuffer->bind(); + glClearColor(color.redF(), color.greenF(), color.blueF(), color.alphaF()); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + mGlFrameBuffer->release(); +} + +/* inherits documentation from base class */ +void QCPPaintBufferGlFbo::reallocateBuffer() +{ + // release and delete possibly existing framebuffer: + if (mGlFrameBuffer) + { + if (mGlFrameBuffer->isBound()) + mGlFrameBuffer->release(); + delete mGlFrameBuffer; + mGlFrameBuffer = 0; + } + + if (mGlContext.isNull()) + { + qDebug() << Q_FUNC_INFO << "OpenGL context doesn't exist"; + return; + } + if (mGlPaintDevice.isNull()) + { + qDebug() << Q_FUNC_INFO << "OpenGL paint device doesn't exist"; + return; + } + + // create new fbo with appropriate size: + mGlContext.data()->makeCurrent(mGlContext.data()->surface()); + QOpenGLFramebufferObjectFormat frameBufferFormat; + frameBufferFormat.setSamples(mGlContext.data()->format().samples()); + frameBufferFormat.setAttachment(QOpenGLFramebufferObject::CombinedDepthStencil); + mGlFrameBuffer = new QOpenGLFramebufferObject(mSize*mDevicePixelRatio, frameBufferFormat); + if (mGlPaintDevice.data()->size() != mSize*mDevicePixelRatio) + mGlPaintDevice.data()->setSize(mSize*mDevicePixelRatio); +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + mGlPaintDevice.data()->setDevicePixelRatio(mDevicePixelRatio); +#endif +} +#endif // QCP_OPENGL_FBO +/* end of 'src/paintbuffer.cpp' */ + + +/* including file 'src/layer.cpp', size 37064 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLayer +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLayer + \brief A layer that may contain objects, to control the rendering order + + The Layering system of QCustomPlot is the mechanism to control the rendering order of the + elements inside the plot. + + It is based on the two classes QCPLayer and QCPLayerable. QCustomPlot holds an ordered list of + one or more instances of QCPLayer (see QCustomPlot::addLayer, QCustomPlot::layer, + QCustomPlot::moveLayer, etc.). When replotting, QCustomPlot goes through the list of layers + bottom to top and successively draws the layerables of the layers into the paint buffer(s). + + A QCPLayer contains an ordered list of QCPLayerable instances. QCPLayerable is an abstract base + class from which almost all visible objects derive, like axes, grids, graphs, items, etc. + + \section qcplayer-defaultlayers Default layers + + Initially, QCustomPlot has six layers: "background", "grid", "main", "axes", "legend" and + "overlay" (in that order). On top is the "overlay" layer, which only contains the QCustomPlot's + selection rect (\ref QCustomPlot::selectionRect). The next two layers "axes" and "legend" contain + the default axes and legend, so they will be drawn above plottables. In the middle, there is the + "main" layer. It is initially empty and set as the current layer (see + QCustomPlot::setCurrentLayer). This means, all new plottables, items etc. are created on this + layer by default. Then comes the "grid" layer which contains the QCPGrid instances (which belong + tightly to QCPAxis, see \ref QCPAxis::grid). The Axis rect background shall be drawn behind + everything else, thus the default QCPAxisRect instance is placed on the "background" layer. Of + course, the layer affiliation of the individual objects can be changed as required (\ref + QCPLayerable::setLayer). + + \section qcplayer-ordering Controlling the rendering order via layers + + Controlling the ordering of layerables in the plot is easy: Create a new layer in the position + you want the layerable to be in, e.g. above "main", with \ref QCustomPlot::addLayer. Then set the + current layer with \ref QCustomPlot::setCurrentLayer to that new layer and finally create the + objects normally. They will be placed on the new layer automatically, due to the current layer + setting. Alternatively you could have also ignored the current layer setting and just moved the + objects with \ref QCPLayerable::setLayer to the desired layer after creating them. + + It is also possible to move whole layers. For example, If you want the grid to be shown in front + of all plottables/items on the "main" layer, just move it above "main" with + QCustomPlot::moveLayer. + + The rendering order within one layer is simply by order of creation or insertion. The item + created last (or added last to the layer), is drawn on top of all other objects on that layer. + + When a layer is deleted, the objects on it are not deleted with it, but fall on the layer below + the deleted layer, see QCustomPlot::removeLayer. + + \section qcplayer-buffering Replotting only a specific layer + + If the layer mode (\ref setMode) is set to \ref lmBuffered, you can replot only this specific + layer by calling \ref replot. In certain situations this can provide better replot performance, + compared with a full replot of all layers. Upon creation of a new layer, the layer mode is + initialized to \ref lmLogical. The only layer that is set to \ref lmBuffered in a new \ref + QCustomPlot instance is the "overlay" layer, containing the selection rect. +*/ + +/* start documentation of inline functions */ + +/*! \fn QList<QCPLayerable*> QCPLayer::children() const + + Returns a list of all layerables on this layer. The order corresponds to the rendering order: + layerables with higher indices are drawn above layerables with lower indices. +*/ + +/*! \fn int QCPLayer::index() const + + Returns the index this layer has in the QCustomPlot. The index is the integer number by which this layer can be + accessed via \ref QCustomPlot::layer. + + Layers with higher indices will be drawn above layers with lower indices. +*/ + +/* end documentation of inline functions */ + +/*! + Creates a new QCPLayer instance. + + Normally you shouldn't directly instantiate layers, use \ref QCustomPlot::addLayer instead. + + \warning It is not checked that \a layerName is actually a unique layer name in \a parentPlot. + This check is only performed by \ref QCustomPlot::addLayer. +*/ +QCPLayer::QCPLayer(QCustomPlot *parentPlot, const QString &layerName) : + QObject(parentPlot), + mParentPlot(parentPlot), + mName(layerName), + mIndex(-1), // will be set to a proper value by the QCustomPlot layer creation function + mVisible(true), + mMode(lmLogical) +{ + // Note: no need to make sure layerName is unique, because layer + // management is done with QCustomPlot functions. +} + +QCPLayer::~QCPLayer() +{ + // If child layerables are still on this layer, detach them, so they don't try to reach back to this + // then invalid layer once they get deleted/moved themselves. This only happens when layers are deleted + // directly, like in the QCustomPlot destructor. (The regular layer removal procedure for the user is to + // call QCustomPlot::removeLayer, which moves all layerables off this layer before deleting it.) + + while (!mChildren.isEmpty()) + mChildren.last()->setLayer(0); // removes itself from mChildren via removeChild() + + if (mParentPlot->currentLayer() == this) + qDebug() << Q_FUNC_INFO << "The parent plot's mCurrentLayer will be a dangling pointer. Should have been set to a valid layer or 0 beforehand."; +} + +/*! + Sets whether this layer is visible or not. If \a visible is set to false, all layerables on this + layer will be invisible. + + This function doesn't change the visibility property of the layerables (\ref + QCPLayerable::setVisible), but the \ref QCPLayerable::realVisibility of each layerable takes the + visibility of the parent layer into account. +*/ +void QCPLayer::setVisible(bool visible) +{ + mVisible = visible; +} + +/*! + Sets the rendering mode of this layer. + + If \a mode is set to \ref lmBuffered for a layer, it will be given a dedicated paint buffer by + the parent QCustomPlot instance. This means it may be replotted individually by calling \ref + QCPLayer::replot, without needing to replot all other layers. + + Layers which are set to \ref lmLogical (the default) are used only to define the rendering order + and can't be replotted individually. + + Note that each layer which is set to \ref lmBuffered requires additional paint buffers for the + layers below, above and for the layer itself. This increases the memory consumption and + (slightly) decreases the repainting speed because multiple paint buffers need to be joined. So + you should carefully choose which layers benefit from having their own paint buffer. A typical + example would be a layer which contains certain layerables (e.g. items) that need to be changed + and thus replotted regularly, while all other layerables on other layers stay static. By default, + only the topmost layer called "overlay" is in mode \ref lmBuffered, and contains the selection + rect. + + \see replot +*/ +void QCPLayer::setMode(QCPLayer::LayerMode mode) +{ + if (mMode != mode) + { + mMode = mode; + if (!mPaintBuffer.isNull()) + mPaintBuffer.data()->setInvalidated(); + } +} + +/*! \internal + + Draws the contents of this layer with the provided \a painter. + + \see replot, drawToPaintBuffer +*/ +void QCPLayer::draw(QCPPainter *painter) +{ + foreach (QCPLayerable *child, mChildren) + { + if (child->realVisibility()) + { + painter->save(); + painter->setClipRect(child->clipRect().translated(0, -1)); + child->applyDefaultAntialiasingHint(painter); + child->draw(painter); + painter->restore(); + } + } +} + +/*! \internal + + Draws the contents of this layer into the paint buffer which is associated with this layer. The + association is established by the parent QCustomPlot, which manages all paint buffers (see \ref + QCustomPlot::setupPaintBuffers). + + \see draw +*/ +void QCPLayer::drawToPaintBuffer() +{ + if (!mPaintBuffer.isNull()) + { + if (QCPPainter *painter = mPaintBuffer.data()->startPainting()) + { + if (painter->isActive()) + draw(painter); + else + qDebug() << Q_FUNC_INFO << "paint buffer returned inactive painter"; + delete painter; + mPaintBuffer.data()->donePainting(); + } else + qDebug() << Q_FUNC_INFO << "paint buffer returned zero painter"; + } else + qDebug() << Q_FUNC_INFO << "no valid paint buffer associated with this layer"; +} + +/*! + If the layer mode (\ref setMode) is set to \ref lmBuffered, this method allows replotting only + the layerables on this specific layer, without the need to replot all other layers (as a call to + \ref QCustomPlot::replot would do). + + If the layer mode is \ref lmLogical however, this method simply calls \ref QCustomPlot::replot on + the parent QCustomPlot instance. + + QCustomPlot also makes sure to replot all layers instead of only this one, if the layer ordering + has changed since the last full replot and the other paint buffers were thus invalidated. + + \see draw +*/ +void QCPLayer::replot() +{ + if (mMode == lmBuffered && !mParentPlot->hasInvalidatedPaintBuffers()) + { + if (!mPaintBuffer.isNull()) + { + mPaintBuffer.data()->clear(Qt::transparent); + drawToPaintBuffer(); + mPaintBuffer.data()->setInvalidated(false); + mParentPlot->update(); + } else + qDebug() << Q_FUNC_INFO << "no valid paint buffer associated with this layer"; + } else if (mMode == lmLogical) + mParentPlot->replot(); +} + +/*! \internal + + Adds the \a layerable to the list of this layer. If \a prepend is set to true, the layerable will + be prepended to the list, i.e. be drawn beneath the other layerables already in the list. + + This function does not change the \a mLayer member of \a layerable to this layer. (Use + QCPLayerable::setLayer to change the layer of an object, not this function.) + + \see removeChild +*/ +void QCPLayer::addChild(QCPLayerable *layerable, bool prepend) +{ + if (!mChildren.contains(layerable)) + { + if (prepend) + mChildren.prepend(layerable); + else + mChildren.append(layerable); + if (!mPaintBuffer.isNull()) + mPaintBuffer.data()->setInvalidated(); + } else + qDebug() << Q_FUNC_INFO << "layerable is already child of this layer" << reinterpret_cast<quintptr>(layerable); +} + +/*! \internal + + Removes the \a layerable from the list of this layer. + + This function does not change the \a mLayer member of \a layerable. (Use QCPLayerable::setLayer + to change the layer of an object, not this function.) + + \see addChild +*/ +void QCPLayer::removeChild(QCPLayerable *layerable) +{ + if (mChildren.removeOne(layerable)) + { + if (!mPaintBuffer.isNull()) + mPaintBuffer.data()->setInvalidated(); + } else + qDebug() << Q_FUNC_INFO << "layerable is not child of this layer" << reinterpret_cast<quintptr>(layerable); +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLayerable +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLayerable + \brief Base class for all drawable objects + + This is the abstract base class most visible objects derive from, e.g. plottables, axes, grid + etc. + + Every layerable is on a layer (QCPLayer) which allows controlling the rendering order by stacking + the layers accordingly. + + For details about the layering mechanism, see the QCPLayer documentation. +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPLayerable *QCPLayerable::parentLayerable() const + + Returns the parent layerable of this layerable. The parent layerable is used to provide + visibility hierarchies in conjunction with the method \ref realVisibility. This way, layerables + only get drawn if their parent layerables are visible, too. + + Note that a parent layerable is not necessarily also the QObject parent for memory management. + Further, a layerable doesn't always have a parent layerable, so this function may return 0. + + A parent layerable is set implicitly when placed inside layout elements and doesn't need to be + set manually by the user. +*/ + +/* end documentation of inline functions */ +/* start documentation of pure virtual functions */ + +/*! \fn virtual void QCPLayerable::applyDefaultAntialiasingHint(QCPPainter *painter) const = 0 + \internal + + This function applies the default antialiasing setting to the specified \a painter, using the + function \ref applyAntialiasingHint. It is the antialiasing state the painter is put in, when + \ref draw is called on the layerable. If the layerable has multiple entities whose antialiasing + setting may be specified individually, this function should set the antialiasing state of the + most prominent entity. In this case however, the \ref draw function usually calls the specialized + versions of this function before drawing each entity, effectively overriding the setting of the + default antialiasing hint. + + <b>First example:</b> QCPGraph has multiple entities that have an antialiasing setting: The graph + line, fills and scatters. Those can be configured via QCPGraph::setAntialiased, + QCPGraph::setAntialiasedFill and QCPGraph::setAntialiasedScatters. Consequently, there isn't only + the QCPGraph::applyDefaultAntialiasingHint function (which corresponds to the graph line's + antialiasing), but specialized ones like QCPGraph::applyFillAntialiasingHint and + QCPGraph::applyScattersAntialiasingHint. So before drawing one of those entities, QCPGraph::draw + calls the respective specialized applyAntialiasingHint function. + + <b>Second example:</b> QCPItemLine consists only of a line so there is only one antialiasing + setting which can be controlled with QCPItemLine::setAntialiased. (This function is inherited by + all layerables. The specialized functions, as seen on QCPGraph, must be added explicitly to the + respective layerable subclass.) Consequently it only has the normal + QCPItemLine::applyDefaultAntialiasingHint. The \ref QCPItemLine::draw function doesn't need to + care about setting any antialiasing states, because the default antialiasing hint is already set + on the painter when the \ref draw function is called, and that's the state it wants to draw the + line with. +*/ + +/*! \fn virtual void QCPLayerable::draw(QCPPainter *painter) const = 0 + \internal + + This function draws the layerable with the specified \a painter. It is only called by + QCustomPlot, if the layerable is visible (\ref setVisible). + + Before this function is called, the painter's antialiasing state is set via \ref + applyDefaultAntialiasingHint, see the documentation there. Further, the clipping rectangle was + set to \ref clipRect. +*/ + +/* end documentation of pure virtual functions */ +/* start documentation of signals */ + +/*! \fn void QCPLayerable::layerChanged(QCPLayer *newLayer); + + This signal is emitted when the layer of this layerable changes, i.e. this layerable is moved to + a different layer. + + \see setLayer +*/ + +/* end documentation of signals */ + +/*! + Creates a new QCPLayerable instance. + + Since QCPLayerable is an abstract base class, it can't be instantiated directly. Use one of the + derived classes. + + If \a plot is provided, it automatically places itself on the layer named \a targetLayer. If \a + targetLayer is an empty string, it places itself on the current layer of the plot (see \ref + QCustomPlot::setCurrentLayer). + + It is possible to provide 0 as \a plot. In that case, you should assign a parent plot at a later + time with \ref initializeParentPlot. + + The layerable's parent layerable is set to \a parentLayerable, if provided. Direct layerable + parents are mainly used to control visibility in a hierarchy of layerables. This means a + layerable is only drawn, if all its ancestor layerables are also visible. Note that \a + parentLayerable does not become the QObject-parent (for memory management) of this layerable, \a + plot does. It is not uncommon to set the QObject-parent to something else in the constructors of + QCPLayerable subclasses, to guarantee a working destruction hierarchy. +*/ +QCPLayerable::QCPLayerable(QCustomPlot *plot, QString targetLayer, QCPLayerable *parentLayerable) : + QObject(plot), + mVisible(true), + mParentPlot(plot), + mParentLayerable(parentLayerable), + mLayer(0), + mAntialiased(true) +{ + if (mParentPlot) + { + if (targetLayer.isEmpty()) + setLayer(mParentPlot->currentLayer()); + else if (!setLayer(targetLayer)) + qDebug() << Q_FUNC_INFO << "setting QCPlayerable initial layer to" << targetLayer << "failed."; + } +} + +QCPLayerable::~QCPLayerable() +{ + if (mLayer) + { + mLayer->removeChild(this); + mLayer = 0; + } +} + +/*! + Sets the visibility of this layerable object. If an object is not visible, it will not be drawn + on the QCustomPlot surface, and user interaction with it (e.g. click and selection) is not + possible. +*/ +void QCPLayerable::setVisible(bool on) +{ + mVisible = on; +} + +/*! + Sets the \a layer of this layerable object. The object will be placed on top of the other objects + already on \a layer. + + If \a layer is 0, this layerable will not be on any layer and thus not appear in the plot (or + interact/receive events). + + Returns true if the layer of this layerable was successfully changed to \a layer. +*/ +bool QCPLayerable::setLayer(QCPLayer *layer) +{ + return moveToLayer(layer, false); +} + +/*! \overload + Sets the layer of this layerable object by name + + Returns true on success, i.e. if \a layerName is a valid layer name. +*/ +bool QCPLayerable::setLayer(const QString &layerName) +{ + if (!mParentPlot) + { + qDebug() << Q_FUNC_INFO << "no parent QCustomPlot set"; + return false; + } + if (QCPLayer *layer = mParentPlot->layer(layerName)) + { + return setLayer(layer); + } else + { + qDebug() << Q_FUNC_INFO << "there is no layer with name" << layerName; + return false; + } +} + +/*! + Sets whether this object will be drawn antialiased or not. + + Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and + QCustomPlot::setNotAntialiasedElements. +*/ +void QCPLayerable::setAntialiased(bool enabled) +{ + mAntialiased = enabled; +} + +/*! + Returns whether this layerable is visible, taking the visibility of the layerable parent and the + visibility of this layerable's layer into account. This is the method that is consulted to decide + whether a layerable shall be drawn or not. + + If this layerable has a direct layerable parent (usually set via hierarchies implemented in + subclasses, like in the case of \ref QCPLayoutElement), this function returns true only if this + layerable has its visibility set to true and the parent layerable's \ref realVisibility returns + true. +*/ +bool QCPLayerable::realVisibility() const +{ + return mVisible && (!mLayer || mLayer->visible()) && (!mParentLayerable || mParentLayerable.data()->realVisibility()); +} + +/*! + This function is used to decide whether a click hits a layerable object or not. + + \a pos is a point in pixel coordinates on the QCustomPlot surface. This function returns the + shortest pixel distance of this point to the object. If the object is either invisible or the + distance couldn't be determined, -1.0 is returned. Further, if \a onlySelectable is true and the + object is not selectable, -1.0 is returned, too. + + If the object is represented not by single lines but by an area like a \ref QCPItemText or the + bars of a \ref QCPBars plottable, a click inside the area should also be considered a hit. In + these cases this function thus returns a constant value greater zero but still below the parent + plot's selection tolerance. (typically the selectionTolerance multiplied by 0.99). + + Providing a constant value for area objects allows selecting line objects even when they are + obscured by such area objects, by clicking close to the lines (i.e. closer than + 0.99*selectionTolerance). + + The actual setting of the selection state is not done by this function. This is handled by the + parent QCustomPlot when the mouseReleaseEvent occurs, and the finally selected object is notified + via the \ref selectEvent/\ref deselectEvent methods. + + \a details is an optional output parameter. Every layerable subclass may place any information + in \a details. This information will be passed to \ref selectEvent when the parent QCustomPlot + decides on the basis of this selectTest call, that the object was successfully selected. The + subsequent call to \ref selectEvent will carry the \a details. This is useful for multi-part + objects (like QCPAxis). This way, a possibly complex calculation to decide which part was clicked + is only done once in \ref selectTest. The result (i.e. the actually clicked part) can then be + placed in \a details. So in the subsequent \ref selectEvent, the decision which part was + selected doesn't have to be done a second time for a single selection operation. + + You may pass 0 as \a details to indicate that you are not interested in those selection details. + + \see selectEvent, deselectEvent, mousePressEvent, wheelEvent, QCustomPlot::setInteractions +*/ +double QCPLayerable::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(pos) + Q_UNUSED(onlySelectable) + Q_UNUSED(details) + return -1.0; +} + +/*! \internal + + Sets the parent plot of this layerable. Use this function once to set the parent plot if you have + passed 0 in the constructor. It can not be used to move a layerable from one QCustomPlot to + another one. + + Note that, unlike when passing a non-null parent plot in the constructor, this function does not + make \a parentPlot the QObject-parent of this layerable. If you want this, call + QObject::setParent(\a parentPlot) in addition to this function. + + Further, you will probably want to set a layer (\ref setLayer) after calling this function, to + make the layerable appear on the QCustomPlot. + + The parent plot change will be propagated to subclasses via a call to \ref parentPlotInitialized + so they can react accordingly (e.g. also initialize the parent plot of child layerables, like + QCPLayout does). +*/ +void QCPLayerable::initializeParentPlot(QCustomPlot *parentPlot) +{ + if (mParentPlot) + { + qDebug() << Q_FUNC_INFO << "called with mParentPlot already initialized"; + return; + } + + if (!parentPlot) + qDebug() << Q_FUNC_INFO << "called with parentPlot zero"; + + mParentPlot = parentPlot; + parentPlotInitialized(mParentPlot); +} + +/*! \internal + + Sets the parent layerable of this layerable to \a parentLayerable. Note that \a parentLayerable does not + become the QObject-parent (for memory management) of this layerable. + + The parent layerable has influence on the return value of the \ref realVisibility method. Only + layerables with a fully visible parent tree will return true for \ref realVisibility, and thus be + drawn. + + \see realVisibility +*/ +void QCPLayerable::setParentLayerable(QCPLayerable *parentLayerable) +{ + mParentLayerable = parentLayerable; +} + +/*! \internal + + Moves this layerable object to \a layer. If \a prepend is true, this object will be prepended to + the new layer's list, i.e. it will be drawn below the objects already on the layer. If it is + false, the object will be appended. + + Returns true on success, i.e. if \a layer is a valid layer. +*/ +bool QCPLayerable::moveToLayer(QCPLayer *layer, bool prepend) +{ + if (layer && !mParentPlot) + { + qDebug() << Q_FUNC_INFO << "no parent QCustomPlot set"; + return false; + } + if (layer && layer->parentPlot() != mParentPlot) + { + qDebug() << Q_FUNC_INFO << "layer" << layer->name() << "is not in same QCustomPlot as this layerable"; + return false; + } + + QCPLayer *oldLayer = mLayer; + if (mLayer) + mLayer->removeChild(this); + mLayer = layer; + if (mLayer) + mLayer->addChild(this, prepend); + if (mLayer != oldLayer) + emit layerChanged(mLayer); + return true; +} + +/*! \internal + + Sets the QCPainter::setAntialiasing state on the provided \a painter, depending on the \a + localAntialiased value as well as the overrides \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. Which override enum this function takes into account is + controlled via \a overrideElement. +*/ +void QCPLayerable::applyAntialiasingHint(QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const +{ + if (mParentPlot && mParentPlot->notAntialiasedElements().testFlag(overrideElement)) + painter->setAntialiasing(false); + else if (mParentPlot && mParentPlot->antialiasedElements().testFlag(overrideElement)) + painter->setAntialiasing(true); + else + painter->setAntialiasing(localAntialiased); +} + +/*! \internal + + This function is called by \ref initializeParentPlot, to allow subclasses to react on the setting + of a parent plot. This is the case when 0 was passed as parent plot in the constructor, and the + parent plot is set at a later time. + + For example, QCPLayoutElement/QCPLayout hierarchies may be created independently of any + QCustomPlot at first. When they are then added to a layout inside the QCustomPlot, the top level + element of the hierarchy gets its parent plot initialized with \ref initializeParentPlot. To + propagate the parent plot to all the children of the hierarchy, the top level element then uses + this function to pass the parent plot on to its child elements. + + The default implementation does nothing. + + \see initializeParentPlot +*/ +void QCPLayerable::parentPlotInitialized(QCustomPlot *parentPlot) +{ + Q_UNUSED(parentPlot) +} + +/*! \internal + + Returns the selection category this layerable shall belong to. The selection category is used in + conjunction with \ref QCustomPlot::setInteractions to control which objects are selectable and + which aren't. + + Subclasses that don't fit any of the normal \ref QCP::Interaction values can use \ref + QCP::iSelectOther. This is what the default implementation returns. + + \see QCustomPlot::setInteractions +*/ +QCP::Interaction QCPLayerable::selectionCategory() const +{ + return QCP::iSelectOther; +} + +/*! \internal + + Returns the clipping rectangle of this layerable object. By default, this is the viewport of the + parent QCustomPlot. Specific subclasses may reimplement this function to provide different + clipping rects. + + The returned clipping rect is set on the painter before the draw function of the respective + object is called. +*/ +QRect QCPLayerable::clipRect() const +{ + if (mParentPlot) + return mParentPlot->viewport(); + else + return QRect(); +} + +/*! \internal + + This event is called when the layerable shall be selected, as a consequence of a click by the + user. Subclasses should react to it by setting their selection state appropriately. The default + implementation does nothing. + + \a event is the mouse event that caused the selection. \a additive indicates, whether the user + was holding the multi-select-modifier while performing the selection (see \ref + QCustomPlot::setMultiSelectModifier). if \a additive is true, the selection state must be toggled + (i.e. become selected when unselected and unselected when selected). + + Every selectEvent is preceded by a call to \ref selectTest, which has returned positively (i.e. + returned a value greater than 0 and less than the selection tolerance of the parent QCustomPlot). + The \a details data you output from \ref selectTest is fed back via \a details here. You may + use it to transport any kind of information from the selectTest to the possibly subsequent + selectEvent. Usually \a details is used to transfer which part was clicked, if it is a layerable + that has multiple individually selectable parts (like QCPAxis). This way selectEvent doesn't need + to do the calculation again to find out which part was actually clicked. + + \a selectionStateChanged is an output parameter. If the pointer is non-null, this function must + set the value either to true or false, depending on whether the selection state of this layerable + was actually changed. For layerables that only are selectable as a whole and not in parts, this + is simple: if \a additive is true, \a selectionStateChanged must also be set to true, because the + selection toggles. If \a additive is false, \a selectionStateChanged is only set to true, if the + layerable was previously unselected and now is switched to the selected state. + + \see selectTest, deselectEvent +*/ +void QCPLayerable::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + Q_UNUSED(additive) + Q_UNUSED(details) + Q_UNUSED(selectionStateChanged) +} + +/*! \internal + + This event is called when the layerable shall be deselected, either as consequence of a user + interaction or a call to \ref QCustomPlot::deselectAll. Subclasses should react to it by + unsetting their selection appropriately. + + just as in \ref selectEvent, the output parameter \a selectionStateChanged (if non-null), must + return true or false when the selection state of this layerable has changed or not changed, + respectively. + + \see selectTest, selectEvent +*/ +void QCPLayerable::deselectEvent(bool *selectionStateChanged) +{ + Q_UNUSED(selectionStateChanged) +} + +/*! + This event gets called when the user presses a mouse button while the cursor is over the + layerable. Whether a cursor is over the layerable is decided by a preceding call to \ref + selectTest. + + The current pixel position of the cursor on the QCustomPlot widget is accessible via \c + event->pos(). The parameter \a details contains layerable-specific details about the hit, which + were generated in the previous call to \ref selectTest. For example, One-dimensional plottables + like \ref QCPGraph or \ref QCPBars convey the clicked data point in the \a details parameter, as + \ref QCPDataSelection packed as QVariant. Multi-part objects convey the specific \c + SelectablePart that was hit (e.g. \ref QCPAxis::SelectablePart in the case of axes). + + QCustomPlot uses an event propagation system that works the same as Qt's system. If your + layerable doesn't reimplement the \ref mousePressEvent or explicitly calls \c event->ignore() in + its reimplementation, the event will be propagated to the next layerable in the stacking order. + + Once a layerable has accepted the \ref mousePressEvent, it is considered the mouse grabber and + will receive all following calls to \ref mouseMoveEvent or \ref mouseReleaseEvent for this mouse + interaction (a "mouse interaction" in this context ends with the release). + + The default implementation does nothing except explicitly ignoring the event with \c + event->ignore(). + + \see mouseMoveEvent, mouseReleaseEvent, mouseDoubleClickEvent, wheelEvent +*/ +void QCPLayerable::mousePressEvent(QMouseEvent *event, const QVariant &details) +{ + Q_UNUSED(details) + event->ignore(); +} + +/*! + This event gets called when the user moves the mouse while holding a mouse button, after this + layerable has become the mouse grabber by accepting the preceding \ref mousePressEvent. + + The current pixel position of the cursor on the QCustomPlot widget is accessible via \c + event->pos(). The parameter \a startPos indicates the position where the initial \ref + mousePressEvent occured, that started the mouse interaction. + + The default implementation does nothing. + + \see mousePressEvent, mouseReleaseEvent, mouseDoubleClickEvent, wheelEvent +*/ +void QCPLayerable::mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) +{ + Q_UNUSED(startPos) + event->ignore(); +} + +/*! + This event gets called when the user releases the mouse button, after this layerable has become + the mouse grabber by accepting the preceding \ref mousePressEvent. + + The current pixel position of the cursor on the QCustomPlot widget is accessible via \c + event->pos(). The parameter \a startPos indicates the position where the initial \ref + mousePressEvent occured, that started the mouse interaction. + + The default implementation does nothing. + + \see mousePressEvent, mouseMoveEvent, mouseDoubleClickEvent, wheelEvent +*/ +void QCPLayerable::mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) +{ + Q_UNUSED(startPos) + event->ignore(); +} + +/*! + This event gets called when the user presses the mouse button a second time in a double-click, + while the cursor is over the layerable. Whether a cursor is over the layerable is decided by a + preceding call to \ref selectTest. + + The \ref mouseDoubleClickEvent is called instead of the second \ref mousePressEvent. So in the + case of a double-click, the event succession is + <i>pressEvent &ndash; releaseEvent &ndash; doubleClickEvent &ndash; releaseEvent</i>. + + The current pixel position of the cursor on the QCustomPlot widget is accessible via \c + event->pos(). The parameter \a details contains layerable-specific details about the hit, which + were generated in the previous call to \ref selectTest. For example, One-dimensional plottables + like \ref QCPGraph or \ref QCPBars convey the clicked data point in the \a details parameter, as + \ref QCPDataSelection packed as QVariant. Multi-part objects convey the specific \c + SelectablePart that was hit (e.g. \ref QCPAxis::SelectablePart in the case of axes). + + Similarly to \ref mousePressEvent, once a layerable has accepted the \ref mouseDoubleClickEvent, + it is considered the mouse grabber and will receive all following calls to \ref mouseMoveEvent + and \ref mouseReleaseEvent for this mouse interaction (a "mouse interaction" in this context ends + with the release). + + The default implementation does nothing except explicitly ignoring the event with \c + event->ignore(). + + \see mousePressEvent, mouseMoveEvent, mouseReleaseEvent, wheelEvent +*/ +void QCPLayerable::mouseDoubleClickEvent(QMouseEvent *event, const QVariant &details) +{ + Q_UNUSED(details) + event->ignore(); +} + +/*! + This event gets called when the user turns the mouse scroll wheel while the cursor is over the + layerable. Whether a cursor is over the layerable is decided by a preceding call to \ref + selectTest. + + The current pixel position of the cursor on the QCustomPlot widget is accessible via \c + event->pos(). + + The \c event->delta() indicates how far the mouse wheel was turned, which is usually +/- 120 for + single rotation steps. However, if the mouse wheel is turned rapidly, multiple steps may + accumulate to one event, making \c event->delta() larger. On the other hand, if the wheel has + very smooth steps or none at all, the delta may be smaller. + + The default implementation does nothing. + + \see mousePressEvent, mouseMoveEvent, mouseReleaseEvent, mouseDoubleClickEvent +*/ +void QCPLayerable::wheelEvent(QWheelEvent *event) +{ + event->ignore(); +} +/* end of 'src/layer.cpp' */ + + +/* including file 'src/axis/range.cpp', size 12221 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPRange +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPRange + \brief Represents the range an axis is encompassing. + + contains a \a lower and \a upper double value and provides convenience input, output and + modification functions. + + \see QCPAxis::setRange +*/ + +/* start of documentation of inline functions */ + +/*! \fn double QCPRange::size() const + + Returns the size of the range, i.e. \a upper-\a lower +*/ + +/*! \fn double QCPRange::center() const + + Returns the center of the range, i.e. (\a upper+\a lower)*0.5 +*/ + +/*! \fn void QCPRange::normalize() + + Makes sure \a lower is numerically smaller than \a upper. If this is not the case, the values are + swapped. +*/ + +/*! \fn bool QCPRange::contains(double value) const + + Returns true when \a value lies within or exactly on the borders of the range. +*/ + +/*! \fn QCPRange &QCPRange::operator+=(const double& value) + + Adds \a value to both boundaries of the range. +*/ + +/*! \fn QCPRange &QCPRange::operator-=(const double& value) + + Subtracts \a value from both boundaries of the range. +*/ + +/*! \fn QCPRange &QCPRange::operator*=(const double& value) + + Multiplies both boundaries of the range by \a value. +*/ + +/*! \fn QCPRange &QCPRange::operator/=(const double& value) + + Divides both boundaries of the range by \a value. +*/ + +/* end of documentation of inline functions */ + +/*! + Minimum range size (\a upper - \a lower) the range changing functions will accept. Smaller + intervals would cause errors due to the 11-bit exponent of double precision numbers, + corresponding to a minimum magnitude of roughly 1e-308. + + \warning Do not use this constant to indicate "arbitrarily small" values in plotting logic (as + values that will appear in the plot)! It is intended only as a bound to compare against, e.g. to + prevent axis ranges from obtaining underflowing ranges. + + \see validRange, maxRange +*/ +const double QCPRange::minRange = 1e-280; + +/*! + Maximum values (negative and positive) the range will accept in range-changing functions. + Larger absolute values would cause errors due to the 11-bit exponent of double precision numbers, + corresponding to a maximum magnitude of roughly 1e308. + + \warning Do not use this constant to indicate "arbitrarily large" values in plotting logic (as + values that will appear in the plot)! It is intended only as a bound to compare against, e.g. to + prevent axis ranges from obtaining overflowing ranges. + + \see validRange, minRange +*/ +const double QCPRange::maxRange = 1e250; + +/*! + Constructs a range with \a lower and \a upper set to zero. +*/ +QCPRange::QCPRange() : + lower(0), + upper(0) +{ +} + +/*! \overload + + Constructs a range with the specified \a lower and \a upper values. + + The resulting range will be normalized (see \ref normalize), so if \a lower is not numerically + smaller than \a upper, they will be swapped. +*/ +QCPRange::QCPRange(double lower, double upper) : + lower(lower), + upper(upper) +{ + normalize(); +} + +/*! \overload + + Expands this range such that \a otherRange is contained in the new range. It is assumed that both + this range and \a otherRange are normalized (see \ref normalize). + + If this range contains NaN as lower or upper bound, it will be replaced by the respective bound + of \a otherRange. + + If \a otherRange is already inside the current range, this function does nothing. + + \see expanded +*/ +void QCPRange::expand(const QCPRange &otherRange) +{ + if (lower > otherRange.lower || qIsNaN(lower)) + lower = otherRange.lower; + if (upper < otherRange.upper || qIsNaN(upper)) + upper = otherRange.upper; +} + +/*! \overload + + Expands this range such that \a includeCoord is contained in the new range. It is assumed that + this range is normalized (see \ref normalize). + + If this range contains NaN as lower or upper bound, the respective bound will be set to \a + includeCoord. + + If \a includeCoord is already inside the current range, this function does nothing. + + \see expand +*/ +void QCPRange::expand(double includeCoord) +{ + if (lower > includeCoord || qIsNaN(lower)) + lower = includeCoord; + if (upper < includeCoord || qIsNaN(upper)) + upper = includeCoord; +} + + +/*! \overload + + Returns an expanded range that contains this and \a otherRange. It is assumed that both this + range and \a otherRange are normalized (see \ref normalize). + + If this range contains NaN as lower or upper bound, the returned range's bound will be taken from + \a otherRange. + + \see expand +*/ +QCPRange QCPRange::expanded(const QCPRange &otherRange) const +{ + QCPRange result = *this; + result.expand(otherRange); + return result; +} + +/*! \overload + + Returns an expanded range that includes the specified \a includeCoord. It is assumed that this + range is normalized (see \ref normalize). + + If this range contains NaN as lower or upper bound, the returned range's bound will be set to \a + includeCoord. + + \see expand +*/ +QCPRange QCPRange::expanded(double includeCoord) const +{ + QCPRange result = *this; + result.expand(includeCoord); + return result; +} + +/*! + Returns this range, possibly modified to not exceed the bounds provided as \a lowerBound and \a + upperBound. If possible, the size of the current range is preserved in the process. + + If the range shall only be bounded at the lower side, you can set \a upperBound to \ref + QCPRange::maxRange. If it shall only be bounded at the upper side, set \a lowerBound to -\ref + QCPRange::maxRange. +*/ +QCPRange QCPRange::bounded(double lowerBound, double upperBound) const +{ + if (lowerBound > upperBound) + qSwap(lowerBound, upperBound); + + QCPRange result(lower, upper); + if (result.lower < lowerBound) + { + result.lower = lowerBound; + result.upper = lowerBound + size(); + if (result.upper > upperBound || qFuzzyCompare(size(), upperBound-lowerBound)) + result.upper = upperBound; + } else if (result.upper > upperBound) + { + result.upper = upperBound; + result.lower = upperBound - size(); + if (result.lower < lowerBound || qFuzzyCompare(size(), upperBound-lowerBound)) + result.lower = lowerBound; + } + + return result; +} + +/*! + Returns a sanitized version of the range. Sanitized means for logarithmic scales, that + the range won't span the positive and negative sign domain, i.e. contain zero. Further + \a lower will always be numerically smaller (or equal) to \a upper. + + If the original range does span positive and negative sign domains or contains zero, + the returned range will try to approximate the original range as good as possible. + If the positive interval of the original range is wider than the negative interval, the + returned range will only contain the positive interval, with lower bound set to \a rangeFac or + \a rangeFac *\a upper, whichever is closer to zero. Same procedure is used if the negative interval + is wider than the positive interval, this time by changing the \a upper bound. +*/ +QCPRange QCPRange::sanitizedForLogScale() const +{ + double rangeFac = 1e-3; + QCPRange sanitizedRange(lower, upper); + sanitizedRange.normalize(); + // can't have range spanning negative and positive values in log plot, so change range to fix it + //if (qFuzzyCompare(sanitizedRange.lower+1, 1) && !qFuzzyCompare(sanitizedRange.upper+1, 1)) + if (sanitizedRange.lower == 0.0 && sanitizedRange.upper != 0.0) + { + // case lower is 0 + if (rangeFac < sanitizedRange.upper*rangeFac) + sanitizedRange.lower = rangeFac; + else + sanitizedRange.lower = sanitizedRange.upper*rangeFac; + } //else if (!qFuzzyCompare(lower+1, 1) && qFuzzyCompare(upper+1, 1)) + else if (sanitizedRange.lower != 0.0 && sanitizedRange.upper == 0.0) + { + // case upper is 0 + if (-rangeFac > sanitizedRange.lower*rangeFac) + sanitizedRange.upper = -rangeFac; + else + sanitizedRange.upper = sanitizedRange.lower*rangeFac; + } else if (sanitizedRange.lower < 0 && sanitizedRange.upper > 0) + { + // find out whether negative or positive interval is wider to decide which sign domain will be chosen + if (-sanitizedRange.lower > sanitizedRange.upper) + { + // negative is wider, do same as in case upper is 0 + if (-rangeFac > sanitizedRange.lower*rangeFac) + sanitizedRange.upper = -rangeFac; + else + sanitizedRange.upper = sanitizedRange.lower*rangeFac; + } else + { + // positive is wider, do same as in case lower is 0 + if (rangeFac < sanitizedRange.upper*rangeFac) + sanitizedRange.lower = rangeFac; + else + sanitizedRange.lower = sanitizedRange.upper*rangeFac; + } + } + // due to normalization, case lower>0 && upper<0 should never occur, because that implies upper<lower + return sanitizedRange; +} + +/*! + Returns a sanitized version of the range. Sanitized means for linear scales, that + \a lower will always be numerically smaller (or equal) to \a upper. +*/ +QCPRange QCPRange::sanitizedForLinScale() const +{ + QCPRange sanitizedRange(lower, upper); + sanitizedRange.normalize(); + return sanitizedRange; +} + +/*! + Checks, whether the specified range is within valid bounds, which are defined + as QCPRange::maxRange and QCPRange::minRange. + A valid range means: + \li range bounds within -maxRange and maxRange + \li range size above minRange + \li range size below maxRange +*/ +bool QCPRange::validRange(double lower, double upper) +{ + return (lower > -maxRange && + upper < maxRange && + qAbs(lower-upper) > minRange && + qAbs(lower-upper) < maxRange && + !(lower > 0 && qIsInf(upper/lower)) && + !(upper < 0 && qIsInf(lower/upper))); +} + +/*! + \overload + Checks, whether the specified range is within valid bounds, which are defined + as QCPRange::maxRange and QCPRange::minRange. + A valid range means: + \li range bounds within -maxRange and maxRange + \li range size above minRange + \li range size below maxRange +*/ +bool QCPRange::validRange(const QCPRange &range) +{ + return (range.lower > -maxRange && + range.upper < maxRange && + qAbs(range.lower-range.upper) > minRange && + qAbs(range.lower-range.upper) < maxRange && + !(range.lower > 0 && qIsInf(range.upper/range.lower)) && + !(range.upper < 0 && qIsInf(range.lower/range.upper))); +} +/* end of 'src/axis/range.cpp' */ + + +/* including file 'src/selection.cpp', size 21906 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPDataRange +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPDataRange + \brief Describes a data range given by begin and end index + + QCPDataRange holds two integers describing the begin (\ref setBegin) and end (\ref setEnd) index + of a contiguous set of data points. The end index points to the data point above the last data point that's part of + the data range, similarly to the nomenclature used in standard iterators. + + Data Ranges are not bound to a certain plottable, thus they can be freely exchanged, created and + modified. If a non-contiguous data set shall be described, the class \ref QCPDataSelection is + used, which holds and manages multiple instances of \ref QCPDataRange. In most situations, \ref + QCPDataSelection is thus used. + + Both \ref QCPDataRange and \ref QCPDataSelection offer convenience methods to work with them, + e.g. \ref bounded, \ref expanded, \ref intersects, \ref intersection, \ref adjusted, \ref + contains. Further, addition and subtraction operators (defined in \ref QCPDataSelection) can be + used to join/subtract data ranges and data selections (or mixtures), to retrieve a corresponding + \ref QCPDataSelection. + + %QCustomPlot's \ref dataselection "data selection mechanism" is based on \ref QCPDataSelection and + QCPDataRange. + + \note Do not confuse \ref QCPDataRange with \ref QCPRange. A \ref QCPRange describes an interval + in floating point plot coordinates, e.g. the current axis range. +*/ + +/* start documentation of inline functions */ + +/*! \fn int QCPDataRange::size() const + + Returns the number of data points described by this data range. This is equal to the end index + minus the begin index. + + \see length +*/ + +/*! \fn int QCPDataRange::length() const + + Returns the number of data points described by this data range. Equivalent to \ref size. +*/ + +/*! \fn void QCPDataRange::setBegin(int begin) + + Sets the begin of this data range. The \a begin index points to the first data point that is part + of the data range. + + No checks or corrections are made to ensure the resulting range is valid (\ref isValid). + + \see setEnd +*/ + +/*! \fn void QCPDataRange::setEnd(int end) + + Sets the end of this data range. The \a end index points to the data point just above the last + data point that is part of the data range. + + No checks or corrections are made to ensure the resulting range is valid (\ref isValid). + + \see setBegin +*/ + +/*! \fn bool QCPDataRange::isValid() const + + Returns whether this range is valid. A valid range has a begin index greater or equal to 0, and + an end index greater or equal to the begin index. + + \note Invalid ranges should be avoided and are never the result of any of QCustomPlot's methods + (unless they are themselves fed with invalid ranges). Do not pass invalid ranges to QCustomPlot's + methods. The invalid range is not inherently prevented in QCPDataRange, to allow temporary + invalid begin/end values while manipulating the range. An invalid range is not necessarily empty + (\ref isEmpty), since its \ref length can be negative and thus non-zero. +*/ + +/*! \fn bool QCPDataRange::isEmpty() const + + Returns whether this range is empty, i.e. whether its begin index equals its end index. + + \see size, length +*/ + +/*! \fn QCPDataRange QCPDataRange::adjusted(int changeBegin, int changeEnd) const + + Returns a data range where \a changeBegin and \a changeEnd were added to the begin and end + indices, respectively. +*/ + +/* end documentation of inline functions */ + +/*! + Creates an empty QCPDataRange, with begin and end set to 0. +*/ +QCPDataRange::QCPDataRange() : + mBegin(0), + mEnd(0) +{ +} + +/*! + Creates a QCPDataRange, initialized with the specified \a begin and \a end. + + No checks or corrections are made to ensure the resulting range is valid (\ref isValid). +*/ +QCPDataRange::QCPDataRange(int begin, int end) : + mBegin(begin), + mEnd(end) +{ +} + +/*! + Returns a data range that matches this data range, except that parts exceeding \a other are + excluded. + + This method is very similar to \ref intersection, with one distinction: If this range and the \a + other range share no intersection, the returned data range will be empty with begin and end set + to the respective boundary side of \a other, at which this range is residing. (\ref intersection + would just return a range with begin and end set to 0.) +*/ +QCPDataRange QCPDataRange::bounded(const QCPDataRange &other) const +{ + QCPDataRange result(intersection(other)); + if (result.isEmpty()) // no intersection, preserve respective bounding side of otherRange as both begin and end of return value + { + if (mEnd <= other.mBegin) + result = QCPDataRange(other.mBegin, other.mBegin); + else + result = QCPDataRange(other.mEnd, other.mEnd); + } + return result; +} + +/*! + Returns a data range that contains both this data range as well as \a other. +*/ +QCPDataRange QCPDataRange::expanded(const QCPDataRange &other) const +{ + return QCPDataRange(qMin(mBegin, other.mBegin), qMax(mEnd, other.mEnd)); +} + +/*! + Returns the data range which is contained in both this data range and \a other. + + This method is very similar to \ref bounded, with one distinction: If this range and the \a other + range share no intersection, the returned data range will be empty with begin and end set to 0. + (\ref bounded would return a range with begin and end set to one of the boundaries of \a other, + depending on which side this range is on.) + + \see QCPDataSelection::intersection +*/ +QCPDataRange QCPDataRange::intersection(const QCPDataRange &other) const +{ + QCPDataRange result(qMax(mBegin, other.mBegin), qMin(mEnd, other.mEnd)); + if (result.isValid()) + return result; + else + return QCPDataRange(); +} + +/*! + Returns whether this data range and \a other share common data points. + + \see intersection, contains +*/ +bool QCPDataRange::intersects(const QCPDataRange &other) const +{ + return !( (mBegin > other.mBegin && mBegin >= other.mEnd) || + (mEnd <= other.mBegin && mEnd < other.mEnd) ); +} + +/*! + Returns whether all data points described by this data range are also in \a other. + + \see intersects +*/ +bool QCPDataRange::contains(const QCPDataRange &other) const +{ + return mBegin <= other.mBegin && mEnd >= other.mEnd; +} + + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPDataSelection +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPDataSelection + \brief Describes a data set by holding multiple QCPDataRange instances + + QCPDataSelection manages multiple instances of QCPDataRange in order to represent any (possibly + disjoint) set of data selection. + + The data selection can be modified with addition and subtraction operators which take + QCPDataSelection and QCPDataRange instances, as well as methods such as \ref addDataRange and + \ref clear. Read access is provided by \ref dataRange, \ref dataRanges, \ref dataRangeCount, etc. + + The method \ref simplify is used to join directly adjacent or even overlapping QCPDataRange + instances. QCPDataSelection automatically simplifies when using the addition/subtraction + operators. The only case when \ref simplify is left to the user, is when calling \ref + addDataRange, with the parameter \a simplify explicitly set to false. This is useful if many data + ranges will be added to the selection successively and the overhead for simplifying after each + iteration shall be avoided. In this case, you should make sure to call \ref simplify after + completing the operation. + + Use \ref enforceType to bring the data selection into a state complying with the constraints for + selections defined in \ref QCP::SelectionType. + + %QCustomPlot's \ref dataselection "data selection mechanism" is based on QCPDataSelection and + QCPDataRange. + + \section qcpdataselection-iterating Iterating over a data selection + + As an example, the following code snippet calculates the average value of a graph's data + \ref QCPAbstractPlottable::selection "selection": + + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpdataselection-iterating-1 + +*/ + +/* start documentation of inline functions */ + +/*! \fn int QCPDataSelection::dataRangeCount() const + + Returns the number of ranges that make up the data selection. The ranges can be accessed by \ref + dataRange via their index. + + \see dataRange, dataPointCount +*/ + +/*! \fn QList<QCPDataRange> QCPDataSelection::dataRanges() const + + Returns all data ranges that make up the data selection. If the data selection is simplified (the + usual state of the selection, see \ref simplify), the ranges are sorted by ascending data point + index. + + \see dataRange +*/ + +/*! \fn bool QCPDataSelection::isEmpty() const + + Returns true if there are no data ranges, and thus no data points, in this QCPDataSelection + instance. + + \see dataRangeCount +*/ + +/* end documentation of inline functions */ + +/*! + Creates an empty QCPDataSelection. +*/ +QCPDataSelection::QCPDataSelection() +{ +} + +/*! + Creates a QCPDataSelection containing the provided \a range. +*/ +QCPDataSelection::QCPDataSelection(const QCPDataRange &range) +{ + mDataRanges.append(range); +} + +/*! + Returns true if this selection is identical (contains the same data ranges with the same begin + and end indices) to \a other. + + Note that both data selections must be in simplified state (the usual state of the selection, see + \ref simplify) for this operator to return correct results. +*/ +bool QCPDataSelection::operator==(const QCPDataSelection &other) const +{ + if (mDataRanges.size() != other.mDataRanges.size()) + return false; + for (int i=0; i<mDataRanges.size(); ++i) + { + if (mDataRanges.at(i) != other.mDataRanges.at(i)) + return false; + } + return true; +} + +/*! + Adds the data selection of \a other to this data selection, and then simplifies this data + selection (see \ref simplify). +*/ +QCPDataSelection &QCPDataSelection::operator+=(const QCPDataSelection &other) +{ + mDataRanges << other.mDataRanges; + simplify(); + return *this; +} + +/*! + Adds the data range \a other to this data selection, and then simplifies this data selection (see + \ref simplify). +*/ +QCPDataSelection &QCPDataSelection::operator+=(const QCPDataRange &other) +{ + addDataRange(other); + return *this; +} + +/*! + Removes all data point indices that are described by \a other from this data selection. +*/ +QCPDataSelection &QCPDataSelection::operator-=(const QCPDataSelection &other) +{ + for (int i=0; i<other.dataRangeCount(); ++i) + *this -= other.dataRange(i); + + return *this; +} + +/*! + Removes all data point indices that are described by \a other from this data selection. +*/ +QCPDataSelection &QCPDataSelection::operator-=(const QCPDataRange &other) +{ + if (other.isEmpty() || isEmpty()) + return *this; + + simplify(); + int i=0; + while (i < mDataRanges.size()) + { + const int thisBegin = mDataRanges.at(i).begin(); + const int thisEnd = mDataRanges.at(i).end(); + if (thisBegin >= other.end()) + break; // since data ranges are sorted after the simplify() call, no ranges which contain other will come after this + + if (thisEnd > other.begin()) // ranges which don't fulfill this are entirely before other and can be ignored + { + if (thisBegin >= other.begin()) // range leading segment is encompassed + { + if (thisEnd <= other.end()) // range fully encompassed, remove completely + { + mDataRanges.removeAt(i); + continue; + } else // only leading segment is encompassed, trim accordingly + mDataRanges[i].setBegin(other.end()); + } else // leading segment is not encompassed + { + if (thisEnd <= other.end()) // only trailing segment is encompassed, trim accordingly + { + mDataRanges[i].setEnd(other.begin()); + } else // other lies inside this range, so split range + { + mDataRanges[i].setEnd(other.begin()); + mDataRanges.insert(i+1, QCPDataRange(other.end(), thisEnd)); + break; // since data ranges are sorted (and don't overlap) after simplify() call, we're done here + } + } + } + ++i; + } + + return *this; +} + +/*! + Returns the total number of data points contained in all data ranges that make up this data + selection. +*/ +int QCPDataSelection::dataPointCount() const +{ + int result = 0; + for (int i=0; i<mDataRanges.size(); ++i) + result += mDataRanges.at(i).length(); + return result; +} + +/*! + Returns the data range with the specified \a index. + + If the data selection is simplified (the usual state of the selection, see \ref simplify), the + ranges are sorted by ascending data point index. + + \see dataRangeCount +*/ +QCPDataRange QCPDataSelection::dataRange(int index) const +{ + if (index >= 0 && index < mDataRanges.size()) + { + return mDataRanges.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "index out of range:" << index; + return QCPDataRange(); + } +} + +/*! + Returns a \ref QCPDataRange which spans the entire data selection, including possible + intermediate segments which are not part of the original data selection. +*/ +QCPDataRange QCPDataSelection::span() const +{ + if (isEmpty()) + return QCPDataRange(); + else + return QCPDataRange(mDataRanges.first().begin(), mDataRanges.last().end()); +} + +/*! + Adds the given \a dataRange to this data selection. This is equivalent to the += operator but + allows disabling immediate simplification by setting \a simplify to false. This can improve + performance if adding a very large amount of data ranges successively. In this case, make sure to + call \ref simplify manually, after the operation. +*/ +void QCPDataSelection::addDataRange(const QCPDataRange &dataRange, bool simplify) +{ + mDataRanges.append(dataRange); + if (simplify) + this->simplify(); +} + +/*! + Removes all data ranges. The data selection then contains no data points. + + \ref isEmpty +*/ +void QCPDataSelection::clear() +{ + mDataRanges.clear(); +} + +/*! + Sorts all data ranges by range begin index in ascending order, and then joins directly adjacent + or overlapping ranges. This can reduce the number of individual data ranges in the selection, and + prevents possible double-counting when iterating over the data points held by the data ranges. + + This method is automatically called when using the addition/subtraction operators. The only case + when \ref simplify is left to the user, is when calling \ref addDataRange, with the parameter \a + simplify explicitly set to false. +*/ +void QCPDataSelection::simplify() +{ + // remove any empty ranges: + for (int i=mDataRanges.size()-1; i>=0; --i) + { + if (mDataRanges.at(i).isEmpty()) + mDataRanges.removeAt(i); + } + if (mDataRanges.isEmpty()) + return; + + // sort ranges by starting value, ascending: + std::sort(mDataRanges.begin(), mDataRanges.end(), lessThanDataRangeBegin); + + // join overlapping/contiguous ranges: + int i = 1; + while (i < mDataRanges.size()) + { + if (mDataRanges.at(i-1).end() >= mDataRanges.at(i).begin()) // range i overlaps/joins with i-1, so expand range i-1 appropriately and remove range i from list + { + mDataRanges[i-1].setEnd(qMax(mDataRanges.at(i-1).end(), mDataRanges.at(i).end())); + mDataRanges.removeAt(i); + } else + ++i; + } +} + +/*! + Makes sure this data selection conforms to the specified \a type selection type. Before the type + is enforced, \ref simplify is called. + + Depending on \a type, enforcing means adding new data points that were previously not part of the + selection, or removing data points from the selection. If the current selection already conforms + to \a type, the data selection is not changed. + + \see QCP::SelectionType +*/ +void QCPDataSelection::enforceType(QCP::SelectionType type) +{ + simplify(); + switch (type) + { + case QCP::stNone: + { + mDataRanges.clear(); + break; + } + case QCP::stWhole: + { + // whole selection isn't defined by data range, so don't change anything (is handled in plottable methods) + break; + } + case QCP::stSingleData: + { + // reduce all data ranges to the single first data point: + if (!mDataRanges.isEmpty()) + { + if (mDataRanges.size() > 1) + mDataRanges = QList<QCPDataRange>() << mDataRanges.first(); + if (mDataRanges.first().length() > 1) + mDataRanges.first().setEnd(mDataRanges.first().begin()+1); + } + break; + } + case QCP::stDataRange: + { + mDataRanges = QList<QCPDataRange>() << span(); + break; + } + case QCP::stMultipleDataRanges: + { + // this is the selection type that allows all concievable combinations of ranges, so do nothing + break; + } + } +} + +/*! + Returns true if the data selection \a other is contained entirely in this data selection, i.e. + all data point indices that are in \a other are also in this data selection. + + \see QCPDataRange::contains +*/ +bool QCPDataSelection::contains(const QCPDataSelection &other) const +{ + if (other.isEmpty()) return false; + + int otherIndex = 0; + int thisIndex = 0; + while (thisIndex < mDataRanges.size() && otherIndex < other.mDataRanges.size()) + { + if (mDataRanges.at(thisIndex).contains(other.mDataRanges.at(otherIndex))) + ++otherIndex; + else + ++thisIndex; + } + return thisIndex < mDataRanges.size(); // if thisIndex ran all the way to the end to find a containing range for the current otherIndex, other is not contained in this +} + +/*! + Returns a data selection containing the points which are both in this data selection and in the + data range \a other. + + A common use case is to limit an unknown data selection to the valid range of a data container, + using \ref QCPDataContainer::dataRange as \a other. One can then safely iterate over the returned + data selection without exceeding the data container's bounds. +*/ +QCPDataSelection QCPDataSelection::intersection(const QCPDataRange &other) const +{ + QCPDataSelection result; + for (int i=0; i<mDataRanges.size(); ++i) + result.addDataRange(mDataRanges.at(i).intersection(other), false); + result.simplify(); + return result; +} + +/*! + Returns a data selection containing the points which are both in this data selection and in the + data selection \a other. +*/ +QCPDataSelection QCPDataSelection::intersection(const QCPDataSelection &other) const +{ + QCPDataSelection result; + for (int i=0; i<other.dataRangeCount(); ++i) + result += intersection(other.dataRange(i)); + result.simplify(); + return result; +} + +/*! + Returns a data selection which is the exact inverse of this data selection, with \a outerRange + defining the base range on which to invert. If \a outerRange is smaller than the \ref span of + this data selection, it is expanded accordingly. + + For example, this method can be used to retrieve all unselected segments by setting \a outerRange + to the full data range of the plottable, and calling this method on a data selection holding the + selected segments. +*/ +QCPDataSelection QCPDataSelection::inverse(const QCPDataRange &outerRange) const +{ + if (isEmpty()) + return QCPDataSelection(outerRange); + QCPDataRange fullRange = outerRange.expanded(span()); + + QCPDataSelection result; + // first unselected segment: + if (mDataRanges.first().begin() != fullRange.begin()) + result.addDataRange(QCPDataRange(fullRange.begin(), mDataRanges.first().begin()), false); + // intermediate unselected segments: + for (int i=1; i<mDataRanges.size(); ++i) + result.addDataRange(QCPDataRange(mDataRanges.at(i-1).end(), mDataRanges.at(i).begin()), false); + // last unselected segment: + if (mDataRanges.last().end() != fullRange.end()) + result.addDataRange(QCPDataRange(mDataRanges.last().end(), fullRange.end()), false); + result.simplify(); + return result; +} +/* end of 'src/selection.cpp' */ + + +/* including file 'src/selectionrect.cpp', size 9224 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPSelectionRect +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPSelectionRect + \brief Provides rect/rubber-band data selection and range zoom interaction + + QCPSelectionRect is used by QCustomPlot when the \ref QCustomPlot::setSelectionRectMode is not + \ref QCP::srmNone. When the user drags the mouse across the plot, the current selection rect + instance (\ref QCustomPlot::setSelectionRect) is forwarded these events and makes sure an + according rect shape is drawn. At the begin, during, and after completion of the interaction, it + emits the corresponding signals \ref started, \ref changed, \ref canceled, and \ref accepted. + + The QCustomPlot instance connects own slots to the current selection rect instance, in order to + react to an accepted selection rect interaction accordingly. + + \ref isActive can be used to check whether the selection rect is currently active. An ongoing + selection interaction can be cancelled programmatically via calling \ref cancel at any time. + + The appearance of the selection rect can be controlled via \ref setPen and \ref setBrush. + + If you wish to provide custom behaviour, e.g. a different visual representation of the selection + rect (\ref QCPSelectionRect::draw), you can subclass QCPSelectionRect and pass an instance of + your subclass to \ref QCustomPlot::setSelectionRect. +*/ + +/* start of documentation of inline functions */ + +/*! \fn bool QCPSelectionRect::isActive() const + + Returns true if there is currently a selection going on, i.e. the user has started dragging a + selection rect, but hasn't released the mouse button yet. + + \see cancel +*/ + +/* end of documentation of inline functions */ +/* start documentation of signals */ + +/*! \fn void QCPSelectionRect::started(QMouseEvent *event); + + This signal is emitted when a selection rect interaction was initiated, i.e. the user just + started dragging the selection rect with the mouse. +*/ + +/*! \fn void QCPSelectionRect::changed(const QRect &rect, QMouseEvent *event); + + This signal is emitted while the selection rect interaction is ongoing and the \a rect has + changed its size due to the user moving the mouse. + + Note that \a rect may have a negative width or height, if the selection is being dragged to the + upper or left side of the selection rect origin. +*/ + +/*! \fn void QCPSelectionRect::canceled(const QRect &rect, QInputEvent *event); + + This signal is emitted when the selection interaction was cancelled. Note that \a event is 0 if + the selection interaction was cancelled programmatically, by a call to \ref cancel. + + The user may cancel the selection interaction by pressing the escape key. In this case, \a event + holds the respective input event. + + Note that \a rect may have a negative width or height, if the selection is being dragged to the + upper or left side of the selection rect origin. +*/ + +/*! \fn void QCPSelectionRect::accepted(const QRect &rect, QMouseEvent *event); + + This signal is emitted when the selection interaction was completed by the user releasing the + mouse button. + + Note that \a rect may have a negative width or height, if the selection is being dragged to the + upper or left side of the selection rect origin. +*/ + +/* end documentation of signals */ + +/*! + Creates a new QCPSelectionRect instance. To make QCustomPlot use the selection rect instance, + pass it to \ref QCustomPlot::setSelectionRect. \a parentPlot should be set to the same + QCustomPlot widget. +*/ +QCPSelectionRect::QCPSelectionRect(QCustomPlot *parentPlot) : + QCPLayerable(parentPlot), + mPen(QBrush(Qt::gray), 0, Qt::DashLine), + mBrush(Qt::NoBrush), + mActive(false) +{ +} + +QCPSelectionRect::~QCPSelectionRect() +{ + cancel(); +} + +/*! + A convenience function which returns the coordinate range of the provided \a axis, that this + selection rect currently encompasses. +*/ +QCPRange QCPSelectionRect::range(const QCPAxis *axis) const +{ + if (axis) + { + if (axis->orientation() == Qt::Horizontal) + return QCPRange(axis->pixelToCoord(mRect.left()), axis->pixelToCoord(mRect.left()+mRect.width())); + else + return QCPRange(axis->pixelToCoord(mRect.top()+mRect.height()), axis->pixelToCoord(mRect.top())); + } else + { + qDebug() << Q_FUNC_INFO << "called with axis zero"; + return QCPRange(); + } +} + +/*! + Sets the pen that will be used to draw the selection rect outline. + + \see setBrush +*/ +void QCPSelectionRect::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the brush that will be used to fill the selection rect. By default the selection rect is not + filled, i.e. \a brush is <tt>Qt::NoBrush</tt>. + + \see setPen +*/ +void QCPSelectionRect::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + If there is currently a selection interaction going on (\ref isActive), the interaction is + canceled. The selection rect will emit the \ref canceled signal. +*/ +void QCPSelectionRect::cancel() +{ + if (mActive) + { + mActive = false; + emit canceled(mRect, 0); + } +} + +/*! \internal + + This method is called by QCustomPlot to indicate that a selection rect interaction was initiated. + The default implementation sets the selection rect to active, initializes the selection rect + geometry and emits the \ref started signal. +*/ +void QCPSelectionRect::startSelection(QMouseEvent *event) +{ + mActive = true; + mRect = QRect(event->pos(), event->pos()); + emit started(event); +} + +/*! \internal + + This method is called by QCustomPlot to indicate that an ongoing selection rect interaction needs + to update its geometry. The default implementation updates the rect and emits the \ref changed + signal. +*/ +void QCPSelectionRect::moveSelection(QMouseEvent *event) +{ + mRect.setBottomRight(event->pos()); + emit changed(mRect, event); + layer()->replot(); +} + +/*! \internal + + This method is called by QCustomPlot to indicate that an ongoing selection rect interaction has + finished by the user releasing the mouse button. The default implementation deactivates the + selection rect and emits the \ref accepted signal. +*/ +void QCPSelectionRect::endSelection(QMouseEvent *event) +{ + mRect.setBottomRight(event->pos()); + mActive = false; + emit accepted(mRect, event); +} + +/*! \internal + + This method is called by QCustomPlot when a key has been pressed by the user while the selection + rect interaction is active. The default implementation allows to \ref cancel the interaction by + hitting the escape key. +*/ +void QCPSelectionRect::keyPressEvent(QKeyEvent *event) +{ + if (event->key() == Qt::Key_Escape && mActive) + { + mActive = false; + emit canceled(mRect, event); + } +} + +/* inherits documentation from base class */ +void QCPSelectionRect::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeOther); +} + +/*! \internal + + If the selection rect is active (\ref isActive), draws the selection rect defined by \a mRect. + + \seebaseclassmethod +*/ +void QCPSelectionRect::draw(QCPPainter *painter) +{ + if (mActive) + { + painter->setPen(mPen); + painter->setBrush(mBrush); + painter->drawRect(mRect); + } +} +/* end of 'src/selectionrect.cpp' */ + + +/* including file 'src/layout.cpp', size 79064 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPMarginGroup +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPMarginGroup + \brief A margin group allows synchronization of margin sides if working with multiple layout elements. + + QCPMarginGroup allows you to tie a margin side of two or more layout elements together, such that + they will all have the same size, based on the largest required margin in the group. + + \n + \image html QCPMarginGroup.png "Demonstration of QCPMarginGroup" + \n + + In certain situations it is desirable that margins at specific sides are synchronized across + layout elements. For example, if one QCPAxisRect is below another one in a grid layout, it will + provide a cleaner look to the user if the left and right margins of the two axis rects are of the + same size. The left axis of the top axis rect will then be at the same horizontal position as the + left axis of the lower axis rect, making them appear aligned. The same applies for the right + axes. This is what QCPMarginGroup makes possible. + + To add/remove a specific side of a layout element to/from a margin group, use the \ref + QCPLayoutElement::setMarginGroup method. To completely break apart the margin group, either call + \ref clear, or just delete the margin group. + + \section QCPMarginGroup-example Example + + First create a margin group: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpmargingroup-creation-1 + Then set this group on the layout element sides: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpmargingroup-creation-2 + Here, we've used the first two axis rects of the plot and synchronized their left margins with + each other and their right margins with each other. +*/ + +/* start documentation of inline functions */ + +/*! \fn QList<QCPLayoutElement*> QCPMarginGroup::elements(QCP::MarginSide side) const + + Returns a list of all layout elements that have their margin \a side associated with this margin + group. +*/ + +/* end documentation of inline functions */ + +/*! + Creates a new QCPMarginGroup instance in \a parentPlot. +*/ +QCPMarginGroup::QCPMarginGroup(QCustomPlot *parentPlot) : + QObject(parentPlot), + mParentPlot(parentPlot) +{ + mChildren.insert(QCP::msLeft, QList<QCPLayoutElement*>()); + mChildren.insert(QCP::msRight, QList<QCPLayoutElement*>()); + mChildren.insert(QCP::msTop, QList<QCPLayoutElement*>()); + mChildren.insert(QCP::msBottom, QList<QCPLayoutElement*>()); +} + +QCPMarginGroup::~QCPMarginGroup() +{ + clear(); +} + +/*! + Returns whether this margin group is empty. If this function returns true, no layout elements use + this margin group to synchronize margin sides. +*/ +bool QCPMarginGroup::isEmpty() const +{ + QHashIterator<QCP::MarginSide, QList<QCPLayoutElement*> > it(mChildren); + while (it.hasNext()) + { + it.next(); + if (!it.value().isEmpty()) + return false; + } + return true; +} + +/*! + Clears this margin group. The synchronization of the margin sides that use this margin group is + lifted and they will use their individual margin sizes again. +*/ +void QCPMarginGroup::clear() +{ + // make all children remove themselves from this margin group: + QHashIterator<QCP::MarginSide, QList<QCPLayoutElement*> > it(mChildren); + while (it.hasNext()) + { + it.next(); + const QList<QCPLayoutElement*> elements = it.value(); + for (int i=elements.size()-1; i>=0; --i) + elements.at(i)->setMarginGroup(it.key(), 0); // removes itself from mChildren via removeChild + } +} + +/*! \internal + + Returns the synchronized common margin for \a side. This is the margin value that will be used by + the layout element on the respective side, if it is part of this margin group. + + The common margin is calculated by requesting the automatic margin (\ref + QCPLayoutElement::calculateAutoMargin) of each element associated with \a side in this margin + group, and choosing the largest returned value. (QCPLayoutElement::minimumMargins is taken into + account, too.) +*/ +int QCPMarginGroup::commonMargin(QCP::MarginSide side) const +{ + // query all automatic margins of the layout elements in this margin group side and find maximum: + int result = 0; + const QList<QCPLayoutElement*> elements = mChildren.value(side); + for (int i=0; i<elements.size(); ++i) + { + if (!elements.at(i)->autoMargins().testFlag(side)) + continue; + int m = qMax(elements.at(i)->calculateAutoMargin(side), QCP::getMarginValue(elements.at(i)->minimumMargins(), side)); + if (m > result) + result = m; + } + return result; +} + +/*! \internal + + Adds \a element to the internal list of child elements, for the margin \a side. + + This function does not modify the margin group property of \a element. +*/ +void QCPMarginGroup::addChild(QCP::MarginSide side, QCPLayoutElement *element) +{ + if (!mChildren[side].contains(element)) + mChildren[side].append(element); + else + qDebug() << Q_FUNC_INFO << "element is already child of this margin group side" << reinterpret_cast<quintptr>(element); +} + +/*! \internal + + Removes \a element from the internal list of child elements, for the margin \a side. + + This function does not modify the margin group property of \a element. +*/ +void QCPMarginGroup::removeChild(QCP::MarginSide side, QCPLayoutElement *element) +{ + if (!mChildren[side].removeOne(element)) + qDebug() << Q_FUNC_INFO << "element is not child of this margin group side" << reinterpret_cast<quintptr>(element); +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLayoutElement +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLayoutElement + \brief The abstract base class for all objects that form \ref thelayoutsystem "the layout system". + + This is an abstract base class. As such, it can't be instantiated directly, rather use one of its subclasses. + + A Layout element is a rectangular object which can be placed in layouts. It has an outer rect + (QCPLayoutElement::outerRect) and an inner rect (\ref QCPLayoutElement::rect). The difference + between outer and inner rect is called its margin. The margin can either be set to automatic or + manual (\ref setAutoMargins) on a per-side basis. If a side is set to manual, that margin can be + set explicitly with \ref setMargins and will stay fixed at that value. If it's set to automatic, + the layout element subclass will control the value itself (via \ref calculateAutoMargin). + + Layout elements can be placed in layouts (base class QCPLayout) like QCPLayoutGrid. The top level + layout is reachable via \ref QCustomPlot::plotLayout, and is a \ref QCPLayoutGrid. Since \ref + QCPLayout itself derives from \ref QCPLayoutElement, layouts can be nested. + + Thus in QCustomPlot one can divide layout elements into two categories: The ones that are + invisible by themselves, because they don't draw anything. Their only purpose is to manage the + position and size of other layout elements. This category of layout elements usually use + QCPLayout as base class. Then there is the category of layout elements which actually draw + something. For example, QCPAxisRect, QCPLegend and QCPTextElement are of this category. This does + not necessarily mean that the latter category can't have child layout elements. QCPLegend for + instance, actually derives from QCPLayoutGrid and the individual legend items are child layout + elements in the grid layout. +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPLayout *QCPLayoutElement::layout() const + + Returns the parent layout of this layout element. +*/ + +/*! \fn QRect QCPLayoutElement::rect() const + + Returns the inner rect of this layout element. The inner rect is the outer rect (\ref outerRect, \ref + setOuterRect) shrinked by the margins (\ref setMargins, \ref setAutoMargins). + + In some cases, the area between outer and inner rect is left blank. In other cases the margin + area is used to display peripheral graphics while the main content is in the inner rect. This is + where automatic margin calculation becomes interesting because it allows the layout element to + adapt the margins to the peripheral graphics it wants to draw. For example, \ref QCPAxisRect + draws the axis labels and tick labels in the margin area, thus needs to adjust the margins (if + \ref setAutoMargins is enabled) according to the space required by the labels of the axes. + + \see outerRect +*/ + +/*! \fn QRect QCPLayoutElement::outerRect() const + + Returns the outer rect of this layout element. The outer rect is the inner rect expanded by the + margins (\ref setMargins, \ref setAutoMargins). The outer rect is used (and set via \ref + setOuterRect) by the parent \ref QCPLayout to control the size of this layout element. + + \see rect +*/ + +/* end documentation of inline functions */ + +/*! + Creates an instance of QCPLayoutElement and sets default values. +*/ +QCPLayoutElement::QCPLayoutElement(QCustomPlot *parentPlot) : + QCPLayerable(parentPlot), // parenthood is changed as soon as layout element gets inserted into a layout (except for top level layout) + mParentLayout(0), + mMinimumSize(), + mMaximumSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX), + mSizeConstraintRect(scrInnerRect), + mRect(0, 0, 0, 0), + mOuterRect(0, 0, 0, 0), + mMargins(0, 0, 0, 0), + mMinimumMargins(0, 0, 0, 0), + mAutoMargins(QCP::msAll) +{ +} + +QCPLayoutElement::~QCPLayoutElement() +{ + setMarginGroup(QCP::msAll, 0); // unregister at margin groups, if there are any + // unregister at layout: + if (qobject_cast<QCPLayout*>(mParentLayout)) // the qobject_cast is just a safeguard in case the layout forgets to call clear() in its dtor and this dtor is called by QObject dtor + mParentLayout->take(this); +} + +/*! + Sets the outer rect of this layout element. If the layout element is inside a layout, the layout + sets the position and size of this layout element using this function. + + Calling this function externally has no effect, since the layout will overwrite any changes to + the outer rect upon the next replot. + + The layout element will adapt its inner \ref rect by applying the margins inward to the outer rect. + + \see rect +*/ +void QCPLayoutElement::setOuterRect(const QRect &rect) +{ + if (mOuterRect != rect) + { + mOuterRect = rect; + mRect = mOuterRect.adjusted(mMargins.left(), mMargins.top(), -mMargins.right(), -mMargins.bottom()); + } +} + +/*! + Sets the margins of this layout element. If \ref setAutoMargins is disabled for some or all + sides, this function is used to manually set the margin on those sides. Sides that are still set + to be handled automatically are ignored and may have any value in \a margins. + + The margin is the distance between the outer rect (controlled by the parent layout via \ref + setOuterRect) and the inner \ref rect (which usually contains the main content of this layout + element). + + \see setAutoMargins +*/ +void QCPLayoutElement::setMargins(const QMargins &margins) +{ + if (mMargins != margins) + { + mMargins = margins; + mRect = mOuterRect.adjusted(mMargins.left(), mMargins.top(), -mMargins.right(), -mMargins.bottom()); + } +} + +/*! + If \ref setAutoMargins is enabled on some or all margins, this function is used to provide + minimum values for those margins. + + The minimum values are not enforced on margin sides that were set to be under manual control via + \ref setAutoMargins. + + \see setAutoMargins +*/ +void QCPLayoutElement::setMinimumMargins(const QMargins &margins) +{ + if (mMinimumMargins != margins) + { + mMinimumMargins = margins; + } +} + +/*! + Sets on which sides the margin shall be calculated automatically. If a side is calculated + automatically, a minimum margin value may be provided with \ref setMinimumMargins. If a side is + set to be controlled manually, the value may be specified with \ref setMargins. + + Margin sides that are under automatic control may participate in a \ref QCPMarginGroup (see \ref + setMarginGroup), to synchronize (align) it with other layout elements in the plot. + + \see setMinimumMargins, setMargins, QCP::MarginSide +*/ +void QCPLayoutElement::setAutoMargins(QCP::MarginSides sides) +{ + mAutoMargins = sides; +} + +/*! + Sets the minimum size of this layout element. A parent layout tries to respect the \a size here + by changing row/column sizes in the layout accordingly. + + If the parent layout size is not sufficient to satisfy all minimum size constraints of its child + layout elements, the layout may set a size that is actually smaller than \a size. QCustomPlot + propagates the layout's size constraints to the outside by setting its own minimum QWidget size + accordingly, so violations of \a size should be exceptions. + + Whether this constraint applies to the inner or the outer rect can be specified with \ref + setSizeConstraintRect (see \ref rect and \ref outerRect). +*/ +void QCPLayoutElement::setMinimumSize(const QSize &size) +{ + if (mMinimumSize != size) + { + mMinimumSize = size; + if (mParentLayout) + mParentLayout->sizeConstraintsChanged(); + } +} + +/*! \overload + + Sets the minimum size of this layout element. + + Whether this constraint applies to the inner or the outer rect can be specified with \ref + setSizeConstraintRect (see \ref rect and \ref outerRect). +*/ +void QCPLayoutElement::setMinimumSize(int width, int height) +{ + setMinimumSize(QSize(width, height)); +} + +/*! + Sets the maximum size of this layout element. A parent layout tries to respect the \a size here + by changing row/column sizes in the layout accordingly. + + Whether this constraint applies to the inner or the outer rect can be specified with \ref + setSizeConstraintRect (see \ref rect and \ref outerRect). +*/ +void QCPLayoutElement::setMaximumSize(const QSize &size) +{ + if (mMaximumSize != size) + { + mMaximumSize = size; + if (mParentLayout) + mParentLayout->sizeConstraintsChanged(); + } +} + +/*! \overload + + Sets the maximum size of this layout element. + + Whether this constraint applies to the inner or the outer rect can be specified with \ref + setSizeConstraintRect (see \ref rect and \ref outerRect). +*/ +void QCPLayoutElement::setMaximumSize(int width, int height) +{ + setMaximumSize(QSize(width, height)); +} + +/*! + Sets to which rect of a layout element the size constraints apply. Size constraints can be set + via \ref setMinimumSize and \ref setMaximumSize. + + The outer rect (\ref outerRect) includes the margins (e.g. in the case of a QCPAxisRect the axis + labels), whereas the inner rect (\ref rect) does not. + + \see setMinimumSize, setMaximumSize +*/ +void QCPLayoutElement::setSizeConstraintRect(SizeConstraintRect constraintRect) +{ + if (mSizeConstraintRect != constraintRect) + { + mSizeConstraintRect = constraintRect; + if (mParentLayout) + mParentLayout->sizeConstraintsChanged(); + } +} + +/*! + Sets the margin \a group of the specified margin \a sides. + + Margin groups allow synchronizing specified margins across layout elements, see the documentation + of \ref QCPMarginGroup. + + To unset the margin group of \a sides, set \a group to 0. + + Note that margin groups only work for margin sides that are set to automatic (\ref + setAutoMargins). + + \see QCP::MarginSide +*/ +void QCPLayoutElement::setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group) +{ + QVector<QCP::MarginSide> sideVector; + if (sides.testFlag(QCP::msLeft)) sideVector.append(QCP::msLeft); + if (sides.testFlag(QCP::msRight)) sideVector.append(QCP::msRight); + if (sides.testFlag(QCP::msTop)) sideVector.append(QCP::msTop); + if (sides.testFlag(QCP::msBottom)) sideVector.append(QCP::msBottom); + + for (int i=0; i<sideVector.size(); ++i) + { + QCP::MarginSide side = sideVector.at(i); + if (marginGroup(side) != group) + { + QCPMarginGroup *oldGroup = marginGroup(side); + if (oldGroup) // unregister at old group + oldGroup->removeChild(side, this); + + if (!group) // if setting to 0, remove hash entry. Else set hash entry to new group and register there + { + mMarginGroups.remove(side); + } else // setting to a new group + { + mMarginGroups[side] = group; + group->addChild(side, this); + } + } + } +} + +/*! + Updates the layout element and sub-elements. This function is automatically called before every + replot by the parent layout element. It is called multiple times, once for every \ref + UpdatePhase. The phases are run through in the order of the enum values. For details about what + happens at the different phases, see the documentation of \ref UpdatePhase. + + Layout elements that have child elements should call the \ref update method of their child + elements, and pass the current \a phase unchanged. + + The default implementation executes the automatic margin mechanism in the \ref upMargins phase. + Subclasses should make sure to call the base class implementation. +*/ +void QCPLayoutElement::update(UpdatePhase phase) +{ + if (phase == upMargins) + { + if (mAutoMargins != QCP::msNone) + { + // set the margins of this layout element according to automatic margin calculation, either directly or via a margin group: + QMargins newMargins = mMargins; + QList<QCP::MarginSide> allMarginSides = QList<QCP::MarginSide>() << QCP::msLeft << QCP::msRight << QCP::msTop << QCP::msBottom; + foreach (QCP::MarginSide side, allMarginSides) + { + if (mAutoMargins.testFlag(side)) // this side's margin shall be calculated automatically + { + if (mMarginGroups.contains(side)) + QCP::setMarginValue(newMargins, side, mMarginGroups[side]->commonMargin(side)); // this side is part of a margin group, so get the margin value from that group + else + QCP::setMarginValue(newMargins, side, calculateAutoMargin(side)); // this side is not part of a group, so calculate the value directly + // apply minimum margin restrictions: + if (QCP::getMarginValue(newMargins, side) < QCP::getMarginValue(mMinimumMargins, side)) + QCP::setMarginValue(newMargins, side, QCP::getMarginValue(mMinimumMargins, side)); + } + } + setMargins(newMargins); + } + } +} + +/*! + Returns the suggested minimum size this layout element (the \ref outerRect) may be compressed to, + if no manual minimum size is set. + + if a minimum size (\ref setMinimumSize) was not set manually, parent layouts use the returned size + (usually indirectly through \ref QCPLayout::getFinalMinimumOuterSize) to determine the minimum + allowed size of this layout element. + + A manual minimum size is considered set if it is non-zero. + + The default implementation simply returns the sum of the horizontal margins for the width and the + sum of the vertical margins for the height. Reimplementations may use their detailed knowledge + about the layout element's content to provide size hints. +*/ +QSize QCPLayoutElement::minimumOuterSizeHint() const +{ + return QSize(mMargins.left()+mMargins.right(), mMargins.top()+mMargins.bottom()); +} + +/*! + Returns the suggested maximum size this layout element (the \ref outerRect) may be expanded to, + if no manual maximum size is set. + + if a maximum size (\ref setMaximumSize) was not set manually, parent layouts use the returned + size (usually indirectly through \ref QCPLayout::getFinalMaximumOuterSize) to determine the + maximum allowed size of this layout element. + + A manual maximum size is considered set if it is smaller than Qt's \c QWIDGETSIZE_MAX. + + The default implementation simply returns \c QWIDGETSIZE_MAX for both width and height, implying + no suggested maximum size. Reimplementations may use their detailed knowledge about the layout + element's content to provide size hints. +*/ +QSize QCPLayoutElement::maximumOuterSizeHint() const +{ + return QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX); +} + +/*! + Returns a list of all child elements in this layout element. If \a recursive is true, all + sub-child elements are included in the list, too. + + \warning There may be entries with value 0 in the returned list. (For example, QCPLayoutGrid may have + empty cells which yield 0 at the respective index.) +*/ +QList<QCPLayoutElement*> QCPLayoutElement::elements(bool recursive) const +{ + Q_UNUSED(recursive) + return QList<QCPLayoutElement*>(); +} + +/*! + Layout elements are sensitive to events inside their outer rect. If \a pos is within the outer + rect, this method returns a value corresponding to 0.99 times the parent plot's selection + tolerance. However, layout elements are not selectable by default. So if \a onlySelectable is + true, -1.0 is returned. + + See \ref QCPLayerable::selectTest for a general explanation of this virtual method. + + QCPLayoutElement subclasses may reimplement this method to provide more specific selection test + behaviour. +*/ +double QCPLayoutElement::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + + if (onlySelectable) + return -1; + + if (QRectF(mOuterRect).contains(pos)) + { + if (mParentPlot) + return mParentPlot->selectionTolerance()*0.99; + else + { + qDebug() << Q_FUNC_INFO << "parent plot not defined"; + return -1; + } + } else + return -1; +} + +/*! \internal + + propagates the parent plot initialization to all child elements, by calling \ref + QCPLayerable::initializeParentPlot on them. +*/ +void QCPLayoutElement::parentPlotInitialized(QCustomPlot *parentPlot) +{ + foreach (QCPLayoutElement* el, elements(false)) + { + if (!el->parentPlot()) + el->initializeParentPlot(parentPlot); + } +} + +/*! \internal + + Returns the margin size for this \a side. It is used if automatic margins is enabled for this \a + side (see \ref setAutoMargins). If a minimum margin was set with \ref setMinimumMargins, the + returned value will not be smaller than the specified minimum margin. + + The default implementation just returns the respective manual margin (\ref setMargins) or the + minimum margin, whichever is larger. +*/ +int QCPLayoutElement::calculateAutoMargin(QCP::MarginSide side) +{ + return qMax(QCP::getMarginValue(mMargins, side), QCP::getMarginValue(mMinimumMargins, side)); +} + +/*! \internal + + This virtual method is called when this layout element was moved to a different QCPLayout, or + when this layout element has changed its logical position (e.g. row and/or column) within the + same QCPLayout. Subclasses may use this to react accordingly. + + Since this method is called after the completion of the move, you can access the new parent + layout via \ref layout(). + + The default implementation does nothing. +*/ +void QCPLayoutElement::layoutChanged() +{ +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLayout +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLayout + \brief The abstract base class for layouts + + This is an abstract base class for layout elements whose main purpose is to define the position + and size of other child layout elements. In most cases, layouts don't draw anything themselves + (but there are exceptions to this, e.g. QCPLegend). + + QCPLayout derives from QCPLayoutElement, and thus can itself be nested in other layouts. + + QCPLayout introduces a common interface for accessing and manipulating the child elements. Those + functions are most notably \ref elementCount, \ref elementAt, \ref takeAt, \ref take, \ref + simplify, \ref removeAt, \ref remove and \ref clear. Individual subclasses may add more functions + to this interface which are more specialized to the form of the layout. For example, \ref + QCPLayoutGrid adds functions that take row and column indices to access cells of the layout grid + more conveniently. + + Since this is an abstract base class, you can't instantiate it directly. Rather use one of its + subclasses like QCPLayoutGrid or QCPLayoutInset. + + For a general introduction to the layout system, see the dedicated documentation page \ref + thelayoutsystem "The Layout System". +*/ + +/* start documentation of pure virtual functions */ + +/*! \fn virtual int QCPLayout::elementCount() const = 0 + + Returns the number of elements/cells in the layout. + + \see elements, elementAt +*/ + +/*! \fn virtual QCPLayoutElement* QCPLayout::elementAt(int index) const = 0 + + Returns the element in the cell with the given \a index. If \a index is invalid, returns 0. + + Note that even if \a index is valid, the respective cell may be empty in some layouts (e.g. + QCPLayoutGrid), so this function may return 0 in those cases. You may use this function to check + whether a cell is empty or not. + + \see elements, elementCount, takeAt +*/ + +/*! \fn virtual QCPLayoutElement* QCPLayout::takeAt(int index) = 0 + + Removes the element with the given \a index from the layout and returns it. + + If the \a index is invalid or the cell with that index is empty, returns 0. + + Note that some layouts don't remove the respective cell right away but leave an empty cell after + successful removal of the layout element. To collapse empty cells, use \ref simplify. + + \see elementAt, take +*/ + +/*! \fn virtual bool QCPLayout::take(QCPLayoutElement* element) = 0 + + Removes the specified \a element from the layout and returns true on success. + + If the \a element isn't in this layout, returns false. + + Note that some layouts don't remove the respective cell right away but leave an empty cell after + successful removal of the layout element. To collapse empty cells, use \ref simplify. + + \see takeAt +*/ + +/* end documentation of pure virtual functions */ + +/*! + Creates an instance of QCPLayout and sets default values. Note that since QCPLayout + is an abstract base class, it can't be instantiated directly. +*/ +QCPLayout::QCPLayout() +{ +} + +/*! + If \a phase is \ref upLayout, calls \ref updateLayout, which subclasses may reimplement to + reposition and resize their cells. + + Finally, the call is propagated down to all child \ref QCPLayoutElement "QCPLayoutElements". + + For details about this method and the update phases, see the documentation of \ref + QCPLayoutElement::update. +*/ +void QCPLayout::update(UpdatePhase phase) +{ + QCPLayoutElement::update(phase); + + // set child element rects according to layout: + if (phase == upLayout) + updateLayout(); + + // propagate update call to child elements: + const int elCount = elementCount(); + for (int i=0; i<elCount; ++i) + { + if (QCPLayoutElement *el = elementAt(i)) + el->update(phase); + } +} + +/* inherits documentation from base class */ +QList<QCPLayoutElement*> QCPLayout::elements(bool recursive) const +{ + const int c = elementCount(); + QList<QCPLayoutElement*> result; +#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) + result.reserve(c); +#endif + for (int i=0; i<c; ++i) + result.append(elementAt(i)); + if (recursive) + { + for (int i=0; i<c; ++i) + { + if (result.at(i)) + result << result.at(i)->elements(recursive); + } + } + return result; +} + +/*! + Simplifies the layout by collapsing empty cells. The exact behavior depends on subclasses, the + default implementation does nothing. + + Not all layouts need simplification. For example, QCPLayoutInset doesn't use explicit + simplification while QCPLayoutGrid does. +*/ +void QCPLayout::simplify() +{ +} + +/*! + Removes and deletes the element at the provided \a index. Returns true on success. If \a index is + invalid or points to an empty cell, returns false. + + This function internally uses \ref takeAt to remove the element from the layout and then deletes + the returned element. Note that some layouts don't remove the respective cell right away but leave an + empty cell after successful removal of the layout element. To collapse empty cells, use \ref + simplify. + + \see remove, takeAt +*/ +bool QCPLayout::removeAt(int index) +{ + if (QCPLayoutElement *el = takeAt(index)) + { + delete el; + return true; + } else + return false; +} + +/*! + Removes and deletes the provided \a element. Returns true on success. If \a element is not in the + layout, returns false. + + This function internally uses \ref takeAt to remove the element from the layout and then deletes + the element. Note that some layouts don't remove the respective cell right away but leave an + empty cell after successful removal of the layout element. To collapse empty cells, use \ref + simplify. + + \see removeAt, take +*/ +bool QCPLayout::remove(QCPLayoutElement *element) +{ + if (take(element)) + { + delete element; + return true; + } else + return false; +} + +/*! + Removes and deletes all layout elements in this layout. Finally calls \ref simplify to make sure + all empty cells are collapsed. + + \see remove, removeAt +*/ +void QCPLayout::clear() +{ + for (int i=elementCount()-1; i>=0; --i) + { + if (elementAt(i)) + removeAt(i); + } + simplify(); +} + +/*! + Subclasses call this method to report changed (minimum/maximum) size constraints. + + If the parent of this layout is again a QCPLayout, forwards the call to the parent's \ref + sizeConstraintsChanged. If the parent is a QWidget (i.e. is the \ref QCustomPlot::plotLayout of + QCustomPlot), calls QWidget::updateGeometry, so if the QCustomPlot widget is inside a Qt QLayout, + it may update itself and resize cells accordingly. +*/ +void QCPLayout::sizeConstraintsChanged() const +{ + if (QWidget *w = qobject_cast<QWidget*>(parent())) + w->updateGeometry(); + else if (QCPLayout *l = qobject_cast<QCPLayout*>(parent())) + l->sizeConstraintsChanged(); +} + +/*! \internal + + Subclasses reimplement this method to update the position and sizes of the child elements/cells + via calling their \ref QCPLayoutElement::setOuterRect. The default implementation does nothing. + + The geometry used as a reference is the inner \ref rect of this layout. Child elements should stay + within that rect. + + \ref getSectionSizes may help with the reimplementation of this function. + + \see update +*/ +void QCPLayout::updateLayout() +{ +} + + +/*! \internal + + Associates \a el with this layout. This is done by setting the \ref QCPLayoutElement::layout, the + \ref QCPLayerable::parentLayerable and the QObject parent to this layout. + + Further, if \a el didn't previously have a parent plot, calls \ref + QCPLayerable::initializeParentPlot on \a el to set the paret plot. + + This method is used by subclass specific methods that add elements to the layout. Note that this + method only changes properties in \a el. The removal from the old layout and the insertion into + the new layout must be done additionally. +*/ +void QCPLayout::adoptElement(QCPLayoutElement *el) +{ + if (el) + { + el->mParentLayout = this; + el->setParentLayerable(this); + el->setParent(this); + if (!el->parentPlot()) + el->initializeParentPlot(mParentPlot); + el->layoutChanged(); + } else + qDebug() << Q_FUNC_INFO << "Null element passed"; +} + +/*! \internal + + Disassociates \a el from this layout. This is done by setting the \ref QCPLayoutElement::layout + and the \ref QCPLayerable::parentLayerable to zero. The QObject parent is set to the parent + QCustomPlot. + + This method is used by subclass specific methods that remove elements from the layout (e.g. \ref + take or \ref takeAt). Note that this method only changes properties in \a el. The removal from + the old layout must be done additionally. +*/ +void QCPLayout::releaseElement(QCPLayoutElement *el) +{ + if (el) + { + el->mParentLayout = 0; + el->setParentLayerable(0); + el->setParent(mParentPlot); + // Note: Don't initializeParentPlot(0) here, because layout element will stay in same parent plot + } else + qDebug() << Q_FUNC_INFO << "Null element passed"; +} + +/*! \internal + + This is a helper function for the implementation of \ref updateLayout in subclasses. + + It calculates the sizes of one-dimensional sections with provided constraints on maximum section + sizes, minimum section sizes, relative stretch factors and the final total size of all sections. + + The QVector entries refer to the sections. Thus all QVectors must have the same size. + + \a maxSizes gives the maximum allowed size of each section. If there shall be no maximum size + imposed, set all vector values to Qt's QWIDGETSIZE_MAX. + + \a minSizes gives the minimum allowed size of each section. If there shall be no minimum size + imposed, set all vector values to zero. If the \a minSizes entries add up to a value greater than + \a totalSize, sections will be scaled smaller than the proposed minimum sizes. (In other words, + not exceeding the allowed total size is taken to be more important than not going below minimum + section sizes.) + + \a stretchFactors give the relative proportions of the sections to each other. If all sections + shall be scaled equally, set all values equal. If the first section shall be double the size of + each individual other section, set the first number of \a stretchFactors to double the value of + the other individual values (e.g. {2, 1, 1, 1}). + + \a totalSize is the value that the final section sizes will add up to. Due to rounding, the + actual sum may differ slightly. If you want the section sizes to sum up to exactly that value, + you could distribute the remaining difference on the sections. + + The return value is a QVector containing the section sizes. +*/ +QVector<int> QCPLayout::getSectionSizes(QVector<int> maxSizes, QVector<int> minSizes, QVector<double> stretchFactors, int totalSize) const +{ + if (maxSizes.size() != minSizes.size() || minSizes.size() != stretchFactors.size()) + { + qDebug() << Q_FUNC_INFO << "Passed vector sizes aren't equal:" << maxSizes << minSizes << stretchFactors; + return QVector<int>(); + } + if (stretchFactors.isEmpty()) + return QVector<int>(); + int sectionCount = stretchFactors.size(); + QVector<double> sectionSizes(sectionCount); + // if provided total size is forced smaller than total minimum size, ignore minimum sizes (squeeze sections): + int minSizeSum = 0; + for (int i=0; i<sectionCount; ++i) + minSizeSum += minSizes.at(i); + if (totalSize < minSizeSum) + { + // new stretch factors are minimum sizes and minimum sizes are set to zero: + for (int i=0; i<sectionCount; ++i) + { + stretchFactors[i] = minSizes.at(i); + minSizes[i] = 0; + } + } + + QList<int> minimumLockedSections; + QList<int> unfinishedSections; + for (int i=0; i<sectionCount; ++i) + unfinishedSections.append(i); + double freeSize = totalSize; + + int outerIterations = 0; + while (!unfinishedSections.isEmpty() && outerIterations < sectionCount*2) // the iteration check ist just a failsafe in case something really strange happens + { + ++outerIterations; + int innerIterations = 0; + while (!unfinishedSections.isEmpty() && innerIterations < sectionCount*2) // the iteration check ist just a failsafe in case something really strange happens + { + ++innerIterations; + // find section that hits its maximum next: + int nextId = -1; + double nextMax = 1e12; + for (int i=0; i<unfinishedSections.size(); ++i) + { + int secId = unfinishedSections.at(i); + double hitsMaxAt = (maxSizes.at(secId)-sectionSizes.at(secId))/stretchFactors.at(secId); + if (hitsMaxAt < nextMax) + { + nextMax = hitsMaxAt; + nextId = secId; + } + } + // check if that maximum is actually within the bounds of the total size (i.e. can we stretch all remaining sections so far that the found section + // actually hits its maximum, without exceeding the total size when we add up all sections) + double stretchFactorSum = 0; + for (int i=0; i<unfinishedSections.size(); ++i) + stretchFactorSum += stretchFactors.at(unfinishedSections.at(i)); + double nextMaxLimit = freeSize/stretchFactorSum; + if (nextMax < nextMaxLimit) // next maximum is actually hit, move forward to that point and fix the size of that section + { + for (int i=0; i<unfinishedSections.size(); ++i) + { + sectionSizes[unfinishedSections.at(i)] += nextMax*stretchFactors.at(unfinishedSections.at(i)); // increment all sections + freeSize -= nextMax*stretchFactors.at(unfinishedSections.at(i)); + } + unfinishedSections.removeOne(nextId); // exclude the section that is now at maximum from further changes + } else // next maximum isn't hit, just distribute rest of free space on remaining sections + { + for (int i=0; i<unfinishedSections.size(); ++i) + sectionSizes[unfinishedSections.at(i)] += nextMaxLimit*stretchFactors.at(unfinishedSections.at(i)); // increment all sections + unfinishedSections.clear(); + } + } + if (innerIterations == sectionCount*2) + qDebug() << Q_FUNC_INFO << "Exceeded maximum expected inner iteration count, layouting aborted. Input was:" << maxSizes << minSizes << stretchFactors << totalSize; + + // now check whether the resulting section sizes violate minimum restrictions: + bool foundMinimumViolation = false; + for (int i=0; i<sectionSizes.size(); ++i) + { + if (minimumLockedSections.contains(i)) + continue; + if (sectionSizes.at(i) < minSizes.at(i)) // section violates minimum + { + sectionSizes[i] = minSizes.at(i); // set it to minimum + foundMinimumViolation = true; // make sure we repeat the whole optimization process + minimumLockedSections.append(i); + } + } + if (foundMinimumViolation) + { + freeSize = totalSize; + for (int i=0; i<sectionCount; ++i) + { + if (!minimumLockedSections.contains(i)) // only put sections that haven't hit their minimum back into the pool + unfinishedSections.append(i); + else + freeSize -= sectionSizes.at(i); // remove size of minimum locked sections from available space in next round + } + // reset all section sizes to zero that are in unfinished sections (all others have been set to their minimum): + for (int i=0; i<unfinishedSections.size(); ++i) + sectionSizes[unfinishedSections.at(i)] = 0; + } + } + if (outerIterations == sectionCount*2) + qDebug() << Q_FUNC_INFO << "Exceeded maximum expected outer iteration count, layouting aborted. Input was:" << maxSizes << minSizes << stretchFactors << totalSize; + + QVector<int> result(sectionCount); + for (int i=0; i<sectionCount; ++i) + result[i] = qRound(sectionSizes.at(i)); + return result; +} + +/*! \internal + + This is a helper function for the implementation of subclasses. + + It returns the minimum size that should finally be used for the outer rect of the passed layout + element \a el. + + It takes into account whether a manual minimum size is set (\ref + QCPLayoutElement::setMinimumSize), which size constraint is set (\ref + QCPLayoutElement::setSizeConstraintRect), as well as the minimum size hint, if no manual minimum + size was set (\ref QCPLayoutElement::minimumOuterSizeHint). +*/ +QSize QCPLayout::getFinalMinimumOuterSize(const QCPLayoutElement *el) +{ + QSize minOuterHint = el->minimumOuterSizeHint(); + QSize minOuter = el->minimumSize(); // depending on sizeConstraitRect this might be with respect to inner rect, so possibly add margins in next four lines (preserving unset minimum of 0) + if (minOuter.width() > 0 && el->sizeConstraintRect() == QCPLayoutElement::scrInnerRect) + minOuter.rwidth() += el->margins().left() + el->margins().right(); + if (minOuter.height() > 0 && el->sizeConstraintRect() == QCPLayoutElement::scrInnerRect) + minOuter.rheight() += el->margins().top() + el->margins().bottom(); + + return QSize(minOuter.width() > 0 ? minOuter.width() : minOuterHint.width(), + minOuter.height() > 0 ? minOuter.height() : minOuterHint.height());; +} + +/*! \internal + + This is a helper function for the implementation of subclasses. + + It returns the maximum size that should finally be used for the outer rect of the passed layout + element \a el. + + It takes into account whether a manual maximum size is set (\ref + QCPLayoutElement::setMaximumSize), which size constraint is set (\ref + QCPLayoutElement::setSizeConstraintRect), as well as the maximum size hint, if no manual maximum + size was set (\ref QCPLayoutElement::maximumOuterSizeHint). +*/ +QSize QCPLayout::getFinalMaximumOuterSize(const QCPLayoutElement *el) +{ + QSize maxOuterHint = el->maximumOuterSizeHint(); + QSize maxOuter = el->maximumSize(); // depending on sizeConstraitRect this might be with respect to inner rect, so possibly add margins in next four lines (preserving unset maximum of QWIDGETSIZE_MAX) + if (maxOuter.width() < QWIDGETSIZE_MAX && el->sizeConstraintRect() == QCPLayoutElement::scrInnerRect) + maxOuter.rwidth() += el->margins().left() + el->margins().right(); + if (maxOuter.height() < QWIDGETSIZE_MAX && el->sizeConstraintRect() == QCPLayoutElement::scrInnerRect) + maxOuter.rheight() += el->margins().top() + el->margins().bottom(); + + return QSize(maxOuter.width() < QWIDGETSIZE_MAX ? maxOuter.width() : maxOuterHint.width(), + maxOuter.height() < QWIDGETSIZE_MAX ? maxOuter.height() : maxOuterHint.height()); +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLayoutGrid +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLayoutGrid + \brief A layout that arranges child elements in a grid + + Elements are laid out in a grid with configurable stretch factors (\ref setColumnStretchFactor, + \ref setRowStretchFactor) and spacing (\ref setColumnSpacing, \ref setRowSpacing). + + Elements can be added to cells via \ref addElement. The grid is expanded if the specified row or + column doesn't exist yet. Whether a cell contains a valid layout element can be checked with \ref + hasElement, that element can be retrieved with \ref element. If rows and columns that only have + empty cells shall be removed, call \ref simplify. Removal of elements is either done by just + adding the element to a different layout or by using the QCPLayout interface \ref take or \ref + remove. + + If you use \ref addElement(QCPLayoutElement*) without explicit parameters for \a row and \a + column, the grid layout will choose the position according to the current \ref setFillOrder and + the wrapping (\ref setWrap). + + Row and column insertion can be performed with \ref insertRow and \ref insertColumn. +*/ + +/* start documentation of inline functions */ + +/*! \fn int QCPLayoutGrid::rowCount() const + + Returns the number of rows in the layout. + + \see columnCount +*/ + +/*! \fn int QCPLayoutGrid::columnCount() const + + Returns the number of columns in the layout. + + \see rowCount +*/ + +/* end documentation of inline functions */ + +/*! + Creates an instance of QCPLayoutGrid and sets default values. +*/ +QCPLayoutGrid::QCPLayoutGrid() : + mColumnSpacing(5), + mRowSpacing(5), + mWrap(0), + mFillOrder(foRowsFirst) +{ +} + +QCPLayoutGrid::~QCPLayoutGrid() +{ + // clear all child layout elements. This is important because only the specific layouts know how + // to handle removing elements (clear calls virtual removeAt method to do that). + clear(); +} + +/*! + Returns the element in the cell in \a row and \a column. + + Returns 0 if either the row/column is invalid or if the cell is empty. In those cases, a qDebug + message is printed. To check whether a cell exists and isn't empty, use \ref hasElement. + + \see addElement, hasElement +*/ +QCPLayoutElement *QCPLayoutGrid::element(int row, int column) const +{ + if (row >= 0 && row < mElements.size()) + { + if (column >= 0 && column < mElements.first().size()) + { + if (QCPLayoutElement *result = mElements.at(row).at(column)) + return result; + else + qDebug() << Q_FUNC_INFO << "Requested cell is empty. Row:" << row << "Column:" << column; + } else + qDebug() << Q_FUNC_INFO << "Invalid column. Row:" << row << "Column:" << column; + } else + qDebug() << Q_FUNC_INFO << "Invalid row. Row:" << row << "Column:" << column; + return 0; +} + + +/*! \overload + + Adds the \a element to cell with \a row and \a column. If \a element is already in a layout, it + is first removed from there. If \a row or \a column don't exist yet, the layout is expanded + accordingly. + + Returns true if the element was added successfully, i.e. if the cell at \a row and \a column + didn't already have an element. + + Use the overload of this method without explicit row/column index to place the element according + to the configured fill order and wrapping settings. + + \see element, hasElement, take, remove +*/ +bool QCPLayoutGrid::addElement(int row, int column, QCPLayoutElement *element) +{ + if (!hasElement(row, column)) + { + if (element && element->layout()) // remove from old layout first + element->layout()->take(element); + expandTo(row+1, column+1); + mElements[row][column] = element; + if (element) + adoptElement(element); + return true; + } else + qDebug() << Q_FUNC_INFO << "There is already an element in the specified row/column:" << row << column; + return false; +} + +/*! \overload + + Adds the \a element to the next empty cell according to the current fill order (\ref + setFillOrder) and wrapping (\ref setWrap). If \a element is already in a layout, it is first + removed from there. If necessary, the layout is expanded to hold the new element. + + Returns true if the element was added successfully. + + \see setFillOrder, setWrap, element, hasElement, take, remove +*/ +bool QCPLayoutGrid::addElement(QCPLayoutElement *element) +{ + int rowIndex = 0; + int colIndex = 0; + if (mFillOrder == foColumnsFirst) + { + while (hasElement(rowIndex, colIndex)) + { + ++colIndex; + if (colIndex >= mWrap && mWrap > 0) + { + colIndex = 0; + ++rowIndex; + } + } + } else + { + while (hasElement(rowIndex, colIndex)) + { + ++rowIndex; + if (rowIndex >= mWrap && mWrap > 0) + { + rowIndex = 0; + ++colIndex; + } + } + } + return addElement(rowIndex, colIndex, element); +} + +/*! + Returns whether the cell at \a row and \a column exists and contains a valid element, i.e. isn't + empty. + + \see element +*/ +bool QCPLayoutGrid::hasElement(int row, int column) +{ + if (row >= 0 && row < rowCount() && column >= 0 && column < columnCount()) + return mElements.at(row).at(column); + else + return false; +} + +/*! + Sets the stretch \a factor of \a column. + + Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond + their minimum and maximum widths/heights, regardless of the stretch factor. (see \ref + QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize, \ref + QCPLayoutElement::setSizeConstraintRect.) + + The default stretch factor of newly created rows/columns is 1. + + \see setColumnStretchFactors, setRowStretchFactor +*/ +void QCPLayoutGrid::setColumnStretchFactor(int column, double factor) +{ + if (column >= 0 && column < columnCount()) + { + if (factor > 0) + mColumnStretchFactors[column] = factor; + else + qDebug() << Q_FUNC_INFO << "Invalid stretch factor, must be positive:" << factor; + } else + qDebug() << Q_FUNC_INFO << "Invalid column:" << column; +} + +/*! + Sets the stretch \a factors of all columns. \a factors must have the size \ref columnCount. + + Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond + their minimum and maximum widths/heights, regardless of the stretch factor. (see \ref + QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize, \ref + QCPLayoutElement::setSizeConstraintRect.) + + The default stretch factor of newly created rows/columns is 1. + + \see setColumnStretchFactor, setRowStretchFactors +*/ +void QCPLayoutGrid::setColumnStretchFactors(const QList<double> &factors) +{ + if (factors.size() == mColumnStretchFactors.size()) + { + mColumnStretchFactors = factors; + for (int i=0; i<mColumnStretchFactors.size(); ++i) + { + if (mColumnStretchFactors.at(i) <= 0) + { + qDebug() << Q_FUNC_INFO << "Invalid stretch factor, must be positive:" << mColumnStretchFactors.at(i); + mColumnStretchFactors[i] = 1; + } + } + } else + qDebug() << Q_FUNC_INFO << "Column count not equal to passed stretch factor count:" << factors; +} + +/*! + Sets the stretch \a factor of \a row. + + Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond + their minimum and maximum widths/heights, regardless of the stretch factor. (see \ref + QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize, \ref + QCPLayoutElement::setSizeConstraintRect.) + + The default stretch factor of newly created rows/columns is 1. + + \see setColumnStretchFactors, setRowStretchFactor +*/ +void QCPLayoutGrid::setRowStretchFactor(int row, double factor) +{ + if (row >= 0 && row < rowCount()) + { + if (factor > 0) + mRowStretchFactors[row] = factor; + else + qDebug() << Q_FUNC_INFO << "Invalid stretch factor, must be positive:" << factor; + } else + qDebug() << Q_FUNC_INFO << "Invalid row:" << row; +} + +/*! + Sets the stretch \a factors of all rows. \a factors must have the size \ref rowCount. + + Stretch factors control the relative sizes of rows and columns. Cells will not be resized beyond + their minimum and maximum widths/heights, regardless of the stretch factor. (see \ref + QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize, \ref + QCPLayoutElement::setSizeConstraintRect.) + + The default stretch factor of newly created rows/columns is 1. + + \see setRowStretchFactor, setColumnStretchFactors +*/ +void QCPLayoutGrid::setRowStretchFactors(const QList<double> &factors) +{ + if (factors.size() == mRowStretchFactors.size()) + { + mRowStretchFactors = factors; + for (int i=0; i<mRowStretchFactors.size(); ++i) + { + if (mRowStretchFactors.at(i) <= 0) + { + qDebug() << Q_FUNC_INFO << "Invalid stretch factor, must be positive:" << mRowStretchFactors.at(i); + mRowStretchFactors[i] = 1; + } + } + } else + qDebug() << Q_FUNC_INFO << "Row count not equal to passed stretch factor count:" << factors; +} + +/*! + Sets the gap that is left blank between columns to \a pixels. + + \see setRowSpacing +*/ +void QCPLayoutGrid::setColumnSpacing(int pixels) +{ + mColumnSpacing = pixels; +} + +/*! + Sets the gap that is left blank between rows to \a pixels. + + \see setColumnSpacing +*/ +void QCPLayoutGrid::setRowSpacing(int pixels) +{ + mRowSpacing = pixels; +} + +/*! + Sets the maximum number of columns or rows that are used, before new elements added with \ref + addElement(QCPLayoutElement*) will start to fill the next row or column, respectively. It depends + on \ref setFillOrder, whether rows or columns are wrapped. + + If \a count is set to zero, no wrapping will ever occur. + + If you wish to re-wrap the elements currently in the layout, call \ref setFillOrder with \a + rearrange set to true (the actual fill order doesn't need to be changed for the rearranging to be + done). + + Note that the method \ref addElement(int row, int column, QCPLayoutElement *element) with + explicitly stated row and column is not subject to wrapping and can place elements even beyond + the specified wrapping point. + + \see setFillOrder +*/ +void QCPLayoutGrid::setWrap(int count) +{ + mWrap = qMax(0, count); +} + +/*! + Sets the filling order and wrapping behaviour that is used when adding new elements with the + method \ref addElement(QCPLayoutElement*). + + The specified \a order defines whether rows or columns are filled first. Using \ref setWrap, you + can control at which row/column count wrapping into the next column/row will occur. If you set it + to zero, no wrapping will ever occur. Changing the fill order also changes the meaning of the + linear index used e.g. in \ref elementAt and \ref takeAt. + + If you want to have all current elements arranged in the new order, set \a rearrange to true. The + elements will be rearranged in a way that tries to preserve their linear index. However, empty + cells are skipped during build-up of the new cell order, which shifts the succeeding element's + index. The rearranging is performed even if the specified \a order is already the current fill + order. Thus this method can be used to re-wrap the current elements. + + If \a rearrange is false, the current element arrangement is not changed, which means the + linear indexes change (because the linear index is dependent on the fill order). + + Note that the method \ref addElement(int row, int column, QCPLayoutElement *element) with + explicitly stated row and column is not subject to wrapping and can place elements even beyond + the specified wrapping point. + + \see setWrap, addElement(QCPLayoutElement*) +*/ +void QCPLayoutGrid::setFillOrder(FillOrder order, bool rearrange) +{ + // if rearranging, take all elements via linear index of old fill order: + const int elCount = elementCount(); + QVector<QCPLayoutElement*> tempElements; + if (rearrange) + { + tempElements.reserve(elCount); + for (int i=0; i<elCount; ++i) + { + if (elementAt(i)) + tempElements.append(takeAt(i)); + } + simplify(); + } + // change fill order as requested: + mFillOrder = order; + // if rearranging, re-insert via linear index according to new fill order: + if (rearrange) + { + for (int i=0; i<tempElements.size(); ++i) + addElement(tempElements.at(i)); + } +} + +/*! + Expands the layout to have \a newRowCount rows and \a newColumnCount columns. So the last valid + row index will be \a newRowCount-1, the last valid column index will be \a newColumnCount-1. + + If the current column/row count is already larger or equal to \a newColumnCount/\a newRowCount, + this function does nothing in that dimension. + + Newly created cells are empty, new rows and columns have the stretch factor 1. + + Note that upon a call to \ref addElement, the layout is expanded automatically to contain the + specified row and column, using this function. + + \see simplify +*/ +void QCPLayoutGrid::expandTo(int newRowCount, int newColumnCount) +{ + // add rows as necessary: + while (rowCount() < newRowCount) + { + mElements.append(QList<QCPLayoutElement*>()); + mRowStretchFactors.append(1); + } + // go through rows and expand columns as necessary: + int newColCount = qMax(columnCount(), newColumnCount); + for (int i=0; i<rowCount(); ++i) + { + while (mElements.at(i).size() < newColCount) + mElements[i].append(0); + } + while (mColumnStretchFactors.size() < newColCount) + mColumnStretchFactors.append(1); +} + +/*! + Inserts a new row with empty cells at the row index \a newIndex. Valid values for \a newIndex + range from 0 (inserts a row at the top) to \a rowCount (appends a row at the bottom). + + \see insertColumn +*/ +void QCPLayoutGrid::insertRow(int newIndex) +{ + if (mElements.isEmpty() || mElements.first().isEmpty()) // if grid is completely empty, add first cell + { + expandTo(1, 1); + return; + } + + if (newIndex < 0) + newIndex = 0; + if (newIndex > rowCount()) + newIndex = rowCount(); + + mRowStretchFactors.insert(newIndex, 1); + QList<QCPLayoutElement*> newRow; + for (int col=0; col<columnCount(); ++col) + newRow.append((QCPLayoutElement*)0); + mElements.insert(newIndex, newRow); +} + +/*! + Inserts a new column with empty cells at the column index \a newIndex. Valid values for \a + newIndex range from 0 (inserts a column at the left) to \a columnCount (appends a column at the + right). + + \see insertRow +*/ +void QCPLayoutGrid::insertColumn(int newIndex) +{ + if (mElements.isEmpty() || mElements.first().isEmpty()) // if grid is completely empty, add first cell + { + expandTo(1, 1); + return; + } + + if (newIndex < 0) + newIndex = 0; + if (newIndex > columnCount()) + newIndex = columnCount(); + + mColumnStretchFactors.insert(newIndex, 1); + for (int row=0; row<rowCount(); ++row) + mElements[row].insert(newIndex, (QCPLayoutElement*)0); +} + +/*! + Converts the given \a row and \a column to the linear index used by some methods of \ref + QCPLayoutGrid and \ref QCPLayout. + + The way the cells are indexed depends on \ref setFillOrder. If it is \ref foRowsFirst, the + indices increase left to right and then top to bottom. If it is \ref foColumnsFirst, the indices + increase top to bottom and then left to right. + + For the returned index to be valid, \a row and \a column must be valid indices themselves, i.e. + greater or equal to zero and smaller than the current \ref rowCount/\ref columnCount. + + \see indexToRowCol +*/ +int QCPLayoutGrid::rowColToIndex(int row, int column) const +{ + if (row >= 0 && row < rowCount()) + { + if (column >= 0 && column < columnCount()) + { + switch (mFillOrder) + { + case foRowsFirst: return column*rowCount() + row; + case foColumnsFirst: return row*columnCount() + column; + } + } else + qDebug() << Q_FUNC_INFO << "row index out of bounds:" << row; + } else + qDebug() << Q_FUNC_INFO << "column index out of bounds:" << column; + return 0; +} + +/*! + Converts the linear index to row and column indices and writes the result to \a row and \a + column. + + The way the cells are indexed depends on \ref setFillOrder. If it is \ref foRowsFirst, the + indices increase left to right and then top to bottom. If it is \ref foColumnsFirst, the indices + increase top to bottom and then left to right. + + If there are no cells (i.e. column or row count is zero), sets \a row and \a column to -1. + + For the retrieved \a row and \a column to be valid, the passed \a index must be valid itself, + i.e. greater or equal to zero and smaller than the current \ref elementCount. + + \see rowColToIndex +*/ +void QCPLayoutGrid::indexToRowCol(int index, int &row, int &column) const +{ + row = -1; + column = -1; + const int nCols = columnCount(); + const int nRows = rowCount(); + if (nCols == 0 || nRows == 0) + return; + if (index < 0 || index >= elementCount()) + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return; + } + + switch (mFillOrder) + { + case foRowsFirst: + { + column = index / nRows; + row = index % nRows; + break; + } + case foColumnsFirst: + { + row = index / nCols; + column = index % nCols; + break; + } + } +} + +/* inherits documentation from base class */ +void QCPLayoutGrid::updateLayout() +{ + QVector<int> minColWidths, minRowHeights, maxColWidths, maxRowHeights; + getMinimumRowColSizes(&minColWidths, &minRowHeights); + getMaximumRowColSizes(&maxColWidths, &maxRowHeights); + + int totalRowSpacing = (rowCount()-1) * mRowSpacing; + int totalColSpacing = (columnCount()-1) * mColumnSpacing; + QVector<int> colWidths = getSectionSizes(maxColWidths, minColWidths, mColumnStretchFactors.toVector(), mRect.width()-totalColSpacing); + QVector<int> rowHeights = getSectionSizes(maxRowHeights, minRowHeights, mRowStretchFactors.toVector(), mRect.height()-totalRowSpacing); + + // go through cells and set rects accordingly: + int yOffset = mRect.top(); + for (int row=0; row<rowCount(); ++row) + { + if (row > 0) + yOffset += rowHeights.at(row-1)+mRowSpacing; + int xOffset = mRect.left(); + for (int col=0; col<columnCount(); ++col) + { + if (col > 0) + xOffset += colWidths.at(col-1)+mColumnSpacing; + if (mElements.at(row).at(col)) + mElements.at(row).at(col)->setOuterRect(QRect(xOffset, yOffset, colWidths.at(col), rowHeights.at(row))); + } + } +} + +/*! + \seebaseclassmethod + + Note that the association of the linear \a index to the row/column based cells depends on the + current setting of \ref setFillOrder. + + \see rowColToIndex +*/ +QCPLayoutElement *QCPLayoutGrid::elementAt(int index) const +{ + if (index >= 0 && index < elementCount()) + { + int row, col; + indexToRowCol(index, row, col); + return mElements.at(row).at(col); + } else + return 0; +} + +/*! + \seebaseclassmethod + + Note that the association of the linear \a index to the row/column based cells depends on the + current setting of \ref setFillOrder. + + \see rowColToIndex +*/ +QCPLayoutElement *QCPLayoutGrid::takeAt(int index) +{ + if (QCPLayoutElement *el = elementAt(index)) + { + releaseElement(el); + int row, col; + indexToRowCol(index, row, col); + mElements[row][col] = 0; + return el; + } else + { + qDebug() << Q_FUNC_INFO << "Attempt to take invalid index:" << index; + return 0; + } +} + +/* inherits documentation from base class */ +bool QCPLayoutGrid::take(QCPLayoutElement *element) +{ + if (element) + { + for (int i=0; i<elementCount(); ++i) + { + if (elementAt(i) == element) + { + takeAt(i); + return true; + } + } + qDebug() << Q_FUNC_INFO << "Element not in this layout, couldn't take"; + } else + qDebug() << Q_FUNC_INFO << "Can't take null element"; + return false; +} + +/* inherits documentation from base class */ +QList<QCPLayoutElement*> QCPLayoutGrid::elements(bool recursive) const +{ + QList<QCPLayoutElement*> result; + const int elCount = elementCount(); +#if QT_VERSION >= QT_VERSION_CHECK(4, 7, 0) + result.reserve(elCount); +#endif + for (int i=0; i<elCount; ++i) + result.append(elementAt(i)); + if (recursive) + { + for (int i=0; i<elCount; ++i) + { + if (result.at(i)) + result << result.at(i)->elements(recursive); + } + } + return result; +} + +/*! + Simplifies the layout by collapsing rows and columns which only contain empty cells. +*/ +void QCPLayoutGrid::simplify() +{ + // remove rows with only empty cells: + for (int row=rowCount()-1; row>=0; --row) + { + bool hasElements = false; + for (int col=0; col<columnCount(); ++col) + { + if (mElements.at(row).at(col)) + { + hasElements = true; + break; + } + } + if (!hasElements) + { + mRowStretchFactors.removeAt(row); + mElements.removeAt(row); + if (mElements.isEmpty()) // removed last element, also remove stretch factor (wouldn't happen below because also columnCount changed to 0 now) + mColumnStretchFactors.clear(); + } + } + + // remove columns with only empty cells: + for (int col=columnCount()-1; col>=0; --col) + { + bool hasElements = false; + for (int row=0; row<rowCount(); ++row) + { + if (mElements.at(row).at(col)) + { + hasElements = true; + break; + } + } + if (!hasElements) + { + mColumnStretchFactors.removeAt(col); + for (int row=0; row<rowCount(); ++row) + mElements[row].removeAt(col); + } + } +} + +/* inherits documentation from base class */ +QSize QCPLayoutGrid::minimumOuterSizeHint() const +{ + QVector<int> minColWidths, minRowHeights; + getMinimumRowColSizes(&minColWidths, &minRowHeights); + QSize result(0, 0); + for (int i=0; i<minColWidths.size(); ++i) + result.rwidth() += minColWidths.at(i); + for (int i=0; i<minRowHeights.size(); ++i) + result.rheight() += minRowHeights.at(i); + result.rwidth() += qMax(0, columnCount()-1) * mColumnSpacing; + result.rheight() += qMax(0, rowCount()-1) * mRowSpacing; + result.rwidth() += mMargins.left()+mMargins.right(); + result.rheight() += mMargins.top()+mMargins.bottom(); + return result; +} + +/* inherits documentation from base class */ +QSize QCPLayoutGrid::maximumOuterSizeHint() const +{ + QVector<int> maxColWidths, maxRowHeights; + getMaximumRowColSizes(&maxColWidths, &maxRowHeights); + + QSize result(0, 0); + for (int i=0; i<maxColWidths.size(); ++i) + result.setWidth(qMin(result.width()+maxColWidths.at(i), QWIDGETSIZE_MAX)); + for (int i=0; i<maxRowHeights.size(); ++i) + result.setHeight(qMin(result.height()+maxRowHeights.at(i), QWIDGETSIZE_MAX)); + result.rwidth() += qMax(0, columnCount()-1) * mColumnSpacing; + result.rheight() += qMax(0, rowCount()-1) * mRowSpacing; + result.rwidth() += mMargins.left()+mMargins.right(); + result.rheight() += mMargins.top()+mMargins.bottom(); + if (result.height() > QWIDGETSIZE_MAX) + result.setHeight(QWIDGETSIZE_MAX); + if (result.width() > QWIDGETSIZE_MAX) + result.setWidth(QWIDGETSIZE_MAX); + return result; +} + +/*! \internal + + Places the minimum column widths and row heights into \a minColWidths and \a minRowHeights + respectively. + + The minimum height of a row is the largest minimum height of any element's outer rect in that + row. The minimum width of a column is the largest minimum width of any element's outer rect in + that column. + + This is a helper function for \ref updateLayout. + + \see getMaximumRowColSizes +*/ +void QCPLayoutGrid::getMinimumRowColSizes(QVector<int> *minColWidths, QVector<int> *minRowHeights) const +{ + *minColWidths = QVector<int>(columnCount(), 0); + *minRowHeights = QVector<int>(rowCount(), 0); + for (int row=0; row<rowCount(); ++row) + { + for (int col=0; col<columnCount(); ++col) + { + if (QCPLayoutElement *el = mElements.at(row).at(col)) + { + QSize minSize = getFinalMinimumOuterSize(el); + if (minColWidths->at(col) < minSize.width()) + (*minColWidths)[col] = minSize.width(); + if (minRowHeights->at(row) < minSize.height()) + (*minRowHeights)[row] = minSize.height(); + } + } + } +} + +/*! \internal + + Places the maximum column widths and row heights into \a maxColWidths and \a maxRowHeights + respectively. + + The maximum height of a row is the smallest maximum height of any element's outer rect in that + row. The maximum width of a column is the smallest maximum width of any element's outer rect in + that column. + + This is a helper function for \ref updateLayout. + + \see getMinimumRowColSizes +*/ +void QCPLayoutGrid::getMaximumRowColSizes(QVector<int> *maxColWidths, QVector<int> *maxRowHeights) const +{ + *maxColWidths = QVector<int>(columnCount(), QWIDGETSIZE_MAX); + *maxRowHeights = QVector<int>(rowCount(), QWIDGETSIZE_MAX); + for (int row=0; row<rowCount(); ++row) + { + for (int col=0; col<columnCount(); ++col) + { + if (QCPLayoutElement *el = mElements.at(row).at(col)) + { + QSize maxSize = getFinalMaximumOuterSize(el); + if (maxColWidths->at(col) > maxSize.width()) + (*maxColWidths)[col] = maxSize.width(); + if (maxRowHeights->at(row) > maxSize.height()) + (*maxRowHeights)[row] = maxSize.height(); + } + } + } +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLayoutInset +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPLayoutInset + \brief A layout that places child elements aligned to the border or arbitrarily positioned + + Elements are placed either aligned to the border or at arbitrary position in the area of the + layout. Which placement applies is controlled with the \ref InsetPlacement (\ref + setInsetPlacement). + + Elements are added via \ref addElement(QCPLayoutElement *element, Qt::Alignment alignment) or + addElement(QCPLayoutElement *element, const QRectF &rect). If the first method is used, the inset + placement will default to \ref ipBorderAligned and the element will be aligned according to the + \a alignment parameter. The second method defaults to \ref ipFree and allows placing elements at + arbitrary position and size, defined by \a rect. + + The alignment or rect can be set via \ref setInsetAlignment or \ref setInsetRect, respectively. + + This is the layout that every QCPAxisRect has as \ref QCPAxisRect::insetLayout. +*/ + +/* start documentation of inline functions */ + +/*! \fn virtual void QCPLayoutInset::simplify() + + The QCPInsetLayout does not need simplification since it can never have empty cells due to its + linear index structure. This method does nothing. +*/ + +/* end documentation of inline functions */ + +/*! + Creates an instance of QCPLayoutInset and sets default values. +*/ +QCPLayoutInset::QCPLayoutInset() +{ +} + +QCPLayoutInset::~QCPLayoutInset() +{ + // clear all child layout elements. This is important because only the specific layouts know how + // to handle removing elements (clear calls virtual removeAt method to do that). + clear(); +} + +/*! + Returns the placement type of the element with the specified \a index. +*/ +QCPLayoutInset::InsetPlacement QCPLayoutInset::insetPlacement(int index) const +{ + if (elementAt(index)) + return mInsetPlacement.at(index); + else + { + qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; + return ipFree; + } +} + +/*! + Returns the alignment of the element with the specified \a index. The alignment only has a + meaning, if the inset placement (\ref setInsetPlacement) is \ref ipBorderAligned. +*/ +Qt::Alignment QCPLayoutInset::insetAlignment(int index) const +{ + if (elementAt(index)) + return mInsetAlignment.at(index); + else + { + qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; + return 0; + } +} + +/*! + Returns the rect of the element with the specified \a index. The rect only has a + meaning, if the inset placement (\ref setInsetPlacement) is \ref ipFree. +*/ +QRectF QCPLayoutInset::insetRect(int index) const +{ + if (elementAt(index)) + return mInsetRect.at(index); + else + { + qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; + return QRectF(); + } +} + +/*! + Sets the inset placement type of the element with the specified \a index to \a placement. + + \see InsetPlacement +*/ +void QCPLayoutInset::setInsetPlacement(int index, QCPLayoutInset::InsetPlacement placement) +{ + if (elementAt(index)) + mInsetPlacement[index] = placement; + else + qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; +} + +/*! + If the inset placement (\ref setInsetPlacement) is \ref ipBorderAligned, this function + is used to set the alignment of the element with the specified \a index to \a alignment. + + \a alignment is an or combination of the following alignment flags: Qt::AlignLeft, + Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other + alignment flags will be ignored. +*/ +void QCPLayoutInset::setInsetAlignment(int index, Qt::Alignment alignment) +{ + if (elementAt(index)) + mInsetAlignment[index] = alignment; + else + qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; +} + +/*! + If the inset placement (\ref setInsetPlacement) is \ref ipFree, this function is used to set the + position and size of the element with the specified \a index to \a rect. + + \a rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) + will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right + corner of the layout, with 35% width and height of the parent layout. + + Note that the minimum and maximum sizes of the embedded element (\ref + QCPLayoutElement::setMinimumSize, \ref QCPLayoutElement::setMaximumSize) are enforced. +*/ +void QCPLayoutInset::setInsetRect(int index, const QRectF &rect) +{ + if (elementAt(index)) + mInsetRect[index] = rect; + else + qDebug() << Q_FUNC_INFO << "Invalid element index:" << index; +} + +/* inherits documentation from base class */ +void QCPLayoutInset::updateLayout() +{ + for (int i=0; i<mElements.size(); ++i) + { + QCPLayoutElement *el = mElements.at(i); + QRect insetRect; + QSize finalMinSize = getFinalMinimumOuterSize(el); + QSize finalMaxSize = getFinalMaximumOuterSize(el); + if (mInsetPlacement.at(i) == ipFree) + { + insetRect = QRect(rect().x()+rect().width()*mInsetRect.at(i).x(), + rect().y()+rect().height()*mInsetRect.at(i).y(), + rect().width()*mInsetRect.at(i).width(), + rect().height()*mInsetRect.at(i).height()); + if (insetRect.size().width() < finalMinSize.width()) + insetRect.setWidth(finalMinSize.width()); + if (insetRect.size().height() < finalMinSize.height()) + insetRect.setHeight(finalMinSize.height()); + if (insetRect.size().width() > finalMaxSize.width()) + insetRect.setWidth(finalMaxSize.width()); + if (insetRect.size().height() > finalMaxSize.height()) + insetRect.setHeight(finalMaxSize.height()); + } else if (mInsetPlacement.at(i) == ipBorderAligned) + { + insetRect.setSize(finalMinSize); + Qt::Alignment al = mInsetAlignment.at(i); + if (al.testFlag(Qt::AlignLeft)) insetRect.moveLeft(rect().x()); + else if (al.testFlag(Qt::AlignRight)) insetRect.moveRight(rect().x()+rect().width()); + else insetRect.moveLeft(rect().x()+rect().width()*0.5-finalMinSize.width()*0.5); // default to Qt::AlignHCenter + if (al.testFlag(Qt::AlignTop)) insetRect.moveTop(rect().y()); + else if (al.testFlag(Qt::AlignBottom)) insetRect.moveBottom(rect().y()+rect().height()); + else insetRect.moveTop(rect().y()+rect().height()*0.5-finalMinSize.height()*0.5); // default to Qt::AlignVCenter + } + mElements.at(i)->setOuterRect(insetRect); + } +} + +/* inherits documentation from base class */ +int QCPLayoutInset::elementCount() const +{ + return mElements.size(); +} + +/* inherits documentation from base class */ +QCPLayoutElement *QCPLayoutInset::elementAt(int index) const +{ + if (index >= 0 && index < mElements.size()) + return mElements.at(index); + else + return 0; +} + +/* inherits documentation from base class */ +QCPLayoutElement *QCPLayoutInset::takeAt(int index) +{ + if (QCPLayoutElement *el = elementAt(index)) + { + releaseElement(el); + mElements.removeAt(index); + mInsetPlacement.removeAt(index); + mInsetAlignment.removeAt(index); + mInsetRect.removeAt(index); + return el; + } else + { + qDebug() << Q_FUNC_INFO << "Attempt to take invalid index:" << index; + return 0; + } +} + +/* inherits documentation from base class */ +bool QCPLayoutInset::take(QCPLayoutElement *element) +{ + if (element) + { + for (int i=0; i<elementCount(); ++i) + { + if (elementAt(i) == element) + { + takeAt(i); + return true; + } + } + qDebug() << Q_FUNC_INFO << "Element not in this layout, couldn't take"; + } else + qDebug() << Q_FUNC_INFO << "Can't take null element"; + return false; +} + +/*! + The inset layout is sensitive to events only at areas where its (visible) child elements are + sensitive. If the selectTest method of any of the child elements returns a positive number for \a + pos, this method returns a value corresponding to 0.99 times the parent plot's selection + tolerance. The inset layout is not selectable itself by default. So if \a onlySelectable is true, + -1.0 is returned. + + See \ref QCPLayerable::selectTest for a general explanation of this virtual method. +*/ +double QCPLayoutInset::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable) + return -1; + + for (int i=0; i<mElements.size(); ++i) + { + // inset layout shall only return positive selectTest, if actually an inset object is at pos + // else it would block the entire underlying QCPAxisRect with its surface. + if (mElements.at(i)->realVisibility() && mElements.at(i)->selectTest(pos, onlySelectable) >= 0) + return mParentPlot->selectionTolerance()*0.99; + } + return -1; +} + +/*! + Adds the specified \a element to the layout as an inset aligned at the border (\ref + setInsetAlignment is initialized with \ref ipBorderAligned). The alignment is set to \a + alignment. + + \a alignment is an or combination of the following alignment flags: Qt::AlignLeft, + Qt::AlignHCenter, Qt::AlighRight, Qt::AlignTop, Qt::AlignVCenter, Qt::AlignBottom. Any other + alignment flags will be ignored. + + \see addElement(QCPLayoutElement *element, const QRectF &rect) +*/ +void QCPLayoutInset::addElement(QCPLayoutElement *element, Qt::Alignment alignment) +{ + if (element) + { + if (element->layout()) // remove from old layout first + element->layout()->take(element); + mElements.append(element); + mInsetPlacement.append(ipBorderAligned); + mInsetAlignment.append(alignment); + mInsetRect.append(QRectF(0.6, 0.6, 0.4, 0.4)); + adoptElement(element); + } else + qDebug() << Q_FUNC_INFO << "Can't add null element"; +} + +/*! + Adds the specified \a element to the layout as an inset with free positioning/sizing (\ref + setInsetAlignment is initialized with \ref ipFree). The position and size is set to \a + rect. + + \a rect is given in fractions of the whole inset layout rect. So an inset with rect (0, 0, 1, 1) + will span the entire layout. An inset with rect (0.6, 0.1, 0.35, 0.35) will be in the top right + corner of the layout, with 35% width and height of the parent layout. + + \see addElement(QCPLayoutElement *element, Qt::Alignment alignment) +*/ +void QCPLayoutInset::addElement(QCPLayoutElement *element, const QRectF &rect) +{ + if (element) + { + if (element->layout()) // remove from old layout first + element->layout()->take(element); + mElements.append(element); + mInsetPlacement.append(ipFree); + mInsetAlignment.append(Qt::AlignRight|Qt::AlignTop); + mInsetRect.append(rect); + adoptElement(element); + } else + qDebug() << Q_FUNC_INFO << "Can't add null element"; +} +/* end of 'src/layout.cpp' */ + + +/* including file 'src/lineending.cpp', size 11536 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLineEnding +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLineEnding + \brief Handles the different ending decorations for line-like items + + \image html QCPLineEnding.png "The various ending styles currently supported" + + For every ending a line-like item has, an instance of this class exists. For example, QCPItemLine + has two endings which can be set with QCPItemLine::setHead and QCPItemLine::setTail. + + The styles themselves are defined via the enum QCPLineEnding::EndingStyle. Most decorations can + be modified regarding width and length, see \ref setWidth and \ref setLength. The direction of + the ending decoration (e.g. direction an arrow is pointing) is controlled by the line-like item. + For example, when both endings of a QCPItemLine are set to be arrows, they will point to opposite + directions, e.g. "outward". This can be changed by \ref setInverted, which would make the + respective arrow point inward. + + Note that due to the overloaded QCPLineEnding constructor, you may directly specify a + QCPLineEnding::EndingStyle where actually a QCPLineEnding is expected, e.g. + \snippet documentation/doc-code-snippets/mainwindow.cpp qcplineending-sethead +*/ + +/*! + Creates a QCPLineEnding instance with default values (style \ref esNone). +*/ +QCPLineEnding::QCPLineEnding() : + mStyle(esNone), + mWidth(8), + mLength(10), + mInverted(false) +{ +} + +/*! + Creates a QCPLineEnding instance with the specified values. +*/ +QCPLineEnding::QCPLineEnding(QCPLineEnding::EndingStyle style, double width, double length, bool inverted) : + mStyle(style), + mWidth(width), + mLength(length), + mInverted(inverted) +{ +} + +/*! + Sets the style of the ending decoration. +*/ +void QCPLineEnding::setStyle(QCPLineEnding::EndingStyle style) +{ + mStyle = style; +} + +/*! + Sets the width of the ending decoration, if the style supports it. On arrows, for example, the + width defines the size perpendicular to the arrow's pointing direction. + + \see setLength +*/ +void QCPLineEnding::setWidth(double width) +{ + mWidth = width; +} + +/*! + Sets the length of the ending decoration, if the style supports it. On arrows, for example, the + length defines the size in pointing direction. + + \see setWidth +*/ +void QCPLineEnding::setLength(double length) +{ + mLength = length; +} + +/*! + Sets whether the ending decoration shall be inverted. For example, an arrow decoration will point + inward when \a inverted is set to true. + + Note that also the \a width direction is inverted. For symmetrical ending styles like arrows or + discs, this doesn't make a difference. However, asymmetric styles like \ref esHalfBar are + affected by it, which can be used to control to which side the half bar points to. +*/ +void QCPLineEnding::setInverted(bool inverted) +{ + mInverted = inverted; +} + +/*! \internal + + Returns the maximum pixel radius the ending decoration might cover, starting from the position + the decoration is drawn at (typically a line ending/\ref QCPItemPosition of an item). + + This is relevant for clipping. Only omit painting of the decoration when the position where the + decoration is supposed to be drawn is farther away from the clipping rect than the returned + distance. +*/ +double QCPLineEnding::boundingDistance() const +{ + switch (mStyle) + { + case esNone: + return 0; + + case esFlatArrow: + case esSpikeArrow: + case esLineArrow: + case esSkewedBar: + return qSqrt(mWidth*mWidth+mLength*mLength); // items that have width and length + + case esDisc: + case esSquare: + case esDiamond: + case esBar: + case esHalfBar: + return mWidth*1.42; // items that only have a width -> width*sqrt(2) + + } + return 0; +} + +/*! + Starting from the origin of this line ending (which is style specific), returns the length + covered by the line ending symbol, in backward direction. + + For example, the \ref esSpikeArrow has a shorter real length than a \ref esFlatArrow, even if + both have the same \ref setLength value, because the spike arrow has an inward curved back, which + reduces the length along its center axis (the drawing origin for arrows is at the tip). + + This function is used for precise, style specific placement of line endings, for example in + QCPAxes. +*/ +double QCPLineEnding::realLength() const +{ + switch (mStyle) + { + case esNone: + case esLineArrow: + case esSkewedBar: + case esBar: + case esHalfBar: + return 0; + + case esFlatArrow: + return mLength; + + case esDisc: + case esSquare: + case esDiamond: + return mWidth*0.5; + + case esSpikeArrow: + return mLength*0.8; + } + return 0; +} + +/*! \internal + + Draws the line ending with the specified \a painter at the position \a pos. The direction of the + line ending is controlled with \a dir. +*/ +void QCPLineEnding::draw(QCPPainter *painter, const QCPVector2D &pos, const QCPVector2D &dir) const +{ + if (mStyle == esNone) + return; + + QCPVector2D lengthVec = dir.normalized() * mLength*(mInverted ? -1 : 1); + if (lengthVec.isNull()) + lengthVec = QCPVector2D(1, 0); + QCPVector2D widthVec = dir.normalized().perpendicular() * mWidth*0.5*(mInverted ? -1 : 1); + + QPen penBackup = painter->pen(); + QBrush brushBackup = painter->brush(); + QPen miterPen = penBackup; + miterPen.setJoinStyle(Qt::MiterJoin); // to make arrow heads spikey + QBrush brush(painter->pen().color(), Qt::SolidPattern); + switch (mStyle) + { + case esNone: break; + case esFlatArrow: + { + QPointF points[3] = {pos.toPointF(), + (pos-lengthVec+widthVec).toPointF(), + (pos-lengthVec-widthVec).toPointF() + }; + painter->setPen(miterPen); + painter->setBrush(brush); + painter->drawConvexPolygon(points, 3); + painter->setBrush(brushBackup); + painter->setPen(penBackup); + break; + } + case esSpikeArrow: + { + QPointF points[4] = {pos.toPointF(), + (pos-lengthVec+widthVec).toPointF(), + (pos-lengthVec*0.8).toPointF(), + (pos-lengthVec-widthVec).toPointF() + }; + painter->setPen(miterPen); + painter->setBrush(brush); + painter->drawConvexPolygon(points, 4); + painter->setBrush(brushBackup); + painter->setPen(penBackup); + break; + } + case esLineArrow: + { + QPointF points[3] = {(pos-lengthVec+widthVec).toPointF(), + pos.toPointF(), + (pos-lengthVec-widthVec).toPointF() + }; + painter->setPen(miterPen); + painter->drawPolyline(points, 3); + painter->setPen(penBackup); + break; + } + case esDisc: + { + painter->setBrush(brush); + painter->drawEllipse(pos.toPointF(), mWidth*0.5, mWidth*0.5); + painter->setBrush(brushBackup); + break; + } + case esSquare: + { + QCPVector2D widthVecPerp = widthVec.perpendicular(); + QPointF points[4] = {(pos-widthVecPerp+widthVec).toPointF(), + (pos-widthVecPerp-widthVec).toPointF(), + (pos+widthVecPerp-widthVec).toPointF(), + (pos+widthVecPerp+widthVec).toPointF() + }; + painter->setPen(miterPen); + painter->setBrush(brush); + painter->drawConvexPolygon(points, 4); + painter->setBrush(brushBackup); + painter->setPen(penBackup); + break; + } + case esDiamond: + { + QCPVector2D widthVecPerp = widthVec.perpendicular(); + QPointF points[4] = {(pos-widthVecPerp).toPointF(), + (pos-widthVec).toPointF(), + (pos+widthVecPerp).toPointF(), + (pos+widthVec).toPointF() + }; + painter->setPen(miterPen); + painter->setBrush(brush); + painter->drawConvexPolygon(points, 4); + painter->setBrush(brushBackup); + painter->setPen(penBackup); + break; + } + case esBar: + { + painter->drawLine((pos+widthVec).toPointF(), (pos-widthVec).toPointF()); + break; + } + case esHalfBar: + { + painter->drawLine((pos+widthVec).toPointF(), pos.toPointF()); + break; + } + case esSkewedBar: + { + if (qFuzzyIsNull(painter->pen().widthF()) && !painter->modes().testFlag(QCPPainter::pmNonCosmetic)) + { + // if drawing with cosmetic pen (perfectly thin stroke, happens only in vector exports), draw bar exactly on tip of line + painter->drawLine((pos+widthVec+lengthVec*0.2*(mInverted?-1:1)).toPointF(), + (pos-widthVec-lengthVec*0.2*(mInverted?-1:1)).toPointF()); + } else + { + // if drawing with thick (non-cosmetic) pen, shift bar a little in line direction to prevent line from sticking through bar slightly + painter->drawLine((pos+widthVec+lengthVec*0.2*(mInverted?-1:1)+dir.normalized()*qMax(1.0f, (float)painter->pen().widthF())*0.5f).toPointF(), + (pos-widthVec-lengthVec*0.2*(mInverted?-1:1)+dir.normalized()*qMax(1.0f, (float)painter->pen().widthF())*0.5f).toPointF()); + } + break; + } + } +} + +/*! \internal + \overload + + Draws the line ending. The direction is controlled with the \a angle parameter in radians. +*/ +void QCPLineEnding::draw(QCPPainter *painter, const QCPVector2D &pos, double angle) const +{ + draw(painter, pos, QCPVector2D(qCos(angle), qSin(angle))); +} +/* end of 'src/lineending.cpp' */ + + +/* including file 'src/axis/axisticker.cpp', size 18664 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTicker +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTicker + \brief The base class tick generator used by QCPAxis to create tick positions and tick labels + + Each QCPAxis has an internal QCPAxisTicker (or a subclass) in order to generate tick positions + and tick labels for the current axis range. The ticker of an axis can be set via \ref + QCPAxis::setTicker. Since that method takes a <tt>QSharedPointer<QCPAxisTicker></tt>, multiple + axes can share the same ticker instance. + + This base class generates normal tick coordinates and numeric labels for linear axes. It picks a + reasonable tick step (the separation between ticks) which results in readable tick labels. The + number of ticks that should be approximately generated can be set via \ref setTickCount. + Depending on the current tick step strategy (\ref setTickStepStrategy), the algorithm either + sacrifices readability to better match the specified tick count (\ref + QCPAxisTicker::tssMeetTickCount) or relaxes the tick count in favor of better tick steps (\ref + QCPAxisTicker::tssReadability), which is the default. + + The following more specialized axis ticker subclasses are available, see details in the + respective class documentation: + + <center> + <table> + <tr><td style="text-align:right; padding: 0 1em">QCPAxisTickerFixed</td><td>\image html axisticker-fixed.png</td></tr> + <tr><td style="text-align:right; padding: 0 1em">QCPAxisTickerLog</td><td>\image html axisticker-log.png</td></tr> + <tr><td style="text-align:right; padding: 0 1em">QCPAxisTickerPi</td><td>\image html axisticker-pi.png</td></tr> + <tr><td style="text-align:right; padding: 0 1em">QCPAxisTickerText</td><td>\image html axisticker-text.png</td></tr> + <tr><td style="text-align:right; padding: 0 1em">QCPAxisTickerDateTime</td><td>\image html axisticker-datetime.png</td></tr> + <tr><td style="text-align:right; padding: 0 1em">QCPAxisTickerTime</td><td>\image html axisticker-time.png + \image html axisticker-time2.png</td></tr> + </table> + </center> + + \section axisticker-subclassing Creating own axis tickers + + Creating own axis tickers can be achieved very easily by sublassing QCPAxisTicker and + reimplementing some or all of the available virtual methods. + + In the simplest case you might wish to just generate different tick steps than the other tickers, + so you only reimplement the method \ref getTickStep. If you additionally want control over the + string that will be shown as tick label, reimplement \ref getTickLabel. + + If you wish to have complete control, you can generate the tick vectors and tick label vectors + yourself by reimplementing \ref createTickVector and \ref createLabelVector. The default + implementations use the previously mentioned virtual methods \ref getTickStep and \ref + getTickLabel, but your reimplementations don't necessarily need to do so. For example in the case + of unequal tick steps, the method \ref getTickStep loses its usefulness and can be ignored. + + The sub tick count between major ticks can be controlled with \ref getSubTickCount. Full sub tick + placement control is obtained by reimplementing \ref createSubTickVector. + + See the documentation of all these virtual methods in QCPAxisTicker for detailed information + about the parameters and expected return values. +*/ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTicker::QCPAxisTicker() : + mTickStepStrategy(tssReadability), + mTickCount(5), + mTickOrigin(0) +{ +} + +QCPAxisTicker::~QCPAxisTicker() +{ + +} + +/*! + Sets which strategy the axis ticker follows when choosing the size of the tick step. For the + available strategies, see \ref TickStepStrategy. +*/ +void QCPAxisTicker::setTickStepStrategy(QCPAxisTicker::TickStepStrategy strategy) +{ + mTickStepStrategy = strategy; +} + +/*! + Sets how many ticks this ticker shall aim to generate across the axis range. Note that \a count + is not guaranteed to be matched exactly, as generating readable tick intervals may conflict with + the requested number of ticks. + + Whether the readability has priority over meeting the requested \a count can be specified with + \ref setTickStepStrategy. +*/ +void QCPAxisTicker::setTickCount(int count) +{ + if (count > 0) + mTickCount = count; + else + qDebug() << Q_FUNC_INFO << "tick count must be greater than zero:" << count; +} + +/*! + Sets the mathematical coordinate (or "offset") of the zeroth tick. This tick coordinate is just a + concept and doesn't need to be inside the currently visible axis range. + + By default \a origin is zero, which for example yields ticks {-5, 0, 5, 10, 15,...} when the tick + step is five. If \a origin is now set to 1 instead, the correspondingly generated ticks would be + {-4, 1, 6, 11, 16,...}. +*/ +void QCPAxisTicker::setTickOrigin(double origin) +{ + mTickOrigin = origin; +} + +/*! + This is the method called by QCPAxis in order to actually generate tick coordinates (\a ticks), + tick label strings (\a tickLabels) and sub tick coordinates (\a subTicks). + + The ticks are generated for the specified \a range. The generated labels typically follow the + specified \a locale, \a formatChar and number \a precision, however this might be different (or + even irrelevant) for certain QCPAxisTicker subclasses. + + The output parameter \a ticks is filled with the generated tick positions in axis coordinates. + The output parameters \a subTicks and \a tickLabels are optional (set them to 0 if not needed) + and are respectively filled with sub tick coordinates, and tick label strings belonging to \a + ticks by index. +*/ +void QCPAxisTicker::generate(const QCPRange &range, const QLocale &locale, QChar formatChar, int precision, QVector<double> &ticks, QVector<double> *subTicks, QVector<QString> *tickLabels) +{ + // generate (major) ticks: + double tickStep = getTickStep(range); + ticks = createTickVector(tickStep, range); + trimTicks(range, ticks, true); // trim ticks to visible range plus one outer tick on each side (incase a subclass createTickVector creates more) + + // generate sub ticks between major ticks: + if (subTicks) + { + if (ticks.size() > 0) + { + *subTicks = createSubTickVector(getSubTickCount(tickStep), ticks); + trimTicks(range, *subTicks, false); + } else + *subTicks = QVector<double>(); + } + + // finally trim also outliers (no further clipping happens in axis drawing): + trimTicks(range, ticks, false); + // generate labels for visible ticks if requested: + if (tickLabels) + *tickLabels = createLabelVector(ticks, locale, formatChar, precision); +} + +/*! \internal + + Takes the entire currently visible axis range and returns a sensible tick step in + order to provide readable tick labels as well as a reasonable number of tick counts (see \ref + setTickCount, \ref setTickStepStrategy). + + If a QCPAxisTicker subclass only wants a different tick step behaviour than the default + implementation, it should reimplement this method. See \ref cleanMantissa for a possible helper + function. +*/ +double QCPAxisTicker::getTickStep(const QCPRange &range) +{ + double exactStep = range.size()/(double)(mTickCount+1e-10); // mTickCount ticks on average, the small addition is to prevent jitter on exact integers + return cleanMantissa(exactStep); +} + +/*! \internal + + Takes the \a tickStep, i.e. the distance between two consecutive ticks, and returns + an appropriate number of sub ticks for that specific tick step. + + Note that a returned sub tick count of e.g. 4 will split each tick interval into 5 sections. +*/ +int QCPAxisTicker::getSubTickCount(double tickStep) +{ + int result = 1; // default to 1, if no proper value can be found + + // separate integer and fractional part of mantissa: + double epsilon = 0.01; + double intPartf; + int intPart; + double fracPart = modf(getMantissa(tickStep), &intPartf); + intPart = intPartf; + + // handle cases with (almost) integer mantissa: + if (fracPart < epsilon || 1.0-fracPart < epsilon) + { + if (1.0-fracPart < epsilon) + ++intPart; + switch (intPart) + { + case 1: result = 4; break; // 1.0 -> 0.2 substep + case 2: result = 3; break; // 2.0 -> 0.5 substep + case 3: result = 2; break; // 3.0 -> 1.0 substep + case 4: result = 3; break; // 4.0 -> 1.0 substep + case 5: result = 4; break; // 5.0 -> 1.0 substep + case 6: result = 2; break; // 6.0 -> 2.0 substep + case 7: result = 6; break; // 7.0 -> 1.0 substep + case 8: result = 3; break; // 8.0 -> 2.0 substep + case 9: result = 2; break; // 9.0 -> 3.0 substep + } + } else + { + // handle cases with significantly fractional mantissa: + if (qAbs(fracPart-0.5) < epsilon) // *.5 mantissa + { + switch (intPart) + { + case 1: result = 2; break; // 1.5 -> 0.5 substep + case 2: result = 4; break; // 2.5 -> 0.5 substep + case 3: result = 4; break; // 3.5 -> 0.7 substep + case 4: result = 2; break; // 4.5 -> 1.5 substep + case 5: result = 4; break; // 5.5 -> 1.1 substep (won't occur with default getTickStep from here on) + case 6: result = 4; break; // 6.5 -> 1.3 substep + case 7: result = 2; break; // 7.5 -> 2.5 substep + case 8: result = 4; break; // 8.5 -> 1.7 substep + case 9: result = 4; break; // 9.5 -> 1.9 substep + } + } + // if mantissa fraction isn't 0.0 or 0.5, don't bother finding good sub tick marks, leave default + } + + return result; +} + +/*! \internal + + This method returns the tick label string as it should be printed under the \a tick coordinate. + If a textual number is returned, it should respect the provided \a locale, \a formatChar and \a + precision. + + If the returned value contains exponentials of the form "2e5" and beautifully typeset powers is + enabled in the QCPAxis number format (\ref QCPAxis::setNumberFormat), the exponential part will + be formatted accordingly using multiplication symbol and superscript during rendering of the + label automatically. +*/ +QString QCPAxisTicker::getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) +{ + return locale.toString(tick, formatChar.toLatin1(), precision); +} + +/*! \internal + + Returns a vector containing all coordinates of sub ticks that should be drawn. It generates \a + subTickCount sub ticks between each tick pair given in \a ticks. + + If a QCPAxisTicker subclass needs maximal control over the generated sub ticks, it should + reimplement this method. Depending on the purpose of the subclass it doesn't necessarily need to + base its result on \a subTickCount or \a ticks. +*/ +QVector<double> QCPAxisTicker::createSubTickVector(int subTickCount, const QVector<double> &ticks) +{ + QVector<double> result; + if (subTickCount <= 0 || ticks.size() < 2) + return result; + + result.reserve((ticks.size()-1)*subTickCount); + for (int i=1; i<ticks.size(); ++i) + { + double subTickStep = (ticks.at(i)-ticks.at(i-1))/(double)(subTickCount+1); + for (int k=1; k<=subTickCount; ++k) + result.append(ticks.at(i-1) + k*subTickStep); + } + return result; +} + +/*! \internal + + Returns a vector containing all coordinates of ticks that should be drawn. The default + implementation generates ticks with a spacing of \a tickStep (mathematically starting at the tick + step origin, see \ref setTickOrigin) distributed over the passed \a range. + + In order for the axis ticker to generate proper sub ticks, it is necessary that the first and + last tick coordinates returned by this method are just below/above the provided \a range. + Otherwise the outer intervals won't contain any sub ticks. + + If a QCPAxisTicker subclass needs maximal control over the generated ticks, it should reimplement + this method. Depending on the purpose of the subclass it doesn't necessarily need to base its + result on \a tickStep, e.g. when the ticks are spaced unequally like in the case of + QCPAxisTickerLog. +*/ +QVector<double> QCPAxisTicker::createTickVector(double tickStep, const QCPRange &range) +{ + QVector<double> result; + // Generate tick positions according to tickStep: + qint64 firstStep = floor((range.lower-mTickOrigin)/tickStep); // do not use qFloor here, or we'll lose 64 bit precision + qint64 lastStep = ceil((range.upper-mTickOrigin)/tickStep); // do not use qCeil here, or we'll lose 64 bit precision + int tickcount = lastStep-firstStep+1; + if (tickcount < 0) tickcount = 0; + result.resize(tickcount); + for (int i=0; i<tickcount; ++i) + result[i] = mTickOrigin + (firstStep+i)*tickStep; + return result; +} + +/*! \internal + + Returns a vector containing all tick label strings corresponding to the tick coordinates provided + in \a ticks. The default implementation calls \ref getTickLabel to generate the respective + strings. + + It is possible but uncommon for QCPAxisTicker subclasses to reimplement this method, as + reimplementing \ref getTickLabel often achieves the intended result easier. +*/ +QVector<QString> QCPAxisTicker::createLabelVector(const QVector<double> &ticks, const QLocale &locale, QChar formatChar, int precision) +{ + QVector<QString> result; + result.reserve(ticks.size()); + for (int i=0; i<ticks.size(); ++i) + result.append(getTickLabel(ticks.at(i), locale, formatChar, precision)); + return result; +} + +/*! \internal + + Removes tick coordinates from \a ticks which lie outside the specified \a range. If \a + keepOneOutlier is true, it preserves one tick just outside the range on both sides, if present. + + The passed \a ticks must be sorted in ascending order. +*/ +void QCPAxisTicker::trimTicks(const QCPRange &range, QVector<double> &ticks, bool keepOneOutlier) const +{ + bool lowFound = false; + bool highFound = false; + int lowIndex = 0; + int highIndex = -1; + + for (int i=0; i < ticks.size(); ++i) + { + if (ticks.at(i) >= range.lower) + { + lowFound = true; + lowIndex = i; + break; + } + } + for (int i=ticks.size()-1; i >= 0; --i) + { + if (ticks.at(i) <= range.upper) + { + highFound = true; + highIndex = i; + break; + } + } + + if (highFound && lowFound) + { + int trimFront = qMax(0, lowIndex-(keepOneOutlier ? 1 : 0)); + int trimBack = qMax(0, ticks.size()-(keepOneOutlier ? 2 : 1)-highIndex); + if (trimFront > 0 || trimBack > 0) + ticks = ticks.mid(trimFront, ticks.size()-trimFront-trimBack); + } else // all ticks are either all below or all above the range + ticks.clear(); +} + +/*! \internal + + Returns the coordinate contained in \a candidates which is closest to the provided \a target. + + This method assumes \a candidates is not empty and sorted in ascending order. +*/ +double QCPAxisTicker::pickClosest(double target, const QVector<double> &candidates) const +{ + if (candidates.size() == 1) + return candidates.first(); + QVector<double>::const_iterator it = std::lower_bound(candidates.constBegin(), candidates.constEnd(), target); + if (it == candidates.constEnd()) + return *(it-1); + else if (it == candidates.constBegin()) + return *it; + else + return target-*(it-1) < *it-target ? *(it-1) : *it; +} + +/*! \internal + + Returns the decimal mantissa of \a input. Optionally, if \a magnitude is not set to zero, it also + returns the magnitude of \a input as a power of 10. + + For example, an input of 142.6 will return a mantissa of 1.426 and a magnitude of 100. +*/ +double QCPAxisTicker::getMantissa(double input, double *magnitude) const +{ + const double mag = qPow(10.0, qFloor(qLn(input)/qLn(10.0))); + if (magnitude) *magnitude = mag; + return input/mag; +} + +/*! \internal + + Returns a number that is close to \a input but has a clean, easier human readable mantissa. How + strongly the mantissa is altered, and thus how strong the result deviates from the original \a + input, depends on the current tick step strategy (see \ref setTickStepStrategy). +*/ +double QCPAxisTicker::cleanMantissa(double input) const +{ + double magnitude; + const double mantissa = getMantissa(input, &magnitude); + switch (mTickStepStrategy) + { + case tssReadability: + { + return pickClosest(mantissa, QVector<double>() << 1.0 << 2.0 << 2.5 << 5.0 << 10.0)*magnitude; + } + case tssMeetTickCount: + { + // this gives effectively a mantissa of 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 6.0, 8.0, 10.0 + if (mantissa <= 5.0) + return (int)(mantissa*2)/2.0*magnitude; // round digit after decimal point to 0.5 + else + return (int)(mantissa/2.0)*2.0*magnitude; // round to first digit in multiples of 2 + } + } + return input; +} +/* end of 'src/axis/axisticker.cpp' */ + + +/* including file 'src/axis/axistickerdatetime.cpp', size 14443 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTickerDateTime +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTickerDateTime + \brief Specialized axis ticker for calendar dates and times as axis ticks + + \image html axisticker-datetime.png + + This QCPAxisTicker subclass generates ticks that correspond to real calendar dates and times. The + plot axis coordinate is interpreted as Unix Time, so seconds since Epoch (January 1, 1970, 00:00 + UTC). This is also used for example by QDateTime in the <tt>toTime_t()/setTime_t()</tt> methods + with a precision of one second. Since Qt 4.7, millisecond accuracy can be obtained from QDateTime + by using <tt>QDateTime::fromMSecsSinceEpoch()/1000.0</tt>. The static methods \ref dateTimeToKey + and \ref keyToDateTime conveniently perform this conversion achieving a precision of one + millisecond on all Qt versions. + + The format of the date/time display in the tick labels is controlled with \ref setDateTimeFormat. + If a different time spec (time zone) shall be used, see \ref setDateTimeSpec. + + This ticker produces unequal tick spacing in order to provide intuitive date and time-of-day + ticks. For example, if the axis range spans a few years such that there is one tick per year, + ticks will be positioned on 1. January of every year. This is intuitive but, due to leap years, + will result in slightly unequal tick intervals (visually unnoticeable). The same can be seen in + the image above: even though the number of days varies month by month, this ticker generates + ticks on the same day of each month. + + If you would like to change the date/time that is used as a (mathematical) starting date for the + ticks, use the \ref setTickOrigin(const QDateTime &origin) method overload, which takes a + QDateTime. If you pass 15. July, 9:45 to this method, the yearly ticks will end up on 15. July at + 9:45 of every year. + + The ticker can be created and assigned to an axis like this: + \snippet documentation/doc-image-generator/mainwindow.cpp axistickerdatetime-creation + + \note If you rather wish to display relative times in terms of days, hours, minutes, seconds and + milliseconds, and are not interested in the intricacies of real calendar dates with months and + (leap) years, have a look at QCPAxisTickerTime instead. +*/ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTickerDateTime::QCPAxisTickerDateTime() : + mDateTimeFormat(QLatin1String("hh:mm:ss\ndd.MM.yy")), + mDateTimeSpec(Qt::LocalTime), + mDateStrategy(dsNone) +{ + setTickCount(4); +} + +/*! + Sets the format in which dates and times are displayed as tick labels. For details about the \a + format string, see the documentation of QDateTime::toString(). + + Newlines can be inserted with "\n". + + \see setDateTimeSpec +*/ +void QCPAxisTickerDateTime::setDateTimeFormat(const QString &format) +{ + mDateTimeFormat = format; +} + +/*! + Sets the time spec that is used for creating the tick labels from corresponding dates/times. + + The default value of QDateTime objects (and also QCPAxisTickerDateTime) is + <tt>Qt::LocalTime</tt>. However, if the date time values passed to QCustomPlot (e.g. in the form + of axis ranges or keys of a plottable) are given in the UTC spec, set \a spec to <tt>Qt::UTC</tt> + to get the correct axis labels. + + \see setDateTimeFormat +*/ +void QCPAxisTickerDateTime::setDateTimeSpec(Qt::TimeSpec spec) +{ + mDateTimeSpec = spec; +} + +/*! + Sets the tick origin (see \ref QCPAxisTicker::setTickOrigin) in seconds since Epoch (1. Jan 1970, + 00:00 UTC). For the date time ticker it might be more intuitive to use the overload which + directly takes a QDateTime, see \ref setTickOrigin(const QDateTime &origin). + + This is useful to define the month/day/time recurring at greater tick interval steps. For + example, If you pass 15. July, 9:45 to this method and the tick interval happens to be one tick + per year, the ticks will end up on 15. July at 9:45 of every year. +*/ +void QCPAxisTickerDateTime::setTickOrigin(double origin) +{ + QCPAxisTicker::setTickOrigin(origin); +} + +/*! + Sets the tick origin (see \ref QCPAxisTicker::setTickOrigin) as a QDateTime \a origin. + + This is useful to define the month/day/time recurring at greater tick interval steps. For + example, If you pass 15. July, 9:45 to this method and the tick interval happens to be one tick + per year, the ticks will end up on 15. July at 9:45 of every year. +*/ +void QCPAxisTickerDateTime::setTickOrigin(const QDateTime &origin) +{ + setTickOrigin(dateTimeToKey(origin)); +} + +/*! \internal + + Returns a sensible tick step with intervals appropriate for a date-time-display, such as weekly, + monthly, bi-monthly, etc. + + Note that this tick step isn't used exactly when generating the tick vector in \ref + createTickVector, but only as a guiding value requiring some correction for each individual tick + interval. Otherwise this would lead to unintuitive date displays, e.g. jumping between first day + in the month to the last day in the previous month from tick to tick, due to the non-uniform + length of months. The same problem arises with leap years. + + \seebaseclassmethod +*/ +double QCPAxisTickerDateTime::getTickStep(const QCPRange &range) +{ + double result = range.size()/(double)(mTickCount+1e-10); // mTickCount ticks on average, the small addition is to prevent jitter on exact integers + + mDateStrategy = dsNone; + if (result < 1) // ideal tick step is below 1 second -> use normal clean mantissa algorithm in units of seconds + { + result = cleanMantissa(result); + } else if (result < 86400*30.4375*12) // below a year + { + result = pickClosest(result, QVector<double>() + << 1 << 2.5 << 5 << 10 << 15 << 30 << 60 << 2.5*60 << 5*60 << 10*60 << 15*60 << 30*60 << 60*60 // second, minute, hour range + << 3600*2 << 3600*3 << 3600*6 << 3600*12 << 3600*24 // hour to day range + << 86400*2 << 86400*5 << 86400*7 << 86400*14 << 86400*30.4375 << 86400*30.4375*2 << 86400*30.4375*3 << 86400*30.4375*6 << 86400*30.4375*12); // day, week, month range (avg. days per month includes leap years) + if (result > 86400*30.4375-1) // month tick intervals or larger + mDateStrategy = dsUniformDayInMonth; + else if (result > 3600*24-1) // day tick intervals or larger + mDateStrategy = dsUniformTimeInDay; + } else // more than a year, go back to normal clean mantissa algorithm but in units of years + { + const double secondsPerYear = 86400*30.4375*12; // average including leap years + result = cleanMantissa(result/secondsPerYear)*secondsPerYear; + mDateStrategy = dsUniformDayInMonth; + } + return result; +} + +/*! \internal + + Returns a sensible sub tick count with intervals appropriate for a date-time-display, such as weekly, + monthly, bi-monthly, etc. + + \seebaseclassmethod +*/ +int QCPAxisTickerDateTime::getSubTickCount(double tickStep) +{ + int result = QCPAxisTicker::getSubTickCount(tickStep); + switch (qRound(tickStep)) // hand chosen subticks for specific minute/hour/day/week/month range (as specified in getTickStep) + { + case 5*60: result = 4; break; + case 10*60: result = 1; break; + case 15*60: result = 2; break; + case 30*60: result = 1; break; + case 60*60: result = 3; break; + case 3600*2: result = 3; break; + case 3600*3: result = 2; break; + case 3600*6: result = 1; break; + case 3600*12: result = 3; break; + case 3600*24: result = 3; break; + case 86400*2: result = 1; break; + case 86400*5: result = 4; break; + case 86400*7: result = 6; break; + case 86400*14: result = 1; break; + case (int)(86400*30.4375+0.5): result = 3; break; + case (int)(86400*30.4375*2+0.5): result = 1; break; + case (int)(86400*30.4375*3+0.5): result = 2; break; + case (int)(86400*30.4375*6+0.5): result = 5; break; + case (int)(86400*30.4375*12+0.5): result = 3; break; + } + return result; +} + +/*! \internal + + Generates a date/time tick label for tick coordinate \a tick, based on the currently set format + (\ref setDateTimeFormat) and time spec (\ref setDateTimeSpec). + + \seebaseclassmethod +*/ +QString QCPAxisTickerDateTime::getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) +{ + Q_UNUSED(precision) + Q_UNUSED(formatChar) + return locale.toString(keyToDateTime(tick).toTimeSpec(mDateTimeSpec), mDateTimeFormat); +} + +/*! \internal + + Uses the passed \a tickStep as a guiding value and applies corrections in order to obtain + non-uniform tick intervals but intuitive tick labels, e.g. falling on the same day of each month. + + \seebaseclassmethod +*/ +QVector<double> QCPAxisTickerDateTime::createTickVector(double tickStep, const QCPRange &range) +{ + QVector<double> result = QCPAxisTicker::createTickVector(tickStep, range); + if (!result.isEmpty()) + { + if (mDateStrategy == dsUniformTimeInDay) + { + QDateTime uniformDateTime = keyToDateTime(mTickOrigin); // the time of this datetime will be set for all other ticks, if possible + QDateTime tickDateTime; + for (int i=0; i<result.size(); ++i) + { + tickDateTime = keyToDateTime(result.at(i)); + tickDateTime.setTime(uniformDateTime.time()); + result[i] = dateTimeToKey(tickDateTime); + } + } else if (mDateStrategy == dsUniformDayInMonth) + { + QDateTime uniformDateTime = keyToDateTime(mTickOrigin); // this day (in month) and time will be set for all other ticks, if possible + QDateTime tickDateTime; + for (int i=0; i<result.size(); ++i) + { + tickDateTime = keyToDateTime(result.at(i)); + tickDateTime.setTime(uniformDateTime.time()); + int thisUniformDay = uniformDateTime.date().day() <= tickDateTime.date().daysInMonth() ? uniformDateTime.date().day() : tickDateTime.date().daysInMonth(); // don't exceed month (e.g. try to set day 31 in February) + if (thisUniformDay-tickDateTime.date().day() < -15) // with leap years involved, date month may jump backwards or forwards, and needs to be corrected before setting day + tickDateTime = tickDateTime.addMonths(1); + else if (thisUniformDay-tickDateTime.date().day() > 15) // with leap years involved, date month may jump backwards or forwards, and needs to be corrected before setting day + tickDateTime = tickDateTime.addMonths(-1); + tickDateTime.setDate(QDate(tickDateTime.date().year(), tickDateTime.date().month(), thisUniformDay)); + result[i] = dateTimeToKey(tickDateTime); + } + } + } + return result; +} + +/*! + A convenience method which turns \a key (in seconds since Epoch 1. Jan 1970, 00:00 UTC) into a + QDateTime object. This can be used to turn axis coordinates to actual QDateTimes. + + The accuracy achieved by this method is one millisecond, irrespective of the used Qt version (it + works around the lack of a QDateTime::fromMSecsSinceEpoch in Qt 4.6) + + \see dateTimeToKey +*/ +QDateTime QCPAxisTickerDateTime::keyToDateTime(double key) +{ +# if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) + return QDateTime::fromTime_t(key).addMSecs((key-(qint64)key)*1000); +# else + return QDateTime::fromMSecsSinceEpoch(key*1000.0); +# endif +} + +/*! \overload + + A convenience method which turns a QDateTime object into a double value that corresponds to + seconds since Epoch (1. Jan 1970, 00:00 UTC). This is the format used as axis coordinates by + QCPAxisTickerDateTime. + + The accuracy achieved by this method is one millisecond, irrespective of the used Qt version (it + works around the lack of a QDateTime::toMSecsSinceEpoch in Qt 4.6) + + \see keyToDateTime +*/ +double QCPAxisTickerDateTime::dateTimeToKey(const QDateTime dateTime) +{ +# if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) + return dateTime.toTime_t()+dateTime.time().msec()/1000.0; +# else + return dateTime.toMSecsSinceEpoch()/1000.0; +# endif +} + +/*! \overload + + A convenience method which turns a QDate object into a double value that corresponds to + seconds since Epoch (1. Jan 1970, 00:00 UTC). This is the format used as axis coordinates by + QCPAxisTickerDateTime. + + \see keyToDateTime +*/ +double QCPAxisTickerDateTime::dateTimeToKey(const QDate date) +{ +# if QT_VERSION < QT_VERSION_CHECK(4, 7, 0) + return QDateTime(date).toTime_t(); +# else + return QDateTime(date).toMSecsSinceEpoch()/1000.0; +# endif +} +/* end of 'src/axis/axistickerdatetime.cpp' */ + + +/* including file 'src/axis/axistickertime.cpp', size 11747 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTickerTime +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTickerTime + \brief Specialized axis ticker for time spans in units of milliseconds to days + + \image html axisticker-time.png + + This QCPAxisTicker subclass generates ticks that corresponds to time intervals. + + The format of the time display in the tick labels is controlled with \ref setTimeFormat and \ref + setFieldWidth. The time coordinate is in the unit of seconds with respect to the time coordinate + zero. Unlike with QCPAxisTickerDateTime, the ticks don't correspond to a specific calendar date + and time. + + The time can be displayed in milliseconds, seconds, minutes, hours and days. Depending on the + largest available unit in the format specified with \ref setTimeFormat, any time spans above will + be carried in that largest unit. So for example if the format string is "%m:%s" and a tick at + coordinate value 7815 (being 2 hours, 10 minutes and 15 seconds) is created, the resulting tick + label will show "130:15" (130 minutes, 15 seconds). If the format string is "%h:%m:%s", the hour + unit will be used and the label will thus be "02:10:15". Negative times with respect to the axis + zero will carry a leading minus sign. + + The ticker can be created and assigned to an axis like this: + \snippet documentation/doc-image-generator/mainwindow.cpp axistickertime-creation + + Here is an example of a time axis providing time information in days, hours and minutes. Due to + the axis range spanning a few days and the wanted tick count (\ref setTickCount), the ticker + decided to use tick steps of 12 hours: + + \image html axisticker-time2.png + + The format string for this example is + \snippet documentation/doc-image-generator/mainwindow.cpp axistickertime-creation-2 + + \note If you rather wish to display calendar dates and times, have a look at QCPAxisTickerDateTime + instead. +*/ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTickerTime::QCPAxisTickerTime() : + mTimeFormat(QLatin1String("%h:%m:%s")), + mSmallestUnit(tuSeconds), + mBiggestUnit(tuHours) +{ + setTickCount(4); + mFieldWidth[tuMilliseconds] = 3; + mFieldWidth[tuSeconds] = 2; + mFieldWidth[tuMinutes] = 2; + mFieldWidth[tuHours] = 2; + mFieldWidth[tuDays] = 1; + + mFormatPattern[tuMilliseconds] = QLatin1String("%z"); + mFormatPattern[tuSeconds] = QLatin1String("%s"); + mFormatPattern[tuMinutes] = QLatin1String("%m"); + mFormatPattern[tuHours] = QLatin1String("%h"); + mFormatPattern[tuDays] = QLatin1String("%d"); +} + +/*! + Sets the format that will be used to display time in the tick labels. + + The available patterns are: + - %%z for milliseconds + - %%s for seconds + - %%m for minutes + - %%h for hours + - %%d for days + + The field width (zero padding) can be controlled for each unit with \ref setFieldWidth. + + The largest unit that appears in \a format will carry all the remaining time of a certain tick + coordinate, even if it overflows the natural limit of the unit. For example, if %%m is the + largest unit it might become larger than 59 in order to consume larger time values. If on the + other hand %%h is available, the minutes will wrap around to zero after 59 and the time will + carry to the hour digit. +*/ +void QCPAxisTickerTime::setTimeFormat(const QString &format) +{ + mTimeFormat = format; + + // determine smallest and biggest unit in format, to optimize unit replacement and allow biggest + // unit to consume remaining time of a tick value and grow beyond its modulo (e.g. min > 59) + mSmallestUnit = tuMilliseconds; + mBiggestUnit = tuMilliseconds; + bool hasSmallest = false; + for (int i = tuMilliseconds; i <= tuDays; ++i) + { + TimeUnit unit = static_cast<TimeUnit>(i); + if (mTimeFormat.contains(mFormatPattern.value(unit))) + { + if (!hasSmallest) + { + mSmallestUnit = unit; + hasSmallest = true; + } + mBiggestUnit = unit; + } + } +} + +/*! + Sets the field widh of the specified \a unit to be \a width digits, when displayed in the tick + label. If the number for the specific unit is shorter than \a width, it will be padded with an + according number of zeros to the left in order to reach the field width. + + \see setTimeFormat +*/ +void QCPAxisTickerTime::setFieldWidth(QCPAxisTickerTime::TimeUnit unit, int width) +{ + mFieldWidth[unit] = qMax(width, 1); +} + +/*! \internal + + Returns the tick step appropriate for time displays, depending on the provided \a range and the + smallest available time unit in the current format (\ref setTimeFormat). For example if the unit + of seconds isn't available in the format, this method will not generate steps (like 2.5 minutes) + that require sub-minute precision to be displayed correctly. + + \seebaseclassmethod +*/ +double QCPAxisTickerTime::getTickStep(const QCPRange &range) +{ + double result = range.size()/(double)(mTickCount+1e-10); // mTickCount ticks on average, the small addition is to prevent jitter on exact integers + + if (result < 1) // ideal tick step is below 1 second -> use normal clean mantissa algorithm in units of seconds + { + if (mSmallestUnit == tuMilliseconds) + result = qMax(cleanMantissa(result), 0.001); // smallest tick step is 1 millisecond + else // have no milliseconds available in format, so stick with 1 second tickstep + result = 1.0; + } else if (result < 3600*24) // below a day + { + // the filling of availableSteps seems a bit contorted but it fills in a sorted fashion and thus saves a post-fill sorting run + QVector<double> availableSteps; + // seconds range: + if (mSmallestUnit <= tuSeconds) + availableSteps << 1; + if (mSmallestUnit == tuMilliseconds) + availableSteps << 2.5; // only allow half second steps if milliseconds are there to display it + else if (mSmallestUnit == tuSeconds) + availableSteps << 2; + if (mSmallestUnit <= tuSeconds) + availableSteps << 5 << 10 << 15 << 30; + // minutes range: + if (mSmallestUnit <= tuMinutes) + availableSteps << 1*60; + if (mSmallestUnit <= tuSeconds) + availableSteps << 2.5*60; // only allow half minute steps if seconds are there to display it + else if (mSmallestUnit == tuMinutes) + availableSteps << 2*60; + if (mSmallestUnit <= tuMinutes) + availableSteps << 5*60 << 10*60 << 15*60 << 30*60; + // hours range: + if (mSmallestUnit <= tuHours) + availableSteps << 1*3600 << 2*3600 << 3*3600 << 6*3600 << 12*3600 << 24*3600; + // pick available step that is most appropriate to approximate ideal step: + result = pickClosest(result, availableSteps); + } else // more than a day, go back to normal clean mantissa algorithm but in units of days + { + const double secondsPerDay = 3600*24; + result = cleanMantissa(result/secondsPerDay)*secondsPerDay; + } + return result; +} + +/*! \internal + + Returns the sub tick count appropriate for the provided \a tickStep and time displays. + + \seebaseclassmethod +*/ +int QCPAxisTickerTime::getSubTickCount(double tickStep) +{ + int result = QCPAxisTicker::getSubTickCount(tickStep); + switch (qRound(tickStep)) // hand chosen subticks for specific minute/hour/day range (as specified in getTickStep) + { + case 5*60: result = 4; break; + case 10*60: result = 1; break; + case 15*60: result = 2; break; + case 30*60: result = 1; break; + case 60*60: result = 3; break; + case 3600*2: result = 3; break; + case 3600*3: result = 2; break; + case 3600*6: result = 1; break; + case 3600*12: result = 3; break; + case 3600*24: result = 3; break; + } + return result; +} + +/*! \internal + + Returns the tick label corresponding to the provided \a tick and the configured format and field + widths (\ref setTimeFormat, \ref setFieldWidth). + + \seebaseclassmethod +*/ +QString QCPAxisTickerTime::getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) +{ + Q_UNUSED(precision) + Q_UNUSED(formatChar) + Q_UNUSED(locale) + bool negative = tick < 0; + if (negative) tick *= -1; + double values[tuDays+1]; // contains the msec/sec/min/... value with its respective modulo (e.g. minute 0..59) + double restValues[tuDays+1]; // contains the msec/sec/min/... value as if it's the largest available unit and thus consumes the remaining time + + restValues[tuMilliseconds] = tick*1000; + values[tuMilliseconds] = modf(restValues[tuMilliseconds]/1000, &restValues[tuSeconds])*1000; + values[tuSeconds] = modf(restValues[tuSeconds]/60, &restValues[tuMinutes])*60; + values[tuMinutes] = modf(restValues[tuMinutes]/60, &restValues[tuHours])*60; + values[tuHours] = modf(restValues[tuHours]/24, &restValues[tuDays])*24; + // no need to set values[tuDays] because days are always a rest value (there is no higher unit so it consumes all remaining time) + + QString result = mTimeFormat; + for (int i = mSmallestUnit; i <= mBiggestUnit; ++i) + { + TimeUnit iUnit = static_cast<TimeUnit>(i); + replaceUnit(result, iUnit, qRound(iUnit == mBiggestUnit ? restValues[iUnit] : values[iUnit])); + } + if (negative) + result.prepend(QLatin1Char('-')); + return result; +} + +/*! \internal + + Replaces all occurrences of the format pattern belonging to \a unit in \a text with the specified + \a value, using the field width as specified with \ref setFieldWidth for the \a unit. +*/ +void QCPAxisTickerTime::replaceUnit(QString &text, QCPAxisTickerTime::TimeUnit unit, int value) const +{ + QString valueStr = QString::number(value); + while (valueStr.size() < mFieldWidth.value(unit)) + valueStr.prepend(QLatin1Char('0')); + + text.replace(mFormatPattern.value(unit), valueStr); +} +/* end of 'src/axis/axistickertime.cpp' */ + + +/* including file 'src/axis/axistickerfixed.cpp', size 5583 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTickerFixed +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTickerFixed + \brief Specialized axis ticker with a fixed tick step + + \image html axisticker-fixed.png + + This QCPAxisTicker subclass generates ticks with a fixed tick step set with \ref setTickStep. It + is also possible to allow integer multiples and integer powers of the specified tick step with + \ref setScaleStrategy. + + A typical application of this ticker is to make an axis only display integers, by setting the + tick step of the ticker to 1.0 and the scale strategy to \ref ssMultiples. + + Another case is when a certain number has a special meaning and axis ticks should only appear at + multiples of that value. In this case you might also want to consider \ref QCPAxisTickerPi + because despite the name it is not limited to only pi symbols/values. + + The ticker can be created and assigned to an axis like this: + \snippet documentation/doc-image-generator/mainwindow.cpp axistickerfixed-creation +*/ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTickerFixed::QCPAxisTickerFixed() : + mTickStep(1.0), + mScaleStrategy(ssNone) +{ +} + +/*! + Sets the fixed tick interval to \a step. + + The axis ticker will only use this tick step when generating axis ticks. This might cause a very + high tick density and overlapping labels if the axis range is zoomed out. Using \ref + setScaleStrategy it is possible to relax the fixed step and also allow multiples or powers of \a + step. This will enable the ticker to reduce the number of ticks to a reasonable amount (see \ref + setTickCount). +*/ +void QCPAxisTickerFixed::setTickStep(double step) +{ + if (step > 0) + mTickStep = step; + else + qDebug() << Q_FUNC_INFO << "tick step must be greater than zero:" << step; +} + +/*! + Sets whether the specified tick step (\ref setTickStep) is absolutely fixed or whether + modifications may be applied to it before calculating the finally used tick step, such as + permitting multiples or powers. See \ref ScaleStrategy for details. + + The default strategy is \ref ssNone, which means the tick step is absolutely fixed. +*/ +void QCPAxisTickerFixed::setScaleStrategy(QCPAxisTickerFixed::ScaleStrategy strategy) +{ + mScaleStrategy = strategy; +} + +/*! \internal + + Determines the actually used tick step from the specified tick step and scale strategy (\ref + setTickStep, \ref setScaleStrategy). + + This method either returns the specified tick step exactly, or, if the scale strategy is not \ref + ssNone, a modification of it to allow varying the number of ticks in the current axis range. + + \seebaseclassmethod +*/ +double QCPAxisTickerFixed::getTickStep(const QCPRange &range) +{ + switch (mScaleStrategy) + { + case ssNone: + { + return mTickStep; + } + case ssMultiples: + { + double exactStep = range.size()/(double)(mTickCount+1e-10); // mTickCount ticks on average, the small addition is to prevent jitter on exact integers + if (exactStep < mTickStep) + return mTickStep; + else + return (qint64)(cleanMantissa(exactStep/mTickStep)+0.5)*mTickStep; + } + case ssPowers: + { + double exactStep = range.size()/(double)(mTickCount+1e-10); // mTickCount ticks on average, the small addition is to prevent jitter on exact integers + return qPow(mTickStep, (int)(qLn(exactStep)/qLn(mTickStep)+0.5)); + } + } + return mTickStep; +} +/* end of 'src/axis/axistickerfixed.cpp' */ + + +/* including file 'src/axis/axistickertext.cpp', size 8653 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTickerText +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTickerText + \brief Specialized axis ticker which allows arbitrary labels at specified coordinates + + \image html axisticker-text.png + + This QCPAxisTicker subclass generates ticks which can be directly specified by the user as + coordinates and associated strings. They can be passed as a whole with \ref setTicks or one at a + time with \ref addTick. Alternatively you can directly access the internal storage via \ref ticks + and modify the tick/label data there. + + This is useful for cases where the axis represents categories rather than numerical values. + + If you are updating the ticks of this ticker regularly and in a dynamic fasion (e.g. dependent on + the axis range), it is a sign that you should probably create an own ticker by subclassing + QCPAxisTicker, instead of using this one. + + The ticker can be created and assigned to an axis like this: + \snippet documentation/doc-image-generator/mainwindow.cpp axistickertext-creation +*/ + +/* start of documentation of inline functions */ + +/*! \fn QMap<double, QString> &QCPAxisTickerText::ticks() + + Returns a non-const reference to the internal map which stores the tick coordinates and their + labels. + + You can access the map directly in order to add, remove or manipulate ticks, as an alternative to + using the methods provided by QCPAxisTickerText, such as \ref setTicks and \ref addTick. +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTickerText::QCPAxisTickerText() : + mSubTickCount(0) +{ +} + +/*! \overload + + Sets the ticks that shall appear on the axis. The map key of \a ticks corresponds to the axis + coordinate, and the map value is the string that will appear as tick label. + + An alternative to manipulate ticks is to directly access the internal storage with the \ref ticks + getter. + + \see addTicks, addTick, clear +*/ +void QCPAxisTickerText::setTicks(const QMap<double, QString> &ticks) +{ + mTicks = ticks; +} + +/*! \overload + + Sets the ticks that shall appear on the axis. The entries of \a positions correspond to the axis + coordinates, and the entries of \a labels are the respective strings that will appear as tick + labels. + + \see addTicks, addTick, clear +*/ +void QCPAxisTickerText::setTicks(const QVector<double> &positions, const QVector<QString> labels) +{ + clear(); + addTicks(positions, labels); +} + +/*! + Sets the number of sub ticks that shall appear between ticks. For QCPAxisTickerText, there is no + automatic sub tick count calculation. So if sub ticks are needed, they must be configured with this + method. +*/ +void QCPAxisTickerText::setSubTickCount(int subTicks) +{ + if (subTicks >= 0) + mSubTickCount = subTicks; + else + qDebug() << Q_FUNC_INFO << "sub tick count can't be negative:" << subTicks; +} + +/*! + Clears all ticks. + + An alternative to manipulate ticks is to directly access the internal storage with the \ref ticks + getter. + + \see setTicks, addTicks, addTick +*/ +void QCPAxisTickerText::clear() +{ + mTicks.clear(); +} + +/*! + Adds a single tick to the axis at the given axis coordinate \a position, with the provided tick \a + label. + + \see addTicks, setTicks, clear +*/ +void QCPAxisTickerText::addTick(double position, QString label) +{ + mTicks.insert(position, label); +} + +/*! \overload + + Adds the provided \a ticks to the ones already existing. The map key of \a ticks corresponds to + the axis coordinate, and the map value is the string that will appear as tick label. + + An alternative to manipulate ticks is to directly access the internal storage with the \ref ticks + getter. + + \see addTick, setTicks, clear +*/ +void QCPAxisTickerText::addTicks(const QMap<double, QString> &ticks) +{ + mTicks.unite(ticks); +} + +/*! \overload + + Adds the provided ticks to the ones already existing. The entries of \a positions correspond to + the axis coordinates, and the entries of \a labels are the respective strings that will appear as + tick labels. + + An alternative to manipulate ticks is to directly access the internal storage with the \ref ticks + getter. + + \see addTick, setTicks, clear +*/ +void QCPAxisTickerText::addTicks(const QVector<double> &positions, const QVector<QString> &labels) +{ + if (positions.size() != labels.size()) + qDebug() << Q_FUNC_INFO << "passed unequal length vectors for positions and labels:" << positions.size() << labels.size(); + int n = qMin(positions.size(), labels.size()); + for (int i=0; i<n; ++i) + mTicks.insert(positions.at(i), labels.at(i)); +} + +/*! + Since the tick coordinates are provided externally, this method implementation does nothing. + + \seebaseclassmethod +*/ +double QCPAxisTickerText::getTickStep(const QCPRange &range) +{ + // text axis ticker has manual tick positions, so doesn't need this method + Q_UNUSED(range) + return 1.0; +} + +/*! + Returns the sub tick count that was configured with \ref setSubTickCount. + + \seebaseclassmethod +*/ +int QCPAxisTickerText::getSubTickCount(double tickStep) +{ + Q_UNUSED(tickStep) + return mSubTickCount; +} + +/*! + Returns the tick label which corresponds to the key \a tick in the internal tick storage. Since + the labels are provided externally, \a locale, \a formatChar, and \a precision are ignored. + + \seebaseclassmethod +*/ +QString QCPAxisTickerText::getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) +{ + Q_UNUSED(locale) + Q_UNUSED(formatChar) + Q_UNUSED(precision) + return mTicks.value(tick); +} + +/*! + Returns the externally provided tick coordinates which are in the specified \a range. If + available, one tick above and below the range is provided in addition, to allow possible sub tick + calculation. The parameter \a tickStep is ignored. + + \seebaseclassmethod +*/ +QVector<double> QCPAxisTickerText::createTickVector(double tickStep, const QCPRange &range) +{ + Q_UNUSED(tickStep) + QVector<double> result; + if (mTicks.isEmpty()) + return result; + + QMap<double, QString>::const_iterator start = mTicks.lowerBound(range.lower); + QMap<double, QString>::const_iterator end = mTicks.upperBound(range.upper); + // this method should try to give one tick outside of range so proper subticks can be generated: + if (start != mTicks.constBegin()) --start; + if (end != mTicks.constEnd()) ++end; + for (QMap<double, QString>::const_iterator it = start; it != end; ++it) + result.append(it.key()); + + return result; +} +/* end of 'src/axis/axistickertext.cpp' */ + + +/* including file 'src/axis/axistickerpi.cpp', size 11170 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTickerPi +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTickerPi + \brief Specialized axis ticker to display ticks in units of an arbitrary constant, for example pi + + \image html axisticker-pi.png + + This QCPAxisTicker subclass generates ticks that are expressed with respect to a given symbolic + constant with a numerical value specified with \ref setPiValue and an appearance in the tick + labels specified with \ref setPiSymbol. + + Ticks may be generated at fractions of the symbolic constant. How these fractions appear in the + tick label can be configured with \ref setFractionStyle. + + The ticker can be created and assigned to an axis like this: + \snippet documentation/doc-image-generator/mainwindow.cpp axistickerpi-creation +*/ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTickerPi::QCPAxisTickerPi() : + mPiSymbol(QLatin1String(" ")+QChar(0x03C0)), + mPiValue(M_PI), + mPeriodicity(0), + mFractionStyle(fsUnicodeFractions), + mPiTickStep(0) +{ + setTickCount(4); +} + +/*! + Sets how the symbol part (which is always a suffix to the number) shall appear in the axis tick + label. + + If a space shall appear between the number and the symbol, make sure the space is contained in \a + symbol. +*/ +void QCPAxisTickerPi::setPiSymbol(QString symbol) +{ + mPiSymbol = symbol; +} + +/*! + Sets the numerical value that the symbolic constant has. + + This will be used to place the appropriate fractions of the symbol at the respective axis + coordinates. +*/ +void QCPAxisTickerPi::setPiValue(double pi) +{ + mPiValue = pi; +} + +/*! + Sets whether the axis labels shall appear periodicly and if so, at which multiplicity of the + symbolic constant. + + To disable periodicity, set \a multiplesOfPi to zero. + + For example, an axis that identifies 0 with 2pi would set \a multiplesOfPi to two. +*/ +void QCPAxisTickerPi::setPeriodicity(int multiplesOfPi) +{ + mPeriodicity = qAbs(multiplesOfPi); +} + +/*! + Sets how the numerical/fractional part preceding the symbolic constant is displayed in tick + labels. See \ref FractionStyle for the various options. +*/ +void QCPAxisTickerPi::setFractionStyle(QCPAxisTickerPi::FractionStyle style) +{ + mFractionStyle = style; +} + +/*! \internal + + Returns the tick step, using the constant's value (\ref setPiValue) as base unit. In consequence + the numerical/fractional part preceding the symbolic constant is made to have a readable + mantissa. + + \seebaseclassmethod +*/ +double QCPAxisTickerPi::getTickStep(const QCPRange &range) +{ + mPiTickStep = range.size()/mPiValue/(double)(mTickCount+1e-10); // mTickCount ticks on average, the small addition is to prevent jitter on exact integers + mPiTickStep = cleanMantissa(mPiTickStep); + return mPiTickStep*mPiValue; +} + +/*! \internal + + Returns the sub tick count, using the constant's value (\ref setPiValue) as base unit. In + consequence the sub ticks divide the numerical/fractional part preceding the symbolic constant + reasonably, and not the total tick coordinate. + + \seebaseclassmethod +*/ +int QCPAxisTickerPi::getSubTickCount(double tickStep) +{ + return QCPAxisTicker::getSubTickCount(tickStep/mPiValue); +} + +/*! \internal + + Returns the tick label as a fractional/numerical part and a symbolic string as suffix. The + formatting of the fraction is done according to the specified \ref setFractionStyle. The appended + symbol is specified with \ref setPiSymbol. + + \seebaseclassmethod +*/ +QString QCPAxisTickerPi::getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) +{ + double tickInPis = tick/mPiValue; + if (mPeriodicity > 0) + tickInPis = fmod(tickInPis, mPeriodicity); + + if (mFractionStyle != fsFloatingPoint && mPiTickStep > 0.09 && mPiTickStep < 50) + { + // simply construct fraction from decimal like 1.234 -> 1234/1000 and then simplify fraction, smaller digits are irrelevant due to mPiTickStep conditional above + int denominator = 1000; + int numerator = qRound(tickInPis*denominator); + simplifyFraction(numerator, denominator); + if (qAbs(numerator) == 1 && denominator == 1) + return (numerator < 0 ? QLatin1String("-") : QLatin1String("")) + mPiSymbol.trimmed(); + else if (numerator == 0) + return QLatin1String("0"); + else + return fractionToString(numerator, denominator) + mPiSymbol; + } else + { + if (qFuzzyIsNull(tickInPis)) + return QLatin1String("0"); + else if (qFuzzyCompare(qAbs(tickInPis), 1.0)) + return (tickInPis < 0 ? QLatin1String("-") : QLatin1String("")) + mPiSymbol.trimmed(); + else + return QCPAxisTicker::getTickLabel(tickInPis, locale, formatChar, precision) + mPiSymbol; + } +} + +/*! \internal + + Takes the fraction given by \a numerator and \a denominator and modifies the values to make sure + the fraction is in irreducible form, i.e. numerator and denominator don't share any common + factors which could be cancelled. +*/ +void QCPAxisTickerPi::simplifyFraction(int &numerator, int &denominator) const +{ + if (numerator == 0 || denominator == 0) + return; + + int num = numerator; + int denom = denominator; + while (denom != 0) // euclidean gcd algorithm + { + int oldDenom = denom; + denom = num % denom; + num = oldDenom; + } + // num is now gcd of numerator and denominator + numerator /= num; + denominator /= num; +} + +/*! \internal + + Takes the fraction given by \a numerator and \a denominator and returns a string representation. + The result depends on the configured fraction style (\ref setFractionStyle). + + This method is used to format the numerical/fractional part when generating tick labels. It + simplifies the passed fraction to an irreducible form using \ref simplifyFraction and factors out + any integer parts of the fraction (e.g. "10/4" becomes "2 1/2"). +*/ +QString QCPAxisTickerPi::fractionToString(int numerator, int denominator) const +{ + if (denominator == 0) + { + qDebug() << Q_FUNC_INFO << "called with zero denominator"; + return QString(); + } + if (mFractionStyle == fsFloatingPoint) // should never be the case when calling this function + { + qDebug() << Q_FUNC_INFO << "shouldn't be called with fraction style fsDecimal"; + return QString::number(numerator/(double)denominator); // failsafe + } + int sign = numerator*denominator < 0 ? -1 : 1; + numerator = qAbs(numerator); + denominator = qAbs(denominator); + + if (denominator == 1) + { + return QString::number(sign*numerator); + } else + { + int integerPart = numerator/denominator; + int remainder = numerator%denominator; + if (remainder == 0) + { + return QString::number(sign*integerPart); + } else + { + if (mFractionStyle == fsAsciiFractions) + { + return QString(QLatin1String("%1%2%3/%4")) + .arg(sign == -1 ? QLatin1String("-") : QLatin1String("")) + .arg(integerPart > 0 ? QString::number(integerPart)+QLatin1String(" ") : QLatin1String("")) + .arg(remainder) + .arg(denominator); + } else if (mFractionStyle == fsUnicodeFractions) + { + return QString(QLatin1String("%1%2%3")) + .arg(sign == -1 ? QLatin1String("-") : QLatin1String("")) + .arg(integerPart > 0 ? QString::number(integerPart) : QLatin1String("")) + .arg(unicodeFraction(remainder, denominator)); + } + } + } + return QString(); +} + +/*! \internal + + Returns the unicode string representation of the fraction given by \a numerator and \a + denominator. This is the representation used in \ref fractionToString when the fraction style + (\ref setFractionStyle) is \ref fsUnicodeFractions. + + This method doesn't use the single-character common fractions but builds each fraction from a + superscript unicode number, the unicode fraction character, and a subscript unicode number. +*/ +QString QCPAxisTickerPi::unicodeFraction(int numerator, int denominator) const +{ + return unicodeSuperscript(numerator)+QChar(0x2044)+unicodeSubscript(denominator); +} + +/*! \internal + + Returns the unicode string representing \a number as superscript. This is used to build + unicode fractions in \ref unicodeFraction. +*/ +QString QCPAxisTickerPi::unicodeSuperscript(int number) const +{ + if (number == 0) + return QString(QChar(0x2070)); + + QString result; + while (number > 0) + { + const int digit = number%10; + switch (digit) + { + case 1: { result.prepend(QChar(0x00B9)); break; } + case 2: { result.prepend(QChar(0x00B2)); break; } + case 3: { result.prepend(QChar(0x00B3)); break; } + default: { result.prepend(QChar(0x2070+digit)); break; } + } + number /= 10; + } + return result; +} + +/*! \internal + + Returns the unicode string representing \a number as subscript. This is used to build unicode + fractions in \ref unicodeFraction. +*/ +QString QCPAxisTickerPi::unicodeSubscript(int number) const +{ + if (number == 0) + return QString(QChar(0x2080)); + + QString result; + while (number > 0) + { + result.prepend(QChar(0x2080+number%10)); + number /= 10; + } + return result; +} +/* end of 'src/axis/axistickerpi.cpp' */ + + +/* including file 'src/axis/axistickerlog.cpp', size 7106 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisTickerLog +//////////////////////////////////////////////////////////////////////////////////////////////////// +/*! \class QCPAxisTickerLog + \brief Specialized axis ticker suited for logarithmic axes + + \image html axisticker-log.png + + This QCPAxisTicker subclass generates ticks with unequal tick intervals suited for logarithmic + axis scales. The ticks are placed at powers of the specified log base (\ref setLogBase). + + Especially in the case of a log base equal to 10 (the default), it might be desirable to have + tick labels in the form of powers of ten without mantissa display. To achieve this, set the + number precision (\ref QCPAxis::setNumberPrecision) to zero and the number format (\ref + QCPAxis::setNumberFormat) to scientific (exponential) display with beautifully typeset decimal + powers, so a format string of <tt>"eb"</tt>. This will result in the following axis tick labels: + + \image html axisticker-log-powers.png + + The ticker can be created and assigned to an axis like this: + \snippet documentation/doc-image-generator/mainwindow.cpp axistickerlog-creation +*/ + +/*! + Constructs the ticker and sets reasonable default values. Axis tickers are commonly created + managed by a QSharedPointer, which then can be passed to QCPAxis::setTicker. +*/ +QCPAxisTickerLog::QCPAxisTickerLog() : + mLogBase(10.0), + mSubTickCount(8), // generates 10 intervals + mLogBaseLnInv(1.0/qLn(mLogBase)) +{ +} + +/*! + Sets the logarithm base used for tick coordinate generation. The ticks will be placed at integer + powers of \a base. +*/ +void QCPAxisTickerLog::setLogBase(double base) +{ + if (base > 0) + { + mLogBase = base; + mLogBaseLnInv = 1.0/qLn(mLogBase); + } else + qDebug() << Q_FUNC_INFO << "log base has to be greater than zero:" << base; +} + +/*! + Sets the number of sub ticks in a tick interval. Within each interval, the sub ticks are spaced + linearly to provide a better visual guide, so the sub tick density increases toward the higher + tick. + + Note that \a subTicks is the number of sub ticks (not sub intervals) in one tick interval. So in + the case of logarithm base 10 an intuitive sub tick spacing would be achieved with eight sub + ticks (the default). This means e.g. between the ticks 10 and 100 there will be eight ticks, + namely at 20, 30, 40, 50, 60, 70, 80 and 90. +*/ +void QCPAxisTickerLog::setSubTickCount(int subTicks) +{ + if (subTicks >= 0) + mSubTickCount = subTicks; + else + qDebug() << Q_FUNC_INFO << "sub tick count can't be negative:" << subTicks; +} + +/*! \internal + + Since logarithmic tick steps are necessarily different for each tick interval, this method does + nothing in the case of QCPAxisTickerLog + + \seebaseclassmethod +*/ +double QCPAxisTickerLog::getTickStep(const QCPRange &range) +{ + // Logarithmic axis ticker has unequal tick spacing, so doesn't need this method + Q_UNUSED(range) + return 1.0; +} + +/*! \internal + + Returns the sub tick count specified in \ref setSubTickCount. For QCPAxisTickerLog, there is no + automatic sub tick count calculation necessary. + + \seebaseclassmethod +*/ +int QCPAxisTickerLog::getSubTickCount(double tickStep) +{ + Q_UNUSED(tickStep) + return mSubTickCount; +} + +/*! \internal + + Creates ticks with a spacing given by the logarithm base and an increasing integer power in the + provided \a range. The step in which the power increases tick by tick is chosen in order to keep + the total number of ticks as close as possible to the tick count (\ref setTickCount). The + parameter \a tickStep is ignored for QCPAxisTickerLog + + \seebaseclassmethod +*/ +QVector<double> QCPAxisTickerLog::createTickVector(double tickStep, const QCPRange &range) +{ + Q_UNUSED(tickStep) + QVector<double> result; + if (range.lower > 0 && range.upper > 0) // positive range + { + double exactPowerStep = qLn(range.upper/range.lower)*mLogBaseLnInv/(double)(mTickCount+1e-10); + double newLogBase = qPow(mLogBase, qMax((int)cleanMantissa(exactPowerStep), 1)); + double currentTick = qPow(newLogBase, qFloor(qLn(range.lower)/qLn(newLogBase))); + result.append(currentTick); + while (currentTick < range.upper && currentTick > 0) // currentMag might be zero for ranges ~1e-300, just cancel in that case + { + currentTick *= newLogBase; + result.append(currentTick); + } + } else if (range.lower < 0 && range.upper < 0) // negative range + { + double exactPowerStep = qLn(range.lower/range.upper)*mLogBaseLnInv/(double)(mTickCount+1e-10); + double newLogBase = qPow(mLogBase, qMax((int)cleanMantissa(exactPowerStep), 1)); + double currentTick = -qPow(newLogBase, qCeil(qLn(-range.lower)/qLn(newLogBase))); + result.append(currentTick); + while (currentTick < range.upper && currentTick < 0) // currentMag might be zero for ranges ~1e-300, just cancel in that case + { + currentTick /= newLogBase; + result.append(currentTick); + } + } else // invalid range for logarithmic scale, because lower and upper have different sign + { + qDebug() << Q_FUNC_INFO << "Invalid range for logarithmic plot: " << range.lower << ".." << range.upper; + } + + return result; +} +/* end of 'src/axis/axistickerlog.cpp' */ + + +/* including file 'src/axis/axis.cpp', size 99397 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPGrid +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPGrid + \brief Responsible for drawing the grid of a QCPAxis. + + This class is tightly bound to QCPAxis. Every axis owns a grid instance and uses it to draw the + grid lines, sub grid lines and zero-line. You can interact with the grid of an axis via \ref + QCPAxis::grid. Normally, you don't need to create an instance of QCPGrid yourself. + + The axis and grid drawing was split into two classes to allow them to be placed on different + layers (both QCPAxis and QCPGrid inherit from QCPLayerable). Thus it is possible to have the grid + in the background and the axes in the foreground, and any plottables/items in between. This + described situation is the default setup, see the QCPLayer documentation. +*/ + +/*! + Creates a QCPGrid instance and sets default values. + + You shouldn't instantiate grids on their own, since every QCPAxis brings its own QCPGrid. +*/ +QCPGrid::QCPGrid(QCPAxis *parentAxis) : + QCPLayerable(parentAxis->parentPlot(), QString(), parentAxis), + mParentAxis(parentAxis) +{ + // warning: this is called in QCPAxis constructor, so parentAxis members should not be accessed/called + setParent(parentAxis); + setPen(QPen(QColor(200,200,200), 0, Qt::DotLine)); + setSubGridPen(QPen(QColor(220,220,220), 0, Qt::DotLine)); + setZeroLinePen(QPen(QColor(200,200,200), 0, Qt::SolidLine)); + setSubGridVisible(false); + setAntialiased(false); + setAntialiasedSubGrid(false); + setAntialiasedZeroLine(false); +} + +/*! + Sets whether grid lines at sub tick marks are drawn. + + \see setSubGridPen +*/ +void QCPGrid::setSubGridVisible(bool visible) +{ + mSubGridVisible = visible; +} + +/*! + Sets whether sub grid lines are drawn antialiased. +*/ +void QCPGrid::setAntialiasedSubGrid(bool enabled) +{ + mAntialiasedSubGrid = enabled; +} + +/*! + Sets whether zero lines are drawn antialiased. +*/ +void QCPGrid::setAntialiasedZeroLine(bool enabled) +{ + mAntialiasedZeroLine = enabled; +} + +/*! + Sets the pen with which (major) grid lines are drawn. +*/ +void QCPGrid::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen with which sub grid lines are drawn. +*/ +void QCPGrid::setSubGridPen(const QPen &pen) +{ + mSubGridPen = pen; +} + +/*! + Sets the pen with which zero lines are drawn. + + Zero lines are lines at value coordinate 0 which may be drawn with a different pen than other grid + lines. To disable zero lines and just draw normal grid lines at zero, set \a pen to Qt::NoPen. +*/ +void QCPGrid::setZeroLinePen(const QPen &pen) +{ + mZeroLinePen = pen; +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing the major grid lines. + + This is the antialiasing state the painter passed to the \ref draw method is in by default. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \see setAntialiased +*/ +void QCPGrid::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeGrid); +} + +/*! \internal + + Draws grid lines and sub grid lines at the positions of (sub) ticks of the parent axis, spanning + over the complete axis rect. Also draws the zero line, if appropriate (\ref setZeroLinePen). +*/ +void QCPGrid::draw(QCPPainter *painter) +{ + if (!mParentAxis) { qDebug() << Q_FUNC_INFO << "invalid parent axis"; return; } + + if (mParentAxis->subTicks() && mSubGridVisible) + drawSubGridLines(painter); + drawGridLines(painter); +} + +/*! \internal + + Draws the main grid lines and possibly a zero line with the specified painter. + + This is a helper function called by \ref draw. +*/ +void QCPGrid::drawGridLines(QCPPainter *painter) const +{ + if (!mParentAxis) { qDebug() << Q_FUNC_INFO << "invalid parent axis"; return; } + + const int tickCount = mParentAxis->mTickVector.size(); + double t; // helper variable, result of coordinate-to-pixel transforms + if (mParentAxis->orientation() == Qt::Horizontal) + { + // draw zeroline: + int zeroLineIndex = -1; + if (mZeroLinePen.style() != Qt::NoPen && mParentAxis->mRange.lower < 0 && mParentAxis->mRange.upper > 0) + { + applyAntialiasingHint(painter, mAntialiasedZeroLine, QCP::aeZeroLine); + painter->setPen(mZeroLinePen); + double epsilon = mParentAxis->range().size()*1E-6; // for comparing double to zero + for (int i=0; i<tickCount; ++i) + { + if (qAbs(mParentAxis->mTickVector.at(i)) < epsilon) + { + zeroLineIndex = i; + t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // x + painter->drawLine(QLineF(t, mParentAxis->mAxisRect->bottom(), t, mParentAxis->mAxisRect->top())); + break; + } + } + } + // draw grid lines: + applyDefaultAntialiasingHint(painter); + painter->setPen(mPen); + for (int i=0; i<tickCount; ++i) + { + if (i == zeroLineIndex) continue; // don't draw a gridline on top of the zeroline + t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // x + painter->drawLine(QLineF(t, mParentAxis->mAxisRect->bottom(), t, mParentAxis->mAxisRect->top())); + } + } else + { + // draw zeroline: + int zeroLineIndex = -1; + if (mZeroLinePen.style() != Qt::NoPen && mParentAxis->mRange.lower < 0 && mParentAxis->mRange.upper > 0) + { + applyAntialiasingHint(painter, mAntialiasedZeroLine, QCP::aeZeroLine); + painter->setPen(mZeroLinePen); + double epsilon = mParentAxis->mRange.size()*1E-6; // for comparing double to zero + for (int i=0; i<tickCount; ++i) + { + if (qAbs(mParentAxis->mTickVector.at(i)) < epsilon) + { + zeroLineIndex = i; + t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // y + painter->drawLine(QLineF(mParentAxis->mAxisRect->left(), t, mParentAxis->mAxisRect->right(), t)); + break; + } + } + } + // draw grid lines: + applyDefaultAntialiasingHint(painter); + painter->setPen(mPen); + for (int i=0; i<tickCount; ++i) + { + if (i == zeroLineIndex) continue; // don't draw a gridline on top of the zeroline + t = mParentAxis->coordToPixel(mParentAxis->mTickVector.at(i)); // y + painter->drawLine(QLineF(mParentAxis->mAxisRect->left(), t, mParentAxis->mAxisRect->right(), t)); + } + } +} + +/*! \internal + + Draws the sub grid lines with the specified painter. + + This is a helper function called by \ref draw. +*/ +void QCPGrid::drawSubGridLines(QCPPainter *painter) const +{ + if (!mParentAxis) { qDebug() << Q_FUNC_INFO << "invalid parent axis"; return; } + + applyAntialiasingHint(painter, mAntialiasedSubGrid, QCP::aeSubGrid); + double t; // helper variable, result of coordinate-to-pixel transforms + painter->setPen(mSubGridPen); + if (mParentAxis->orientation() == Qt::Horizontal) + { + for (int i=0; i<mParentAxis->mSubTickVector.size(); ++i) + { + t = mParentAxis->coordToPixel(mParentAxis->mSubTickVector.at(i)); // x + painter->drawLine(QLineF(t, mParentAxis->mAxisRect->bottom(), t, mParentAxis->mAxisRect->top())); + } + } else + { + for (int i=0; i<mParentAxis->mSubTickVector.size(); ++i) + { + t = mParentAxis->coordToPixel(mParentAxis->mSubTickVector.at(i)); // y + painter->drawLine(QLineF(mParentAxis->mAxisRect->left(), t, mParentAxis->mAxisRect->right(), t)); + } + } +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxis +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAxis + \brief Manages a single axis inside a QCustomPlot. + + Usually doesn't need to be instantiated externally. Access %QCustomPlot's default four axes via + QCustomPlot::xAxis (bottom), QCustomPlot::yAxis (left), QCustomPlot::xAxis2 (top) and + QCustomPlot::yAxis2 (right). + + Axes are always part of an axis rect, see QCPAxisRect. + \image html AxisNamesOverview.png + <center>Naming convention of axis parts</center> + \n + + \image html AxisRectSpacingOverview.png + <center>Overview of the spacings and paddings that define the geometry of an axis. The dashed gray line + on the left represents the QCustomPlot widget border.</center> + + Each axis holds an instance of QCPAxisTicker which is used to generate the tick coordinates and + tick labels. You can access the currently installed \ref ticker or set a new one (possibly one of + the specialized subclasses, or your own subclass) via \ref setTicker. For details, see the + documentation of QCPAxisTicker. +*/ + +/* start of documentation of inline functions */ + +/*! \fn Qt::Orientation QCPAxis::orientation() const + + Returns the orientation of this axis. The axis orientation (horizontal or vertical) is deduced + from the axis type (left, top, right or bottom). + + \see orientation(AxisType type), pixelOrientation +*/ + +/*! \fn QCPGrid *QCPAxis::grid() const + + Returns the \ref QCPGrid instance belonging to this axis. Access it to set details about the way the + grid is displayed. +*/ + +/*! \fn static Qt::Orientation QCPAxis::orientation(AxisType type) + + Returns the orientation of the specified axis type + + \see orientation(), pixelOrientation +*/ + +/*! \fn int QCPAxis::pixelOrientation() const + + Returns which direction points towards higher coordinate values/keys, in pixel space. + + This method returns either 1 or -1. If it returns 1, then going in the positive direction along + the orientation of the axis in pixels corresponds to going from lower to higher axis coordinates. + On the other hand, if this method returns -1, going to smaller pixel values corresponds to going + from lower to higher axis coordinates. + + For example, this is useful to easily shift axis coordinates by a certain amount given in pixels, + without having to care about reversed or vertically aligned axes: + + \code + double newKey = keyAxis->pixelToCoord(keyAxis->coordToPixel(oldKey)+10*keyAxis->pixelOrientation()); + \endcode + + \a newKey will then contain a key that is ten pixels towards higher keys, starting from \a oldKey. +*/ + +/*! \fn QSharedPointer<QCPAxisTicker> QCPAxis::ticker() const + + Returns a modifiable shared pointer to the currently installed axis ticker. The axis ticker is + responsible for generating the tick positions and tick labels of this axis. You can access the + \ref QCPAxisTicker with this method and modify basic properties such as the approximate tick count + (\ref QCPAxisTicker::setTickCount). + + You can gain more control over the axis ticks by setting a different \ref QCPAxisTicker subclass, see + the documentation there. A new axis ticker can be set with \ref setTicker. + + Since the ticker is stored in the axis as a shared pointer, multiple axes may share the same axis + ticker simply by passing the same shared pointer to multiple axes. + + \see setTicker +*/ + +/* end of documentation of inline functions */ +/* start of documentation of signals */ + +/*! \fn void QCPAxis::rangeChanged(const QCPRange &newRange) + + This signal is emitted when the range of this axis has changed. You can connect it to the \ref + setRange slot of another axis to communicate the new range to the other axis, in order for it to + be synchronized. + + You may also manipulate/correct the range with \ref setRange in a slot connected to this signal. + This is useful if for example a maximum range span shall not be exceeded, or if the lower/upper + range shouldn't go beyond certain values (see \ref QCPRange::bounded). For example, the following + slot would limit the x axis to ranges between 0 and 10: + \code + customPlot->xAxis->setRange(newRange.bounded(0, 10)) + \endcode +*/ + +/*! \fn void QCPAxis::rangeChanged(const QCPRange &newRange, const QCPRange &oldRange) + \overload + + Additionally to the new range, this signal also provides the previous range held by the axis as + \a oldRange. +*/ + +/*! \fn void QCPAxis::scaleTypeChanged(QCPAxis::ScaleType scaleType); + + This signal is emitted when the scale type changes, by calls to \ref setScaleType +*/ + +/*! \fn void QCPAxis::selectionChanged(QCPAxis::SelectableParts selection) + + This signal is emitted when the selection state of this axis has changed, either by user interaction + or by a direct call to \ref setSelectedParts. +*/ + +/*! \fn void QCPAxis::selectableChanged(const QCPAxis::SelectableParts &parts); + + This signal is emitted when the selectability changes, by calls to \ref setSelectableParts +*/ + +/* end of documentation of signals */ + +/*! + Constructs an Axis instance of Type \a type for the axis rect \a parent. + + Usually it isn't necessary to instantiate axes directly, because you can let QCustomPlot create + them for you with \ref QCPAxisRect::addAxis. If you want to use own QCPAxis-subclasses however, + create them manually and then inject them also via \ref QCPAxisRect::addAxis. +*/ +QCPAxis::QCPAxis(QCPAxisRect *parent, AxisType type) : + QCPLayerable(parent->parentPlot(), QString(), parent), + // axis base: + mAxisType(type), + mAxisRect(parent), + mPadding(5), + mOrientation(orientation(type)), + mSelectableParts(spAxis | spTickLabels | spAxisLabel), + mSelectedParts(spNone), + mBasePen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), + mSelectedBasePen(QPen(Qt::blue, 2)), + // axis label: + mLabel(), + mLabelFont(mParentPlot->font()), + mSelectedLabelFont(QFont(mLabelFont.family(), mLabelFont.pointSize(), QFont::Bold)), + mLabelColor(Qt::black), + mSelectedLabelColor(Qt::blue), + // tick labels: + mTickLabels(true), + mTickLabelFont(mParentPlot->font()), + mSelectedTickLabelFont(QFont(mTickLabelFont.family(), mTickLabelFont.pointSize(), QFont::Bold)), + mTickLabelColor(Qt::black), + mSelectedTickLabelColor(Qt::blue), + mNumberPrecision(6), + mNumberFormatChar('g'), + mNumberBeautifulPowers(true), + // ticks and subticks: + mTicks(true), + mSubTicks(true), + mTickPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), + mSelectedTickPen(QPen(Qt::blue, 2)), + mSubTickPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), + mSelectedSubTickPen(QPen(Qt::blue, 2)), + // scale and range: + mRange(0, 5), + mRangeReversed(false), + mScaleType(stLinear), + // internal members: + mGrid(new QCPGrid(this)), + mAxisPainter(new QCPAxisPainterPrivate(parent->parentPlot())), + mTicker(new QCPAxisTicker), + mCachedMarginValid(false), + mCachedMargin(0) +{ + setParent(parent); + mGrid->setVisible(false); + setAntialiased(false); + setLayer(mParentPlot->currentLayer()); // it's actually on that layer already, but we want it in front of the grid, so we place it on there again + + if (type == atTop) + { + setTickLabelPadding(3); + setLabelPadding(6); + } else if (type == atRight) + { + setTickLabelPadding(7); + setLabelPadding(12); + } else if (type == atBottom) + { + setTickLabelPadding(3); + setLabelPadding(3); + } else if (type == atLeft) + { + setTickLabelPadding(5); + setLabelPadding(10); + } +} + +QCPAxis::~QCPAxis() +{ + delete mAxisPainter; + delete mGrid; // delete grid here instead of via parent ~QObject for better defined deletion order +} + +/* No documentation as it is a property getter */ +int QCPAxis::tickLabelPadding() const +{ + return mAxisPainter->tickLabelPadding; +} + +/* No documentation as it is a property getter */ +double QCPAxis::tickLabelRotation() const +{ + return mAxisPainter->tickLabelRotation; +} + +/* No documentation as it is a property getter */ +QCPAxis::LabelSide QCPAxis::tickLabelSide() const +{ + return mAxisPainter->tickLabelSide; +} + +/* No documentation as it is a property getter */ +QString QCPAxis::numberFormat() const +{ + QString result; + result.append(mNumberFormatChar); + if (mNumberBeautifulPowers) + { + result.append(QLatin1Char('b')); + if (mAxisPainter->numberMultiplyCross) + result.append(QLatin1Char('c')); + } + return result; +} + +/* No documentation as it is a property getter */ +int QCPAxis::tickLengthIn() const +{ + return mAxisPainter->tickLengthIn; +} + +/* No documentation as it is a property getter */ +int QCPAxis::tickLengthOut() const +{ + return mAxisPainter->tickLengthOut; +} + +/* No documentation as it is a property getter */ +int QCPAxis::subTickLengthIn() const +{ + return mAxisPainter->subTickLengthIn; +} + +/* No documentation as it is a property getter */ +int QCPAxis::subTickLengthOut() const +{ + return mAxisPainter->subTickLengthOut; +} + +/* No documentation as it is a property getter */ +int QCPAxis::labelPadding() const +{ + return mAxisPainter->labelPadding; +} + +/* No documentation as it is a property getter */ +int QCPAxis::offset() const +{ + return mAxisPainter->offset; +} + +/* No documentation as it is a property getter */ +QCPLineEnding QCPAxis::lowerEnding() const +{ + return mAxisPainter->lowerEnding; +} + +/* No documentation as it is a property getter */ +QCPLineEnding QCPAxis::upperEnding() const +{ + return mAxisPainter->upperEnding; +} + +/*! + Sets whether the axis uses a linear scale or a logarithmic scale. + + Note that this method controls the coordinate transformation. You will likely also want to use a + logarithmic tick spacing and labeling, which can be achieved by setting an instance of \ref + QCPAxisTickerLog via \ref setTicker. See the documentation of \ref QCPAxisTickerLog about the + details of logarithmic axis tick creation. + + \ref setNumberPrecision +*/ +void QCPAxis::setScaleType(QCPAxis::ScaleType type) +{ + if (mScaleType != type) + { + mScaleType = type; + if (mScaleType == stLogarithmic) + setRange(mRange.sanitizedForLogScale()); + mCachedMarginValid = false; + emit scaleTypeChanged(mScaleType); + } +} + +/*! + Sets the range of the axis. + + This slot may be connected with the \ref rangeChanged signal of another axis so this axis + is always synchronized with the other axis range, when it changes. + + To invert the direction of an axis, use \ref setRangeReversed. +*/ +void QCPAxis::setRange(const QCPRange &range) +{ + if (range.lower == mRange.lower && range.upper == mRange.upper) + return; + + if (!QCPRange::validRange(range)) return; + QCPRange oldRange = mRange; + if (mScaleType == stLogarithmic) + { + mRange = range.sanitizedForLogScale(); + } else + { + mRange = range.sanitizedForLinScale(); + } + emit rangeChanged(mRange); + emit rangeChanged(mRange, oldRange); +} + +/*! + Sets whether the user can (de-)select the parts in \a selectable by clicking on the QCustomPlot surface. + (When \ref QCustomPlot::setInteractions contains iSelectAxes.) + + However, even when \a selectable is set to a value not allowing the selection of a specific part, + it is still possible to set the selection of this part manually, by calling \ref setSelectedParts + directly. + + \see SelectablePart, setSelectedParts +*/ +void QCPAxis::setSelectableParts(const SelectableParts &selectable) +{ + if (mSelectableParts != selectable) + { + mSelectableParts = selectable; + emit selectableChanged(mSelectableParts); + } +} + +/*! + Sets the selected state of the respective axis parts described by \ref SelectablePart. When a part + is selected, it uses a different pen/font. + + The entire selection mechanism for axes is handled automatically when \ref + QCustomPlot::setInteractions contains iSelectAxes. You only need to call this function when you + wish to change the selection state manually. + + This function can change the selection state of a part, independent of the \ref setSelectableParts setting. + + emits the \ref selectionChanged signal when \a selected is different from the previous selection state. + + \see SelectablePart, setSelectableParts, selectTest, setSelectedBasePen, setSelectedTickPen, setSelectedSubTickPen, + setSelectedTickLabelFont, setSelectedLabelFont, setSelectedTickLabelColor, setSelectedLabelColor +*/ +void QCPAxis::setSelectedParts(const SelectableParts &selected) +{ + if (mSelectedParts != selected) + { + mSelectedParts = selected; + emit selectionChanged(mSelectedParts); + } +} + +/*! + \overload + + Sets the lower and upper bound of the axis range. + + To invert the direction of an axis, use \ref setRangeReversed. + + There is also a slot to set a range, see \ref setRange(const QCPRange &range). +*/ +void QCPAxis::setRange(double lower, double upper) +{ + if (lower == mRange.lower && upper == mRange.upper) + return; + + if (!QCPRange::validRange(lower, upper)) return; + QCPRange oldRange = mRange; + mRange.lower = lower; + mRange.upper = upper; + if (mScaleType == stLogarithmic) + { + mRange = mRange.sanitizedForLogScale(); + } else + { + mRange = mRange.sanitizedForLinScale(); + } + emit rangeChanged(mRange); + emit rangeChanged(mRange, oldRange); +} + +/*! + \overload + + Sets the range of the axis. + + The \a position coordinate indicates together with the \a alignment parameter, where the new + range will be positioned. \a size defines the size of the new axis range. \a alignment may be + Qt::AlignLeft, Qt::AlignRight or Qt::AlignCenter. This will cause the left border, right border, + or center of the range to be aligned with \a position. Any other values of \a alignment will + default to Qt::AlignCenter. +*/ +void QCPAxis::setRange(double position, double size, Qt::AlignmentFlag alignment) +{ + if (alignment == Qt::AlignLeft) + setRange(position, position+size); + else if (alignment == Qt::AlignRight) + setRange(position-size, position); + else // alignment == Qt::AlignCenter + setRange(position-size/2.0, position+size/2.0); +} + +/*! + Sets the lower bound of the axis range. The upper bound is not changed. + \see setRange +*/ +void QCPAxis::setRangeLower(double lower) +{ + if (mRange.lower == lower) + return; + + QCPRange oldRange = mRange; + mRange.lower = lower; + if (mScaleType == stLogarithmic) + { + mRange = mRange.sanitizedForLogScale(); + } else + { + mRange = mRange.sanitizedForLinScale(); + } + emit rangeChanged(mRange); + emit rangeChanged(mRange, oldRange); +} + +/*! + Sets the upper bound of the axis range. The lower bound is not changed. + \see setRange +*/ +void QCPAxis::setRangeUpper(double upper) +{ + if (mRange.upper == upper) + return; + + QCPRange oldRange = mRange; + mRange.upper = upper; + if (mScaleType == stLogarithmic) + { + mRange = mRange.sanitizedForLogScale(); + } else + { + mRange = mRange.sanitizedForLinScale(); + } + emit rangeChanged(mRange); + emit rangeChanged(mRange, oldRange); +} + +/*! + Sets whether the axis range (direction) is displayed reversed. Normally, the values on horizontal + axes increase left to right, on vertical axes bottom to top. When \a reversed is set to true, the + direction of increasing values is inverted. + + Note that the range and data interface stays the same for reversed axes, e.g. the \a lower part + of the \ref setRange interface will still reference the mathematically smaller number than the \a + upper part. +*/ +void QCPAxis::setRangeReversed(bool reversed) +{ + mRangeReversed = reversed; +} + +/*! + The axis ticker is responsible for generating the tick positions and tick labels. See the + documentation of QCPAxisTicker for details on how to work with axis tickers. + + You can change the tick positioning/labeling behaviour of this axis by setting a different + QCPAxisTicker subclass using this method. If you only wish to modify the currently installed axis + ticker, access it via \ref ticker. + + Since the ticker is stored in the axis as a shared pointer, multiple axes may share the same axis + ticker simply by passing the same shared pointer to multiple axes. + + \see ticker +*/ +void QCPAxis::setTicker(QSharedPointer<QCPAxisTicker> ticker) +{ + if (ticker) + mTicker = ticker; + else + qDebug() << Q_FUNC_INFO << "can not set 0 as axis ticker"; + // no need to invalidate margin cache here because produced tick labels are checked for changes in setupTickVector +} + +/*! + Sets whether tick marks are displayed. + + Note that setting \a show to false does not imply that tick labels are invisible, too. To achieve + that, see \ref setTickLabels. + + \see setSubTicks +*/ +void QCPAxis::setTicks(bool show) +{ + if (mTicks != show) + { + mTicks = show; + mCachedMarginValid = false; + } +} + +/*! + Sets whether tick labels are displayed. Tick labels are the numbers drawn next to tick marks. +*/ +void QCPAxis::setTickLabels(bool show) +{ + if (mTickLabels != show) + { + mTickLabels = show; + mCachedMarginValid = false; + if (!mTickLabels) + mTickVectorLabels.clear(); + } +} + +/*! + Sets the distance between the axis base line (including any outward ticks) and the tick labels. + \see setLabelPadding, setPadding +*/ +void QCPAxis::setTickLabelPadding(int padding) +{ + if (mAxisPainter->tickLabelPadding != padding) + { + mAxisPainter->tickLabelPadding = padding; + mCachedMarginValid = false; + } +} + +/*! + Sets the font of the tick labels. + + \see setTickLabels, setTickLabelColor +*/ +void QCPAxis::setTickLabelFont(const QFont &font) +{ + if (font != mTickLabelFont) + { + mTickLabelFont = font; + mCachedMarginValid = false; + } +} + +/*! + Sets the color of the tick labels. + + \see setTickLabels, setTickLabelFont +*/ +void QCPAxis::setTickLabelColor(const QColor &color) +{ + mTickLabelColor = color; +} + +/*! + Sets the rotation of the tick labels. If \a degrees is zero, the labels are drawn normally. Else, + the tick labels are drawn rotated by \a degrees clockwise. The specified angle is bound to values + from -90 to 90 degrees. + + If \a degrees is exactly -90, 0 or 90, the tick labels are centered on the tick coordinate. For + other angles, the label is drawn with an offset such that it seems to point toward or away from + the tick mark. +*/ +void QCPAxis::setTickLabelRotation(double degrees) +{ + if (!qFuzzyIsNull(degrees-mAxisPainter->tickLabelRotation)) + { + mAxisPainter->tickLabelRotation = qBound(-90.0, degrees, 90.0); + mCachedMarginValid = false; + } +} + +/*! + Sets whether the tick labels (numbers) shall appear inside or outside the axis rect. + + The usual and default setting is \ref lsOutside. Very compact plots sometimes require tick labels + to be inside the axis rect, to save space. If \a side is set to \ref lsInside, the tick labels + appear on the inside are additionally clipped to the axis rect. +*/ +void QCPAxis::setTickLabelSide(LabelSide side) +{ + mAxisPainter->tickLabelSide = side; + mCachedMarginValid = false; +} + +/*! + Sets the number format for the numbers in tick labels. This \a formatCode is an extended version + of the format code used e.g. by QString::number() and QLocale::toString(). For reference about + that, see the "Argument Formats" section in the detailed description of the QString class. + + \a formatCode is a string of one, two or three characters. The first character is identical to + the normal format code used by Qt. In short, this means: 'e'/'E' scientific format, 'f' fixed + format, 'g'/'G' scientific or fixed, whichever is shorter. + + The second and third characters are optional and specific to QCustomPlot:\n + If the first char was 'e' or 'g', numbers are/might be displayed in the scientific format, e.g. + "5.5e9", which is ugly in a plot. So when the second char of \a formatCode is set to 'b' (for + "beautiful"), those exponential numbers are formatted in a more natural way, i.e. "5.5 + [multiplication sign] 10 [superscript] 9". By default, the multiplication sign is a centered dot. + If instead a cross should be shown (as is usual in the USA), the third char of \a formatCode can + be set to 'c'. The inserted multiplication signs are the UTF-8 characters 215 (0xD7) for the + cross and 183 (0xB7) for the dot. + + Examples for \a formatCode: + \li \c g normal format code behaviour. If number is small, fixed format is used, if number is large, + normal scientific format is used + \li \c gb If number is small, fixed format is used, if number is large, scientific format is used with + beautifully typeset decimal powers and a dot as multiplication sign + \li \c ebc All numbers are in scientific format with beautifully typeset decimal power and a cross as + multiplication sign + \li \c fb illegal format code, since fixed format doesn't support (or need) beautifully typeset decimal + powers. Format code will be reduced to 'f'. + \li \c hello illegal format code, since first char is not 'e', 'E', 'f', 'g' or 'G'. Current format + code will not be changed. +*/ +void QCPAxis::setNumberFormat(const QString &formatCode) +{ + if (formatCode.isEmpty()) + { + qDebug() << Q_FUNC_INFO << "Passed formatCode is empty"; + return; + } + mCachedMarginValid = false; + + // interpret first char as number format char: + QString allowedFormatChars(QLatin1String("eEfgG")); + if (allowedFormatChars.contains(formatCode.at(0))) + { + mNumberFormatChar = QLatin1Char(formatCode.at(0).toLatin1()); + } else + { + qDebug() << Q_FUNC_INFO << "Invalid number format code (first char not in 'eEfgG'):" << formatCode; + return; + } + if (formatCode.length() < 2) + { + mNumberBeautifulPowers = false; + mAxisPainter->numberMultiplyCross = false; + return; + } + + // interpret second char as indicator for beautiful decimal powers: + if (formatCode.at(1) == QLatin1Char('b') && (mNumberFormatChar == QLatin1Char('e') || mNumberFormatChar == QLatin1Char('g'))) + { + mNumberBeautifulPowers = true; + } else + { + qDebug() << Q_FUNC_INFO << "Invalid number format code (second char not 'b' or first char neither 'e' nor 'g'):" << formatCode; + return; + } + if (formatCode.length() < 3) + { + mAxisPainter->numberMultiplyCross = false; + return; + } + + // interpret third char as indicator for dot or cross multiplication symbol: + if (formatCode.at(2) == QLatin1Char('c')) + { + mAxisPainter->numberMultiplyCross = true; + } else if (formatCode.at(2) == QLatin1Char('d')) + { + mAxisPainter->numberMultiplyCross = false; + } else + { + qDebug() << Q_FUNC_INFO << "Invalid number format code (third char neither 'c' nor 'd'):" << formatCode; + return; + } +} + +/*! + Sets the precision of the tick label numbers. See QLocale::toString(double i, char f, int prec) + for details. The effect of precisions are most notably for number Formats starting with 'e', see + \ref setNumberFormat +*/ +void QCPAxis::setNumberPrecision(int precision) +{ + if (mNumberPrecision != precision) + { + mNumberPrecision = precision; + mCachedMarginValid = false; + } +} + +/*! + Sets the length of the ticks in pixels. \a inside is the length the ticks will reach inside the + plot and \a outside is the length they will reach outside the plot. If \a outside is greater than + zero, the tick labels and axis label will increase their distance to the axis accordingly, so + they won't collide with the ticks. + + \see setSubTickLength, setTickLengthIn, setTickLengthOut +*/ +void QCPAxis::setTickLength(int inside, int outside) +{ + setTickLengthIn(inside); + setTickLengthOut(outside); +} + +/*! + Sets the length of the inward ticks in pixels. \a inside is the length the ticks will reach + inside the plot. + + \see setTickLengthOut, setTickLength, setSubTickLength +*/ +void QCPAxis::setTickLengthIn(int inside) +{ + if (mAxisPainter->tickLengthIn != inside) + { + mAxisPainter->tickLengthIn = inside; + } +} + +/*! + Sets the length of the outward ticks in pixels. \a outside is the length the ticks will reach + outside the plot. If \a outside is greater than zero, the tick labels and axis label will + increase their distance to the axis accordingly, so they won't collide with the ticks. + + \see setTickLengthIn, setTickLength, setSubTickLength +*/ +void QCPAxis::setTickLengthOut(int outside) +{ + if (mAxisPainter->tickLengthOut != outside) + { + mAxisPainter->tickLengthOut = outside; + mCachedMarginValid = false; // only outside tick length can change margin + } +} + +/*! + Sets whether sub tick marks are displayed. + + Sub ticks are only potentially visible if (major) ticks are also visible (see \ref setTicks) + + \see setTicks +*/ +void QCPAxis::setSubTicks(bool show) +{ + if (mSubTicks != show) + { + mSubTicks = show; + mCachedMarginValid = false; + } +} + +/*! + Sets the length of the subticks in pixels. \a inside is the length the subticks will reach inside + the plot and \a outside is the length they will reach outside the plot. If \a outside is greater + than zero, the tick labels and axis label will increase their distance to the axis accordingly, + so they won't collide with the ticks. + + \see setTickLength, setSubTickLengthIn, setSubTickLengthOut +*/ +void QCPAxis::setSubTickLength(int inside, int outside) +{ + setSubTickLengthIn(inside); + setSubTickLengthOut(outside); +} + +/*! + Sets the length of the inward subticks in pixels. \a inside is the length the subticks will reach inside + the plot. + + \see setSubTickLengthOut, setSubTickLength, setTickLength +*/ +void QCPAxis::setSubTickLengthIn(int inside) +{ + if (mAxisPainter->subTickLengthIn != inside) + { + mAxisPainter->subTickLengthIn = inside; + } +} + +/*! + Sets the length of the outward subticks in pixels. \a outside is the length the subticks will reach + outside the plot. If \a outside is greater than zero, the tick labels will increase their + distance to the axis accordingly, so they won't collide with the ticks. + + \see setSubTickLengthIn, setSubTickLength, setTickLength +*/ +void QCPAxis::setSubTickLengthOut(int outside) +{ + if (mAxisPainter->subTickLengthOut != outside) + { + mAxisPainter->subTickLengthOut = outside; + mCachedMarginValid = false; // only outside tick length can change margin + } +} + +/*! + Sets the pen, the axis base line is drawn with. + + \see setTickPen, setSubTickPen +*/ +void QCPAxis::setBasePen(const QPen &pen) +{ + mBasePen = pen; +} + +/*! + Sets the pen, tick marks will be drawn with. + + \see setTickLength, setBasePen +*/ +void QCPAxis::setTickPen(const QPen &pen) +{ + mTickPen = pen; +} + +/*! + Sets the pen, subtick marks will be drawn with. + + \see setSubTickCount, setSubTickLength, setBasePen +*/ +void QCPAxis::setSubTickPen(const QPen &pen) +{ + mSubTickPen = pen; +} + +/*! + Sets the font of the axis label. + + \see setLabelColor +*/ +void QCPAxis::setLabelFont(const QFont &font) +{ + if (mLabelFont != font) + { + mLabelFont = font; + mCachedMarginValid = false; + } +} + +/*! + Sets the color of the axis label. + + \see setLabelFont +*/ +void QCPAxis::setLabelColor(const QColor &color) +{ + mLabelColor = color; +} + +/*! + Sets the text of the axis label that will be shown below/above or next to the axis, depending on + its orientation. To disable axis labels, pass an empty string as \a str. +*/ +void QCPAxis::setLabel(const QString &str) +{ + if (mLabel != str) + { + mLabel = str; + mCachedMarginValid = false; + } +} + +/*! + Sets the distance between the tick labels and the axis label. + + \see setTickLabelPadding, setPadding +*/ +void QCPAxis::setLabelPadding(int padding) +{ + if (mAxisPainter->labelPadding != padding) + { + mAxisPainter->labelPadding = padding; + mCachedMarginValid = false; + } +} + +/*! + Sets the padding of the axis. + + When \ref QCPAxisRect::setAutoMargins is enabled, the padding is the additional outer most space, + that is left blank. + + The axis padding has no meaning if \ref QCPAxisRect::setAutoMargins is disabled. + + \see setLabelPadding, setTickLabelPadding +*/ +void QCPAxis::setPadding(int padding) +{ + if (mPadding != padding) + { + mPadding = padding; + mCachedMarginValid = false; + } +} + +/*! + Sets the offset the axis has to its axis rect side. + + If an axis rect side has multiple axes and automatic margin calculation is enabled for that side, + only the offset of the inner most axis has meaning (even if it is set to be invisible). The + offset of the other, outer axes is controlled automatically, to place them at appropriate + positions. +*/ +void QCPAxis::setOffset(int offset) +{ + mAxisPainter->offset = offset; +} + +/*! + Sets the font that is used for tick labels when they are selected. + + \see setTickLabelFont, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedTickLabelFont(const QFont &font) +{ + if (font != mSelectedTickLabelFont) + { + mSelectedTickLabelFont = font; + // don't set mCachedMarginValid to false here because margin calculation is always done with non-selected fonts + } +} + +/*! + Sets the font that is used for the axis label when it is selected. + + \see setLabelFont, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedLabelFont(const QFont &font) +{ + mSelectedLabelFont = font; + // don't set mCachedMarginValid to false here because margin calculation is always done with non-selected fonts +} + +/*! + Sets the color that is used for tick labels when they are selected. + + \see setTickLabelColor, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedTickLabelColor(const QColor &color) +{ + if (color != mSelectedTickLabelColor) + { + mSelectedTickLabelColor = color; + } +} + +/*! + Sets the color that is used for the axis label when it is selected. + + \see setLabelColor, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedLabelColor(const QColor &color) +{ + mSelectedLabelColor = color; +} + +/*! + Sets the pen that is used to draw the axis base line when selected. + + \see setBasePen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedBasePen(const QPen &pen) +{ + mSelectedBasePen = pen; +} + +/*! + Sets the pen that is used to draw the (major) ticks when selected. + + \see setTickPen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedTickPen(const QPen &pen) +{ + mSelectedTickPen = pen; +} + +/*! + Sets the pen that is used to draw the subticks when selected. + + \see setSubTickPen, setSelectableParts, setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAxis::setSelectedSubTickPen(const QPen &pen) +{ + mSelectedSubTickPen = pen; +} + +/*! + Sets the style for the lower axis ending. See the documentation of QCPLineEnding for available + styles. + + For horizontal axes, this method refers to the left ending, for vertical axes the bottom ending. + Note that this meaning does not change when the axis range is reversed with \ref + setRangeReversed. + + \see setUpperEnding +*/ +void QCPAxis::setLowerEnding(const QCPLineEnding &ending) +{ + mAxisPainter->lowerEnding = ending; +} + +/*! + Sets the style for the upper axis ending. See the documentation of QCPLineEnding for available + styles. + + For horizontal axes, this method refers to the right ending, for vertical axes the top ending. + Note that this meaning does not change when the axis range is reversed with \ref + setRangeReversed. + + \see setLowerEnding +*/ +void QCPAxis::setUpperEnding(const QCPLineEnding &ending) +{ + mAxisPainter->upperEnding = ending; +} + +/*! + If the scale type (\ref setScaleType) is \ref stLinear, \a diff is added to the lower and upper + bounds of the range. The range is simply moved by \a diff. + + If the scale type is \ref stLogarithmic, the range bounds are multiplied by \a diff. This + corresponds to an apparent "linear" move in logarithmic scaling by a distance of log(diff). +*/ +void QCPAxis::moveRange(double diff) +{ + QCPRange oldRange = mRange; + if (mScaleType == stLinear) + { + mRange.lower += diff; + mRange.upper += diff; + } else // mScaleType == stLogarithmic + { + mRange.lower *= diff; + mRange.upper *= diff; + } + emit rangeChanged(mRange); + emit rangeChanged(mRange, oldRange); +} + +/*! + Scales the range of this axis by \a factor around the center of the current axis range. For + example, if \a factor is 2.0, then the axis range will double its size, and the point at the axis + range center won't have changed its position in the QCustomPlot widget (i.e. coordinates around + the center will have moved symmetrically closer). + + If you wish to scale around a different coordinate than the current axis range center, use the + overload \ref scaleRange(double factor, double center). +*/ +void QCPAxis::scaleRange(double factor) +{ + scaleRange(factor, range().center()); +} + +/*! \overload + + Scales the range of this axis by \a factor around the coordinate \a center. For example, if \a + factor is 2.0, \a center is 1.0, then the axis range will double its size, and the point at + coordinate 1.0 won't have changed its position in the QCustomPlot widget (i.e. coordinates + around 1.0 will have moved symmetrically closer to 1.0). + + \see scaleRange(double factor) +*/ +void QCPAxis::scaleRange(double factor, double center) +{ + QCPRange oldRange = mRange; + if (mScaleType == stLinear) + { + QCPRange newRange; + newRange.lower = (mRange.lower-center)*factor + center; + newRange.upper = (mRange.upper-center)*factor + center; + if (QCPRange::validRange(newRange)) + mRange = newRange.sanitizedForLinScale(); + } else // mScaleType == stLogarithmic + { + if ((mRange.upper < 0 && center < 0) || (mRange.upper > 0 && center > 0)) // make sure center has same sign as range + { + QCPRange newRange; + newRange.lower = qPow(mRange.lower/center, factor)*center; + newRange.upper = qPow(mRange.upper/center, factor)*center; + if (QCPRange::validRange(newRange)) + mRange = newRange.sanitizedForLogScale(); + } else + qDebug() << Q_FUNC_INFO << "Center of scaling operation doesn't lie in same logarithmic sign domain as range:" << center; + } + emit rangeChanged(mRange); + emit rangeChanged(mRange, oldRange); +} + +/*! + Scales the range of this axis to have a certain scale \a ratio to \a otherAxis. The scaling will + be done around the center of the current axis range. + + For example, if \a ratio is 1, this axis is the \a yAxis and \a otherAxis is \a xAxis, graphs + plotted with those axes will appear in a 1:1 aspect ratio, independent of the aspect ratio the + axis rect has. + + This is an operation that changes the range of this axis once, it doesn't fix the scale ratio + indefinitely. Note that calling this function in the constructor of the QCustomPlot's parent + won't have the desired effect, since the widget dimensions aren't defined yet, and a resizeEvent + will follow. +*/ +void QCPAxis::setScaleRatio(const QCPAxis *otherAxis, double ratio) +{ + int otherPixelSize, ownPixelSize; + + if (otherAxis->orientation() == Qt::Horizontal) + otherPixelSize = otherAxis->axisRect()->width(); + else + otherPixelSize = otherAxis->axisRect()->height(); + + if (orientation() == Qt::Horizontal) + ownPixelSize = axisRect()->width(); + else + ownPixelSize = axisRect()->height(); + + double newRangeSize = ratio*otherAxis->range().size()*ownPixelSize/(double)otherPixelSize; + setRange(range().center(), newRangeSize, Qt::AlignCenter); +} + +/*! + Changes the axis range such that all plottables associated with this axis are fully visible in + that dimension. + + \see QCPAbstractPlottable::rescaleAxes, QCustomPlot::rescaleAxes +*/ +void QCPAxis::rescale(bool onlyVisiblePlottables) +{ + QList<QCPAbstractPlottable*> p = plottables(); + QCPRange newRange; + bool haveRange = false; + for (int i=0; i<p.size(); ++i) + { + if (!p.at(i)->realVisibility() && onlyVisiblePlottables) + continue; + QCPRange plottableRange; + bool currentFoundRange; + QCP::SignDomain signDomain = QCP::sdBoth; + if (mScaleType == stLogarithmic) + signDomain = (mRange.upper < 0 ? QCP::sdNegative : QCP::sdPositive); + if (p.at(i)->keyAxis() == this) + plottableRange = p.at(i)->getKeyRange(currentFoundRange, signDomain); + else + plottableRange = p.at(i)->getValueRange(currentFoundRange, signDomain); + if (currentFoundRange) + { + if (!haveRange) + newRange = plottableRange; + else + newRange.expand(plottableRange); + haveRange = true; + } + } + if (haveRange) + { + if (!QCPRange::validRange(newRange)) // likely due to range being zero (plottable has only constant data in this axis dimension), shift current range to at least center the plottable + { + double center = (newRange.lower+newRange.upper)*0.5; // upper and lower should be equal anyway, but just to make sure, incase validRange returned false for other reason + if (mScaleType == stLinear) + { + newRange.lower = center-mRange.size()/2.0; + newRange.upper = center+mRange.size()/2.0; + } else // mScaleType == stLogarithmic + { + newRange.lower = center/qSqrt(mRange.upper/mRange.lower); + newRange.upper = center*qSqrt(mRange.upper/mRange.lower); + } + } + setRange(newRange); + } +} + +/*! + Transforms \a value, in pixel coordinates of the QCustomPlot widget, to axis coordinates. +*/ +double QCPAxis::pixelToCoord(double value) const +{ + if (orientation() == Qt::Horizontal) + { + if (mScaleType == stLinear) + { + if (!mRangeReversed) + return (value-mAxisRect->left())/(double)mAxisRect->width()*mRange.size()+mRange.lower; + else + return -(value-mAxisRect->left())/(double)mAxisRect->width()*mRange.size()+mRange.upper; + } else // mScaleType == stLogarithmic + { + if (!mRangeReversed) + return qPow(mRange.upper/mRange.lower, (value-mAxisRect->left())/(double)mAxisRect->width())*mRange.lower; + else + return qPow(mRange.upper/mRange.lower, (mAxisRect->left()-value)/(double)mAxisRect->width())*mRange.upper; + } + } else // orientation() == Qt::Vertical + { + if (mScaleType == stLinear) + { + if (!mRangeReversed) + return (mAxisRect->bottom()-value)/(double)mAxisRect->height()*mRange.size()+mRange.lower; + else + return -(mAxisRect->bottom()-value)/(double)mAxisRect->height()*mRange.size()+mRange.upper; + } else // mScaleType == stLogarithmic + { + if (!mRangeReversed) + return qPow(mRange.upper/mRange.lower, (mAxisRect->bottom()-value)/(double)mAxisRect->height())*mRange.lower; + else + return qPow(mRange.upper/mRange.lower, (value-mAxisRect->bottom())/(double)mAxisRect->height())*mRange.upper; + } + } +} + +/*! + Transforms \a value, in coordinates of the axis, to pixel coordinates of the QCustomPlot widget. +*/ +double QCPAxis::coordToPixel(double value) const +{ + if (orientation() == Qt::Horizontal) + { + if (mScaleType == stLinear) + { + if (!mRangeReversed) + return (value-mRange.lower)/mRange.size()*mAxisRect->width()+mAxisRect->left(); + else + return (mRange.upper-value)/mRange.size()*mAxisRect->width()+mAxisRect->left(); + } else // mScaleType == stLogarithmic + { + if (value >= 0.0 && mRange.upper < 0.0) // invalid value for logarithmic scale, just draw it outside visible range + return !mRangeReversed ? mAxisRect->right()+200 : mAxisRect->left()-200; + else if (value <= 0.0 && mRange.upper >= 0.0) // invalid value for logarithmic scale, just draw it outside visible range + return !mRangeReversed ? mAxisRect->left()-200 : mAxisRect->right()+200; + else + { + if (!mRangeReversed) + return qLn(value/mRange.lower)/qLn(mRange.upper/mRange.lower)*mAxisRect->width()+mAxisRect->left(); + else + return qLn(mRange.upper/value)/qLn(mRange.upper/mRange.lower)*mAxisRect->width()+mAxisRect->left(); + } + } + } else // orientation() == Qt::Vertical + { + if (mScaleType == stLinear) + { + if (!mRangeReversed) + return mAxisRect->bottom()-(value-mRange.lower)/mRange.size()*mAxisRect->height(); + else + return mAxisRect->bottom()-(mRange.upper-value)/mRange.size()*mAxisRect->height(); + } else // mScaleType == stLogarithmic + { + if (value >= 0.0 && mRange.upper < 0.0) // invalid value for logarithmic scale, just draw it outside visible range + return !mRangeReversed ? mAxisRect->top()-200 : mAxisRect->bottom()+200; + else if (value <= 0.0 && mRange.upper >= 0.0) // invalid value for logarithmic scale, just draw it outside visible range + return !mRangeReversed ? mAxisRect->bottom()+200 : mAxisRect->top()-200; + else + { + if (!mRangeReversed) + return mAxisRect->bottom()-qLn(value/mRange.lower)/qLn(mRange.upper/mRange.lower)*mAxisRect->height(); + else + return mAxisRect->bottom()-qLn(mRange.upper/value)/qLn(mRange.upper/mRange.lower)*mAxisRect->height(); + } + } + } +} + +/*! + Returns the part of the axis that is hit by \a pos (in pixels). The return value of this function + is independent of the user-selectable parts defined with \ref setSelectableParts. Further, this + function does not change the current selection state of the axis. + + If the axis is not visible (\ref setVisible), this function always returns \ref spNone. + + \see setSelectedParts, setSelectableParts, QCustomPlot::setInteractions +*/ +QCPAxis::SelectablePart QCPAxis::getPartAt(const QPointF &pos) const +{ + if (!mVisible) + return spNone; + + if (mAxisPainter->axisSelectionBox().contains(pos.toPoint())) + return spAxis; + else if (mAxisPainter->tickLabelsSelectionBox().contains(pos.toPoint())) + return spTickLabels; + else if (mAxisPainter->labelSelectionBox().contains(pos.toPoint())) + return spAxisLabel; + else + return spNone; +} + +/* inherits documentation from base class */ +double QCPAxis::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + if (!mParentPlot) return -1; + SelectablePart part = getPartAt(pos); + if ((onlySelectable && !mSelectableParts.testFlag(part)) || part == spNone) + return -1; + + if (details) + details->setValue(part); + return mParentPlot->selectionTolerance()*0.99; +} + +/*! + Returns a list of all the plottables that have this axis as key or value axis. + + If you are only interested in plottables of type QCPGraph, see \ref graphs. + + \see graphs, items +*/ +QList<QCPAbstractPlottable*> QCPAxis::plottables() const +{ + QList<QCPAbstractPlottable*> result; + if (!mParentPlot) return result; + + for (int i=0; i<mParentPlot->mPlottables.size(); ++i) + { + if (mParentPlot->mPlottables.at(i)->keyAxis() == this ||mParentPlot->mPlottables.at(i)->valueAxis() == this) + result.append(mParentPlot->mPlottables.at(i)); + } + return result; +} + +/*! + Returns a list of all the graphs that have this axis as key or value axis. + + \see plottables, items +*/ +QList<QCPGraph*> QCPAxis::graphs() const +{ + QList<QCPGraph*> result; + if (!mParentPlot) return result; + + for (int i=0; i<mParentPlot->mGraphs.size(); ++i) + { + if (mParentPlot->mGraphs.at(i)->keyAxis() == this || mParentPlot->mGraphs.at(i)->valueAxis() == this) + result.append(mParentPlot->mGraphs.at(i)); + } + return result; +} + +/*! + Returns a list of all the items that are associated with this axis. An item is considered + associated with an axis if at least one of its positions uses the axis as key or value axis. + + \see plottables, graphs +*/ +QList<QCPAbstractItem*> QCPAxis::items() const +{ + QList<QCPAbstractItem*> result; + if (!mParentPlot) return result; + + for (int itemId=0; itemId<mParentPlot->mItems.size(); ++itemId) + { + QList<QCPItemPosition*> positions = mParentPlot->mItems.at(itemId)->positions(); + for (int posId=0; posId<positions.size(); ++posId) + { + if (positions.at(posId)->keyAxis() == this || positions.at(posId)->valueAxis() == this) + { + result.append(mParentPlot->mItems.at(itemId)); + break; + } + } + } + return result; +} + +/*! + Transforms a margin side to the logically corresponding axis type. (QCP::msLeft to + QCPAxis::atLeft, QCP::msRight to QCPAxis::atRight, etc.) +*/ +QCPAxis::AxisType QCPAxis::marginSideToAxisType(QCP::MarginSide side) +{ + switch (side) + { + case QCP::msLeft: return atLeft; + case QCP::msRight: return atRight; + case QCP::msTop: return atTop; + case QCP::msBottom: return atBottom; + default: break; + } + qDebug() << Q_FUNC_INFO << "Invalid margin side passed:" << (int)side; + return atLeft; +} + +/*! + Returns the axis type that describes the opposite axis of an axis with the specified \a type. +*/ +QCPAxis::AxisType QCPAxis::opposite(QCPAxis::AxisType type) +{ + switch (type) + { + case atLeft: return atRight; break; + case atRight: return atLeft; break; + case atBottom: return atTop; break; + case atTop: return atBottom; break; + default: qDebug() << Q_FUNC_INFO << "invalid axis type"; return atLeft; break; + } +} + +/* inherits documentation from base class */ +void QCPAxis::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + SelectablePart part = details.value<SelectablePart>(); + if (mSelectableParts.testFlag(part)) + { + SelectableParts selBefore = mSelectedParts; + setSelectedParts(additive ? mSelectedParts^part : part); + if (selectionStateChanged) + *selectionStateChanged = mSelectedParts != selBefore; + } +} + +/* inherits documentation from base class */ +void QCPAxis::deselectEvent(bool *selectionStateChanged) +{ + SelectableParts selBefore = mSelectedParts; + setSelectedParts(mSelectedParts & ~mSelectableParts); + if (selectionStateChanged) + *selectionStateChanged = mSelectedParts != selBefore; +} + +/*! \internal + + This mouse event reimplementation provides the functionality to let the user drag individual axes + exclusively, by startig the drag on top of the axis. + + For the axis to accept this event and perform the single axis drag, the parent \ref QCPAxisRect + must be configured accordingly, i.e. it must allow range dragging in the orientation of this axis + (\ref QCPAxisRect::setRangeDrag) and this axis must be a draggable axis (\ref + QCPAxisRect::setRangeDragAxes) + + \seebaseclassmethod + + \note The dragging of possibly multiple axes at once by starting the drag anywhere in the axis + rect is handled by the axis rect's mouse event, e.g. \ref QCPAxisRect::mousePressEvent. +*/ +void QCPAxis::mousePressEvent(QMouseEvent *event, const QVariant &details) +{ + Q_UNUSED(details) + if (!mParentPlot->interactions().testFlag(QCP::iRangeDrag) || + !mAxisRect->rangeDrag().testFlag(orientation()) || + !mAxisRect->rangeDragAxes(orientation()).contains(this)) + { + event->ignore(); + return; + } + + if (event->buttons() & Qt::LeftButton) + { + mDragging = true; + // initialize antialiasing backup in case we start dragging: + if (mParentPlot->noAntialiasingOnDrag()) + { + mAADragBackup = mParentPlot->antialiasedElements(); + mNotAADragBackup = mParentPlot->notAntialiasedElements(); + } + // Mouse range dragging interaction: + if (mParentPlot->interactions().testFlag(QCP::iRangeDrag)) + mDragStartRange = mRange; + } +} + +/*! \internal + + This mouse event reimplementation provides the functionality to let the user drag individual axes + exclusively, by startig the drag on top of the axis. + + \seebaseclassmethod + + \note The dragging of possibly multiple axes at once by starting the drag anywhere in the axis + rect is handled by the axis rect's mouse event, e.g. \ref QCPAxisRect::mousePressEvent. + + \see QCPAxis::mousePressEvent +*/ +void QCPAxis::mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) +{ + if (mDragging) + { + const double startPixel = orientation() == Qt::Horizontal ? startPos.x() : startPos.y(); + const double currentPixel = orientation() == Qt::Horizontal ? event->pos().x() : event->pos().y(); + if (mScaleType == QCPAxis::stLinear) + { + const double diff = pixelToCoord(startPixel) - pixelToCoord(currentPixel); + setRange(mDragStartRange.lower+diff, mDragStartRange.upper+diff); + } else if (mScaleType == QCPAxis::stLogarithmic) + { + const double diff = pixelToCoord(startPixel) / pixelToCoord(currentPixel); + setRange(mDragStartRange.lower*diff, mDragStartRange.upper*diff); + } + + if (mParentPlot->noAntialiasingOnDrag()) + mParentPlot->setNotAntialiasedElements(QCP::aeAll); + mParentPlot->replot(QCustomPlot::rpQueuedReplot); + } +} + +/*! \internal + + This mouse event reimplementation provides the functionality to let the user drag individual axes + exclusively, by startig the drag on top of the axis. + + \seebaseclassmethod + + \note The dragging of possibly multiple axes at once by starting the drag anywhere in the axis + rect is handled by the axis rect's mouse event, e.g. \ref QCPAxisRect::mousePressEvent. + + \see QCPAxis::mousePressEvent +*/ +void QCPAxis::mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) +{ + Q_UNUSED(event) + Q_UNUSED(startPos) + mDragging = false; + if (mParentPlot->noAntialiasingOnDrag()) + { + mParentPlot->setAntialiasedElements(mAADragBackup); + mParentPlot->setNotAntialiasedElements(mNotAADragBackup); + } +} + +/*! \internal + + This mouse event reimplementation provides the functionality to let the user zoom individual axes + exclusively, by performing the wheel event on top of the axis. + + For the axis to accept this event and perform the single axis zoom, the parent \ref QCPAxisRect + must be configured accordingly, i.e. it must allow range zooming in the orientation of this axis + (\ref QCPAxisRect::setRangeZoom) and this axis must be a zoomable axis (\ref + QCPAxisRect::setRangeZoomAxes) + + \seebaseclassmethod + + \note The zooming of possibly multiple axes at once by performing the wheel event anywhere in the + axis rect is handled by the axis rect's mouse event, e.g. \ref QCPAxisRect::wheelEvent. +*/ +void QCPAxis::wheelEvent(QWheelEvent *event) +{ + // Mouse range zooming interaction: + if (!mParentPlot->interactions().testFlag(QCP::iRangeZoom) || + !mAxisRect->rangeZoom().testFlag(orientation()) || + !mAxisRect->rangeZoomAxes(orientation()).contains(this)) + { + event->ignore(); + return; + } + + const double wheelSteps = event->delta()/120.0; // a single step delta is +/-120 usually + const double factor = qPow(mAxisRect->rangeZoomFactor(orientation()), wheelSteps); + scaleRange(factor, pixelToCoord(orientation() == Qt::Horizontal ? event->pos().x() : event->pos().y())); + mParentPlot->replot(); +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing axis lines. + + This is the antialiasing state the painter passed to the \ref draw method is in by default. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \seebaseclassmethod + + \see setAntialiased +*/ +void QCPAxis::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeAxes); +} + +/*! \internal + + Draws the axis with the specified \a painter, using the internal QCPAxisPainterPrivate instance. + + \seebaseclassmethod +*/ +void QCPAxis::draw(QCPPainter *painter) +{ + QVector<double> subTickPositions; // the final coordToPixel transformed vector passed to QCPAxisPainter + QVector<double> tickPositions; // the final coordToPixel transformed vector passed to QCPAxisPainter + QVector<QString> tickLabels; // the final vector passed to QCPAxisPainter + tickPositions.reserve(mTickVector.size()); + tickLabels.reserve(mTickVector.size()); + subTickPositions.reserve(mSubTickVector.size()); + + if (mTicks) + { + for (int i=0; i<mTickVector.size(); ++i) + { + tickPositions.append(coordToPixel(mTickVector.at(i))); + if (mTickLabels) + tickLabels.append(mTickVectorLabels.at(i)); + } + + if (mSubTicks) + { + const int subTickCount = mSubTickVector.size(); + for (int i=0; i<subTickCount; ++i) + subTickPositions.append(coordToPixel(mSubTickVector.at(i))); + } + } + + // transfer all properties of this axis to QCPAxisPainterPrivate which it needs to draw the axis. + // Note that some axis painter properties are already set by direct feed-through with QCPAxis setters + mAxisPainter->type = mAxisType; + mAxisPainter->basePen = getBasePen(); + mAxisPainter->labelFont = getLabelFont(); + mAxisPainter->labelColor = getLabelColor(); + mAxisPainter->label = mLabel; + mAxisPainter->substituteExponent = mNumberBeautifulPowers; + mAxisPainter->tickPen = getTickPen(); + mAxisPainter->subTickPen = getSubTickPen(); + mAxisPainter->tickLabelFont = getTickLabelFont(); + mAxisPainter->tickLabelColor = getTickLabelColor(); + mAxisPainter->axisRect = mAxisRect->rect(); + mAxisPainter->viewportRect = mParentPlot->viewport(); + mAxisPainter->abbreviateDecimalPowers = mScaleType == stLogarithmic; + mAxisPainter->reversedEndings = mRangeReversed; + mAxisPainter->tickPositions = tickPositions; + mAxisPainter->tickLabels = tickLabels; + mAxisPainter->subTickPositions = subTickPositions; + mAxisPainter->draw(painter); +} + +/*! \internal + + Prepares the internal tick vector, sub tick vector and tick label vector. This is done by calling + QCPAxisTicker::generate on the currently installed ticker. + + If a change in the label text/count is detected, the cached axis margin is invalidated to make + sure the next margin calculation recalculates the label sizes and returns an up-to-date value. +*/ +void QCPAxis::setupTickVectors() +{ + if (!mParentPlot) return; + if ((!mTicks && !mTickLabels && !mGrid->visible()) || mRange.size() <= 0) return; + + QVector<QString> oldLabels = mTickVectorLabels; + mTicker->generate(mRange, mParentPlot->locale(), mNumberFormatChar, mNumberPrecision, mTickVector, mSubTicks ? &mSubTickVector : 0, mTickLabels ? &mTickVectorLabels : 0); + mCachedMarginValid &= mTickVectorLabels == oldLabels; // if labels have changed, margin might have changed, too +} + +/*! \internal + + Returns the pen that is used to draw the axis base line. Depending on the selection state, this + is either mSelectedBasePen or mBasePen. +*/ +QPen QCPAxis::getBasePen() const +{ + return mSelectedParts.testFlag(spAxis) ? mSelectedBasePen : mBasePen; +} + +/*! \internal + + Returns the pen that is used to draw the (major) ticks. Depending on the selection state, this + is either mSelectedTickPen or mTickPen. +*/ +QPen QCPAxis::getTickPen() const +{ + return mSelectedParts.testFlag(spAxis) ? mSelectedTickPen : mTickPen; +} + +/*! \internal + + Returns the pen that is used to draw the subticks. Depending on the selection state, this + is either mSelectedSubTickPen or mSubTickPen. +*/ +QPen QCPAxis::getSubTickPen() const +{ + return mSelectedParts.testFlag(spAxis) ? mSelectedSubTickPen : mSubTickPen; +} + +/*! \internal + + Returns the font that is used to draw the tick labels. Depending on the selection state, this + is either mSelectedTickLabelFont or mTickLabelFont. +*/ +QFont QCPAxis::getTickLabelFont() const +{ + return mSelectedParts.testFlag(spTickLabels) ? mSelectedTickLabelFont : mTickLabelFont; +} + +/*! \internal + + Returns the font that is used to draw the axis label. Depending on the selection state, this + is either mSelectedLabelFont or mLabelFont. +*/ +QFont QCPAxis::getLabelFont() const +{ + return mSelectedParts.testFlag(spAxisLabel) ? mSelectedLabelFont : mLabelFont; +} + +/*! \internal + + Returns the color that is used to draw the tick labels. Depending on the selection state, this + is either mSelectedTickLabelColor or mTickLabelColor. +*/ +QColor QCPAxis::getTickLabelColor() const +{ + return mSelectedParts.testFlag(spTickLabels) ? mSelectedTickLabelColor : mTickLabelColor; +} + +/*! \internal + + Returns the color that is used to draw the axis label. Depending on the selection state, this + is either mSelectedLabelColor or mLabelColor. +*/ +QColor QCPAxis::getLabelColor() const +{ + return mSelectedParts.testFlag(spAxisLabel) ? mSelectedLabelColor : mLabelColor; +} + +/*! \internal + + Returns the appropriate outward margin for this axis. It is needed if \ref + QCPAxisRect::setAutoMargins is set to true on the parent axis rect. An axis with axis type \ref + atLeft will return an appropriate left margin, \ref atBottom will return an appropriate bottom + margin and so forth. For the calculation, this function goes through similar steps as \ref draw, + so changing one function likely requires the modification of the other one as well. + + The margin consists of the outward tick length, tick label padding, tick label size, label + padding, label size, and padding. + + The margin is cached internally, so repeated calls while leaving the axis range, fonts, etc. + unchanged are very fast. +*/ +int QCPAxis::calculateMargin() +{ + if (!mVisible) // if not visible, directly return 0, don't cache 0 because we can't react to setVisible in QCPAxis + return 0; + + if (mCachedMarginValid) + return mCachedMargin; + + // run through similar steps as QCPAxis::draw, and calculate margin needed to fit axis and its labels + int margin = 0; + + QVector<double> tickPositions; // the final coordToPixel transformed vector passed to QCPAxisPainter + QVector<QString> tickLabels; // the final vector passed to QCPAxisPainter + tickPositions.reserve(mTickVector.size()); + tickLabels.reserve(mTickVector.size()); + + if (mTicks) + { + for (int i=0; i<mTickVector.size(); ++i) + { + tickPositions.append(coordToPixel(mTickVector.at(i))); + if (mTickLabels) + tickLabels.append(mTickVectorLabels.at(i)); + } + } + // transfer all properties of this axis to QCPAxisPainterPrivate which it needs to calculate the size. + // Note that some axis painter properties are already set by direct feed-through with QCPAxis setters + mAxisPainter->type = mAxisType; + mAxisPainter->labelFont = getLabelFont(); + mAxisPainter->label = mLabel; + mAxisPainter->tickLabelFont = mTickLabelFont; + mAxisPainter->axisRect = mAxisRect->rect(); + mAxisPainter->viewportRect = mParentPlot->viewport(); + mAxisPainter->tickPositions = tickPositions; + mAxisPainter->tickLabels = tickLabels; + margin += mAxisPainter->size(); + margin += mPadding; + + mCachedMargin = margin; + mCachedMarginValid = true; + return margin; +} + +/* inherits documentation from base class */ +QCP::Interaction QCPAxis::selectionCategory() const +{ + return QCP::iSelectAxes; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisPainterPrivate +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAxisPainterPrivate + + \internal + \brief (Private) + + This is a private class and not part of the public QCustomPlot interface. + + It is used by QCPAxis to do the low-level drawing of axis backbone, tick marks, tick labels and + axis label. It also buffers the labels to reduce replot times. The parameters are configured by + directly accessing the public member variables. +*/ + +/*! + Constructs a QCPAxisPainterPrivate instance. Make sure to not create a new instance on every + redraw, to utilize the caching mechanisms. +*/ +QCPAxisPainterPrivate::QCPAxisPainterPrivate(QCustomPlot *parentPlot) : + type(QCPAxis::atLeft), + basePen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), + lowerEnding(QCPLineEnding::esNone), + upperEnding(QCPLineEnding::esNone), + labelPadding(0), + tickLabelPadding(0), + tickLabelRotation(0), + tickLabelSide(QCPAxis::lsOutside), + substituteExponent(true), + numberMultiplyCross(false), + tickLengthIn(5), + tickLengthOut(0), + subTickLengthIn(2), + subTickLengthOut(0), + tickPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), + subTickPen(QPen(Qt::black, 0, Qt::SolidLine, Qt::SquareCap)), + offset(0), + abbreviateDecimalPowers(false), + reversedEndings(false), + mParentPlot(parentPlot), + mLabelCache(16) // cache at most 16 (tick) labels +{ +} + +QCPAxisPainterPrivate::~QCPAxisPainterPrivate() +{ +} + +/*! \internal + + Draws the axis with the specified \a painter. + + The selection boxes (mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox) are set + here, too. +*/ +void QCPAxisPainterPrivate::draw(QCPPainter *painter) +{ + QByteArray newHash = generateLabelParameterHash(); + if (newHash != mLabelParameterHash) + { + mLabelCache.clear(); + mLabelParameterHash = newHash; + } + + QPoint origin; + switch (type) + { + case QCPAxis::atLeft: origin = axisRect.bottomLeft() +QPoint(-offset, 0); break; + case QCPAxis::atRight: origin = axisRect.bottomRight()+QPoint(+offset, 0); break; + case QCPAxis::atTop: origin = axisRect.topLeft() +QPoint(0, -offset); break; + case QCPAxis::atBottom: origin = axisRect.bottomLeft() +QPoint(0, +offset); break; + } + + double xCor = 0, yCor = 0; // paint system correction, for pixel exact matches (affects baselines and ticks of top/right axes) + switch (type) + { + case QCPAxis::atTop: yCor = -1; break; + case QCPAxis::atRight: xCor = 1; break; + default: break; + } + int margin = 0; + // draw baseline: + QLineF baseLine; + painter->setPen(basePen); + if (QCPAxis::orientation(type) == Qt::Horizontal) + baseLine.setPoints(origin+QPointF(xCor, yCor), origin+QPointF(axisRect.width()+xCor, yCor)); + else + baseLine.setPoints(origin+QPointF(xCor, yCor), origin+QPointF(xCor, -axisRect.height()+yCor)); + if (reversedEndings) + baseLine = QLineF(baseLine.p2(), baseLine.p1()); // won't make a difference for line itself, but for line endings later + painter->drawLine(baseLine); + + // draw ticks: + if (!tickPositions.isEmpty()) + { + painter->setPen(tickPen); + int tickDir = (type == QCPAxis::atBottom || type == QCPAxis::atRight) ? -1 : 1; // direction of ticks ("inward" is right for left axis and left for right axis) + if (QCPAxis::orientation(type) == Qt::Horizontal) + { + for (int i=0; i<tickPositions.size(); ++i) + painter->drawLine(QLineF(tickPositions.at(i)+xCor, origin.y()-tickLengthOut*tickDir+yCor, tickPositions.at(i)+xCor, origin.y()+tickLengthIn*tickDir+yCor)); + } else + { + for (int i=0; i<tickPositions.size(); ++i) + painter->drawLine(QLineF(origin.x()-tickLengthOut*tickDir+xCor, tickPositions.at(i)+yCor, origin.x()+tickLengthIn*tickDir+xCor, tickPositions.at(i)+yCor)); + } + } + + // draw subticks: + if (!subTickPositions.isEmpty()) + { + painter->setPen(subTickPen); + // direction of ticks ("inward" is right for left axis and left for right axis) + int tickDir = (type == QCPAxis::atBottom || type == QCPAxis::atRight) ? -1 : 1; + if (QCPAxis::orientation(type) == Qt::Horizontal) + { + for (int i=0; i<subTickPositions.size(); ++i) + painter->drawLine(QLineF(subTickPositions.at(i)+xCor, origin.y()-subTickLengthOut*tickDir+yCor, subTickPositions.at(i)+xCor, origin.y()+subTickLengthIn*tickDir+yCor)); + } else + { + for (int i=0; i<subTickPositions.size(); ++i) + painter->drawLine(QLineF(origin.x()-subTickLengthOut*tickDir+xCor, subTickPositions.at(i)+yCor, origin.x()+subTickLengthIn*tickDir+xCor, subTickPositions.at(i)+yCor)); + } + } + margin += qMax(0, qMax(tickLengthOut, subTickLengthOut)); + + // draw axis base endings: + bool antialiasingBackup = painter->antialiasing(); + painter->setAntialiasing(true); // always want endings to be antialiased, even if base and ticks themselves aren't + painter->setBrush(QBrush(basePen.color())); + QCPVector2D baseLineVector(baseLine.dx(), baseLine.dy()); + if (lowerEnding.style() != QCPLineEnding::esNone) + lowerEnding.draw(painter, QCPVector2D(baseLine.p1())-baseLineVector.normalized()*lowerEnding.realLength()*(lowerEnding.inverted()?-1:1), -baseLineVector); + if (upperEnding.style() != QCPLineEnding::esNone) + upperEnding.draw(painter, QCPVector2D(baseLine.p2())+baseLineVector.normalized()*upperEnding.realLength()*(upperEnding.inverted()?-1:1), baseLineVector); + painter->setAntialiasing(antialiasingBackup); + + // tick labels: + QRect oldClipRect; + if (tickLabelSide == QCPAxis::lsInside) // if using inside labels, clip them to the axis rect + { + oldClipRect = painter->clipRegion().boundingRect(); + painter->setClipRect(axisRect); + } + QSize tickLabelsSize(0, 0); // size of largest tick label, for offset calculation of axis label + if (!tickLabels.isEmpty()) + { + if (tickLabelSide == QCPAxis::lsOutside) + margin += tickLabelPadding; + painter->setFont(tickLabelFont); + painter->setPen(QPen(tickLabelColor)); + const int maxLabelIndex = qMin(tickPositions.size(), tickLabels.size()); + int distanceToAxis = margin; + if (tickLabelSide == QCPAxis::lsInside) + distanceToAxis = -(qMax(tickLengthIn, subTickLengthIn)+tickLabelPadding); + for (int i=0; i<maxLabelIndex; ++i) + placeTickLabel(painter, tickPositions.at(i), distanceToAxis, tickLabels.at(i), &tickLabelsSize); + if (tickLabelSide == QCPAxis::lsOutside) + margin += (QCPAxis::orientation(type) == Qt::Horizontal) ? tickLabelsSize.height() : tickLabelsSize.width(); + } + if (tickLabelSide == QCPAxis::lsInside) + painter->setClipRect(oldClipRect); + + // axis label: + QRect labelBounds; + if (!label.isEmpty()) + { + margin += labelPadding; + painter->setFont(labelFont); + painter->setPen(QPen(labelColor)); + labelBounds = painter->fontMetrics().boundingRect(0, 0, 0, 0, Qt::TextDontClip, label); + if (type == QCPAxis::atLeft) + { + QTransform oldTransform = painter->transform(); + painter->translate((origin.x()-margin-labelBounds.height()), origin.y()); + painter->rotate(-90); + painter->drawText(0, 0, axisRect.height(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, label); + painter->setTransform(oldTransform); + } + else if (type == QCPAxis::atRight) + { + QTransform oldTransform = painter->transform(); + painter->translate((origin.x()+margin+labelBounds.height()), origin.y()-axisRect.height()); + painter->rotate(90); + painter->drawText(0, 0, axisRect.height(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, label); + painter->setTransform(oldTransform); + } + else if (type == QCPAxis::atTop) + painter->drawText(origin.x(), origin.y()-margin-labelBounds.height(), axisRect.width(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, label); + else if (type == QCPAxis::atBottom) + painter->drawText(origin.x(), origin.y()+margin, axisRect.width(), labelBounds.height(), Qt::TextDontClip | Qt::AlignCenter, label); + } + + // set selection boxes: + int selectionTolerance = 0; + if (mParentPlot) + selectionTolerance = mParentPlot->selectionTolerance(); + else + qDebug() << Q_FUNC_INFO << "mParentPlot is null"; + int selAxisOutSize = qMax(qMax(tickLengthOut, subTickLengthOut), selectionTolerance); + int selAxisInSize = selectionTolerance; + int selTickLabelSize; + int selTickLabelOffset; + if (tickLabelSide == QCPAxis::lsOutside) + { + selTickLabelSize = (QCPAxis::orientation(type) == Qt::Horizontal ? tickLabelsSize.height() : tickLabelsSize.width()); + selTickLabelOffset = qMax(tickLengthOut, subTickLengthOut)+tickLabelPadding; + } else + { + selTickLabelSize = -(QCPAxis::orientation(type) == Qt::Horizontal ? tickLabelsSize.height() : tickLabelsSize.width()); + selTickLabelOffset = -(qMax(tickLengthIn, subTickLengthIn)+tickLabelPadding); + } + int selLabelSize = labelBounds.height(); + int selLabelOffset = qMax(tickLengthOut, subTickLengthOut)+(!tickLabels.isEmpty() && tickLabelSide == QCPAxis::lsOutside ? tickLabelPadding+selTickLabelSize : 0)+labelPadding; + if (type == QCPAxis::atLeft) + { + mAxisSelectionBox.setCoords(origin.x()-selAxisOutSize, axisRect.top(), origin.x()+selAxisInSize, axisRect.bottom()); + mTickLabelsSelectionBox.setCoords(origin.x()-selTickLabelOffset-selTickLabelSize, axisRect.top(), origin.x()-selTickLabelOffset, axisRect.bottom()); + mLabelSelectionBox.setCoords(origin.x()-selLabelOffset-selLabelSize, axisRect.top(), origin.x()-selLabelOffset, axisRect.bottom()); + } else if (type == QCPAxis::atRight) + { + mAxisSelectionBox.setCoords(origin.x()-selAxisInSize, axisRect.top(), origin.x()+selAxisOutSize, axisRect.bottom()); + mTickLabelsSelectionBox.setCoords(origin.x()+selTickLabelOffset+selTickLabelSize, axisRect.top(), origin.x()+selTickLabelOffset, axisRect.bottom()); + mLabelSelectionBox.setCoords(origin.x()+selLabelOffset+selLabelSize, axisRect.top(), origin.x()+selLabelOffset, axisRect.bottom()); + } else if (type == QCPAxis::atTop) + { + mAxisSelectionBox.setCoords(axisRect.left(), origin.y()-selAxisOutSize, axisRect.right(), origin.y()+selAxisInSize); + mTickLabelsSelectionBox.setCoords(axisRect.left(), origin.y()-selTickLabelOffset-selTickLabelSize, axisRect.right(), origin.y()-selTickLabelOffset); + mLabelSelectionBox.setCoords(axisRect.left(), origin.y()-selLabelOffset-selLabelSize, axisRect.right(), origin.y()-selLabelOffset); + } else if (type == QCPAxis::atBottom) + { + mAxisSelectionBox.setCoords(axisRect.left(), origin.y()-selAxisInSize, axisRect.right(), origin.y()+selAxisOutSize); + mTickLabelsSelectionBox.setCoords(axisRect.left(), origin.y()+selTickLabelOffset+selTickLabelSize, axisRect.right(), origin.y()+selTickLabelOffset); + mLabelSelectionBox.setCoords(axisRect.left(), origin.y()+selLabelOffset+selLabelSize, axisRect.right(), origin.y()+selLabelOffset); + } + mAxisSelectionBox = mAxisSelectionBox.normalized(); + mTickLabelsSelectionBox = mTickLabelsSelectionBox.normalized(); + mLabelSelectionBox = mLabelSelectionBox.normalized(); + // draw hitboxes for debug purposes: + //painter->setBrush(Qt::NoBrush); + //painter->drawRects(QVector<QRect>() << mAxisSelectionBox << mTickLabelsSelectionBox << mLabelSelectionBox); +} + +/*! \internal + + Returns the size ("margin" in QCPAxisRect context, so measured perpendicular to the axis backbone + direction) needed to fit the axis. +*/ +int QCPAxisPainterPrivate::size() const +{ + int result = 0; + + // get length of tick marks pointing outwards: + if (!tickPositions.isEmpty()) + result += qMax(0, qMax(tickLengthOut, subTickLengthOut)); + + // calculate size of tick labels: + if (tickLabelSide == QCPAxis::lsOutside) + { + QSize tickLabelsSize(0, 0); + if (!tickLabels.isEmpty()) + { + for (int i=0; i<tickLabels.size(); ++i) + getMaxTickLabelSize(tickLabelFont, tickLabels.at(i), &tickLabelsSize); + result += QCPAxis::orientation(type) == Qt::Horizontal ? tickLabelsSize.height() : tickLabelsSize.width(); + result += tickLabelPadding; + } + } + + // calculate size of axis label (only height needed, because left/right labels are rotated by 90 degrees): + if (!label.isEmpty()) + { + QFontMetrics fontMetrics(labelFont); + QRect bounds; + bounds = fontMetrics.boundingRect(0, 0, 0, 0, Qt::TextDontClip | Qt::AlignHCenter | Qt::AlignVCenter, label); + result += bounds.height() + labelPadding; + } + + return result; +} + +/*! \internal + + Clears the internal label cache. Upon the next \ref draw, all labels will be created new. This + method is called automatically in \ref draw, if any parameters have changed that invalidate the + cached labels, such as font, color, etc. +*/ +void QCPAxisPainterPrivate::clearCache() +{ + mLabelCache.clear(); +} + +/*! \internal + + Returns a hash that allows uniquely identifying whether the label parameters have changed such + that the cached labels must be refreshed (\ref clearCache). It is used in \ref draw. If the + return value of this method hasn't changed since the last redraw, the respective label parameters + haven't changed and cached labels may be used. +*/ +QByteArray QCPAxisPainterPrivate::generateLabelParameterHash() const +{ + QByteArray result; + result.append(QByteArray::number(mParentPlot->bufferDevicePixelRatio())); + result.append(QByteArray::number(tickLabelRotation)); + result.append(QByteArray::number((int)tickLabelSide)); + result.append(QByteArray::number((int)substituteExponent)); + result.append(QByteArray::number((int)numberMultiplyCross)); + result.append(tickLabelColor.name().toLatin1()+QByteArray::number(tickLabelColor.alpha(), 16)); + result.append(tickLabelFont.toString().toLatin1()); + return result; +} + +/*! \internal + + Draws a single tick label with the provided \a painter, utilizing the internal label cache to + significantly speed up drawing of labels that were drawn in previous calls. The tick label is + always bound to an axis, the distance to the axis is controllable via \a distanceToAxis in + pixels. The pixel position in the axis direction is passed in the \a position parameter. Hence + for the bottom axis, \a position would indicate the horizontal pixel position (not coordinate), + at which the label should be drawn. + + In order to later draw the axis label in a place that doesn't overlap with the tick labels, the + largest tick label size is needed. This is acquired by passing a \a tickLabelsSize to the \ref + drawTickLabel calls during the process of drawing all tick labels of one axis. In every call, \a + tickLabelsSize is expanded, if the drawn label exceeds the value \a tickLabelsSize currently + holds. + + The label is drawn with the font and pen that are currently set on the \a painter. To draw + superscripted powers, the font is temporarily made smaller by a fixed factor (see \ref + getTickLabelData). +*/ +void QCPAxisPainterPrivate::placeTickLabel(QCPPainter *painter, double position, int distanceToAxis, const QString &text, QSize *tickLabelsSize) +{ + // warning: if you change anything here, also adapt getMaxTickLabelSize() accordingly! + if (text.isEmpty()) return; + QSize finalSize; + QPointF labelAnchor; + switch (type) + { + case QCPAxis::atLeft: labelAnchor = QPointF(axisRect.left()-distanceToAxis-offset, position); break; + case QCPAxis::atRight: labelAnchor = QPointF(axisRect.right()+distanceToAxis+offset, position); break; + case QCPAxis::atTop: labelAnchor = QPointF(position, axisRect.top()-distanceToAxis-offset); break; + case QCPAxis::atBottom: labelAnchor = QPointF(position, axisRect.bottom()+distanceToAxis+offset); break; + } + if (mParentPlot->plottingHints().testFlag(QCP::phCacheLabels) && !painter->modes().testFlag(QCPPainter::pmNoCaching)) // label caching enabled + { + CachedLabel *cachedLabel = mLabelCache.take(text); // attempt to get label from cache + if (!cachedLabel) // no cached label existed, create it + { + cachedLabel = new CachedLabel; + TickLabelData labelData = getTickLabelData(painter->font(), text); + cachedLabel->offset = getTickLabelDrawOffset(labelData)+labelData.rotatedTotalBounds.topLeft(); + if (!qFuzzyCompare(1.0, mParentPlot->bufferDevicePixelRatio())) + { + cachedLabel->pixmap = QPixmap(labelData.rotatedTotalBounds.size()*mParentPlot->bufferDevicePixelRatio()); +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED +# ifdef QCP_DEVICEPIXELRATIO_FLOAT + cachedLabel->pixmap.setDevicePixelRatio(mParentPlot->devicePixelRatioF()); +# else + cachedLabel->pixmap.setDevicePixelRatio(mParentPlot->devicePixelRatio()); +# endif +#endif + } else + cachedLabel->pixmap = QPixmap(labelData.rotatedTotalBounds.size()); + cachedLabel->pixmap.fill(Qt::transparent); + QCPPainter cachePainter(&cachedLabel->pixmap); + cachePainter.setPen(painter->pen()); + drawTickLabel(&cachePainter, -labelData.rotatedTotalBounds.topLeft().x(), -labelData.rotatedTotalBounds.topLeft().y(), labelData); + } + // if label would be partly clipped by widget border on sides, don't draw it (only for outside tick labels): + bool labelClippedByBorder = false; + if (tickLabelSide == QCPAxis::lsOutside) + { + if (QCPAxis::orientation(type) == Qt::Horizontal) + labelClippedByBorder = labelAnchor.x()+cachedLabel->offset.x()+cachedLabel->pixmap.width()/mParentPlot->bufferDevicePixelRatio() > viewportRect.right() || labelAnchor.x()+cachedLabel->offset.x() < viewportRect.left(); + else + labelClippedByBorder = labelAnchor.y()+cachedLabel->offset.y()+cachedLabel->pixmap.height()/mParentPlot->bufferDevicePixelRatio() > viewportRect.bottom() || labelAnchor.y()+cachedLabel->offset.y() < viewportRect.top(); + } + if (!labelClippedByBorder) + { + painter->drawPixmap(labelAnchor+cachedLabel->offset, cachedLabel->pixmap); + finalSize = cachedLabel->pixmap.size()/mParentPlot->bufferDevicePixelRatio(); + } + mLabelCache.insert(text, cachedLabel); // return label to cache or insert for the first time if newly created + } else // label caching disabled, draw text directly on surface: + { + TickLabelData labelData = getTickLabelData(painter->font(), text); + QPointF finalPosition = labelAnchor + getTickLabelDrawOffset(labelData); + // if label would be partly clipped by widget border on sides, don't draw it (only for outside tick labels): + bool labelClippedByBorder = false; + if (tickLabelSide == QCPAxis::lsOutside) + { + if (QCPAxis::orientation(type) == Qt::Horizontal) + labelClippedByBorder = finalPosition.x()+(labelData.rotatedTotalBounds.width()+labelData.rotatedTotalBounds.left()) > viewportRect.right() || finalPosition.x()+labelData.rotatedTotalBounds.left() < viewportRect.left(); + else + labelClippedByBorder = finalPosition.y()+(labelData.rotatedTotalBounds.height()+labelData.rotatedTotalBounds.top()) > viewportRect.bottom() || finalPosition.y()+labelData.rotatedTotalBounds.top() < viewportRect.top(); + } + if (!labelClippedByBorder) + { + drawTickLabel(painter, finalPosition.x(), finalPosition.y(), labelData); + finalSize = labelData.rotatedTotalBounds.size(); + } + } + + // expand passed tickLabelsSize if current tick label is larger: + if (finalSize.width() > tickLabelsSize->width()) + tickLabelsSize->setWidth(finalSize.width()); + if (finalSize.height() > tickLabelsSize->height()) + tickLabelsSize->setHeight(finalSize.height()); +} + +/*! \internal + + This is a \ref placeTickLabel helper function. + + Draws the tick label specified in \a labelData with \a painter at the pixel positions \a x and \a + y. This function is used by \ref placeTickLabel to create new tick labels for the cache, or to + directly draw the labels on the QCustomPlot surface when label caching is disabled, i.e. when + QCP::phCacheLabels plotting hint is not set. +*/ +void QCPAxisPainterPrivate::drawTickLabel(QCPPainter *painter, double x, double y, const TickLabelData &labelData) const +{ + // backup painter settings that we're about to change: + QTransform oldTransform = painter->transform(); + QFont oldFont = painter->font(); + + // transform painter to position/rotation: + painter->translate(x, y); + if (!qFuzzyIsNull(tickLabelRotation)) + painter->rotate(tickLabelRotation); + + // draw text: + if (!labelData.expPart.isEmpty()) // indicator that beautiful powers must be used + { + painter->setFont(labelData.baseFont); + painter->drawText(0, 0, 0, 0, Qt::TextDontClip, labelData.basePart); + if (!labelData.suffixPart.isEmpty()) + painter->drawText(labelData.baseBounds.width()+1+labelData.expBounds.width(), 0, 0, 0, Qt::TextDontClip, labelData.suffixPart); + painter->setFont(labelData.expFont); + painter->drawText(labelData.baseBounds.width()+1, 0, labelData.expBounds.width(), labelData.expBounds.height(), Qt::TextDontClip, labelData.expPart); + } else + { + painter->setFont(labelData.baseFont); + painter->drawText(0, 0, labelData.totalBounds.width(), labelData.totalBounds.height(), Qt::TextDontClip | Qt::AlignHCenter, labelData.basePart); + } + + // reset painter settings to what it was before: + painter->setTransform(oldTransform); + painter->setFont(oldFont); +} + +/*! \internal + + This is a \ref placeTickLabel helper function. + + Transforms the passed \a text and \a font to a tickLabelData structure that can then be further + processed by \ref getTickLabelDrawOffset and \ref drawTickLabel. It splits the text into base and + exponent if necessary (member substituteExponent) and calculates appropriate bounding boxes. +*/ +QCPAxisPainterPrivate::TickLabelData QCPAxisPainterPrivate::getTickLabelData(const QFont &font, const QString &text) const +{ + TickLabelData result; + + // determine whether beautiful decimal powers should be used + bool useBeautifulPowers = false; + int ePos = -1; // first index of exponent part, text before that will be basePart, text until eLast will be expPart + int eLast = -1; // last index of exponent part, rest of text after this will be suffixPart + if (substituteExponent) + { + ePos = text.indexOf(QLatin1Char('e')); + if (ePos > 0 && text.at(ePos-1).isDigit()) + { + eLast = ePos; + while (eLast+1 < text.size() && (text.at(eLast+1) == QLatin1Char('+') || text.at(eLast+1) == QLatin1Char('-') || text.at(eLast+1).isDigit())) + ++eLast; + if (eLast > ePos) // only if also to right of 'e' is a digit/+/- interpret it as beautifiable power + useBeautifulPowers = true; + } + } + + // calculate text bounding rects and do string preparation for beautiful decimal powers: + result.baseFont = font; + if (result.baseFont.pointSizeF() > 0) // might return -1 if specified with setPixelSize, in that case we can't do correction in next line + result.baseFont.setPointSizeF(result.baseFont.pointSizeF()+0.05); // QFontMetrics.boundingRect has a bug for exact point sizes that make the results oscillate due to internal rounding + if (useBeautifulPowers) + { + // split text into parts of number/symbol that will be drawn normally and part that will be drawn as exponent: + result.basePart = text.left(ePos); + result.suffixPart = text.mid(eLast+1); // also drawn normally but after exponent + // in log scaling, we want to turn "1*10^n" into "10^n", else add multiplication sign and decimal base: + if (abbreviateDecimalPowers && result.basePart == QLatin1String("1")) + result.basePart = QLatin1String("10"); + else + result.basePart += (numberMultiplyCross ? QString(QChar(215)) : QString(QChar(183))) + QLatin1String("10"); + result.expPart = text.mid(ePos+1, eLast-ePos); + // clip "+" and leading zeros off expPart: + while (result.expPart.length() > 2 && result.expPart.at(1) == QLatin1Char('0')) // length > 2 so we leave one zero when numberFormatChar is 'e' + result.expPart.remove(1, 1); + if (!result.expPart.isEmpty() && result.expPart.at(0) == QLatin1Char('+')) + result.expPart.remove(0, 1); + // prepare smaller font for exponent: + result.expFont = font; + if (result.expFont.pointSize() > 0) + result.expFont.setPointSize(result.expFont.pointSize()*0.75); + else + result.expFont.setPixelSize(result.expFont.pixelSize()*0.75); + // calculate bounding rects of base part(s), exponent part and total one: + result.baseBounds = QFontMetrics(result.baseFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip, result.basePart); + result.expBounds = QFontMetrics(result.expFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip, result.expPart); + if (!result.suffixPart.isEmpty()) + result.suffixBounds = QFontMetrics(result.baseFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip, result.suffixPart); + result.totalBounds = result.baseBounds.adjusted(0, 0, result.expBounds.width()+result.suffixBounds.width()+2, 0); // +2 consists of the 1 pixel spacing between base and exponent (see drawTickLabel) and an extra pixel to include AA + } else // useBeautifulPowers == false + { + result.basePart = text; + result.totalBounds = QFontMetrics(result.baseFont).boundingRect(0, 0, 0, 0, Qt::TextDontClip | Qt::AlignHCenter, result.basePart); + } + result.totalBounds.moveTopLeft(QPoint(0, 0)); // want bounding box aligned top left at origin, independent of how it was created, to make further processing simpler + + // calculate possibly different bounding rect after rotation: + result.rotatedTotalBounds = result.totalBounds; + if (!qFuzzyIsNull(tickLabelRotation)) + { + QTransform transform; + transform.rotate(tickLabelRotation); + result.rotatedTotalBounds = transform.mapRect(result.rotatedTotalBounds); + } + + return result; +} + +/*! \internal + + This is a \ref placeTickLabel helper function. + + Calculates the offset at which the top left corner of the specified tick label shall be drawn. + The offset is relative to a point right next to the tick the label belongs to. + + This function is thus responsible for e.g. centering tick labels under ticks and positioning them + appropriately when they are rotated. +*/ +QPointF QCPAxisPainterPrivate::getTickLabelDrawOffset(const TickLabelData &labelData) const +{ + /* + calculate label offset from base point at tick (non-trivial, for best visual appearance): short + explanation for bottom axis: The anchor, i.e. the point in the label that is placed + horizontally under the corresponding tick is always on the label side that is closer to the + axis (e.g. the left side of the text when we're rotating clockwise). On that side, the height + is halved and the resulting point is defined the anchor. This way, a 90 degree rotated text + will be centered under the tick (i.e. displaced horizontally by half its height). At the same + time, a 45 degree rotated text will "point toward" its tick, as is typical for rotated tick + labels. + */ + bool doRotation = !qFuzzyIsNull(tickLabelRotation); + bool flip = qFuzzyCompare(qAbs(tickLabelRotation), 90.0); // perfect +/-90 degree flip. Indicates vertical label centering on vertical axes. + double radians = tickLabelRotation/180.0*M_PI; + int x=0, y=0; + if ((type == QCPAxis::atLeft && tickLabelSide == QCPAxis::lsOutside) || (type == QCPAxis::atRight && tickLabelSide == QCPAxis::lsInside)) // Anchor at right side of tick label + { + if (doRotation) + { + if (tickLabelRotation > 0) + { + x = -qCos(radians)*labelData.totalBounds.width(); + y = flip ? -labelData.totalBounds.width()/2.0 : -qSin(radians)*labelData.totalBounds.width()-qCos(radians)*labelData.totalBounds.height()/2.0; + } else + { + x = -qCos(-radians)*labelData.totalBounds.width()-qSin(-radians)*labelData.totalBounds.height(); + y = flip ? +labelData.totalBounds.width()/2.0 : +qSin(-radians)*labelData.totalBounds.width()-qCos(-radians)*labelData.totalBounds.height()/2.0; + } + } else + { + x = -labelData.totalBounds.width(); + y = -labelData.totalBounds.height()/2.0; + } + } else if ((type == QCPAxis::atRight && tickLabelSide == QCPAxis::lsOutside) || (type == QCPAxis::atLeft && tickLabelSide == QCPAxis::lsInside)) // Anchor at left side of tick label + { + if (doRotation) + { + if (tickLabelRotation > 0) + { + x = +qSin(radians)*labelData.totalBounds.height(); + y = flip ? -labelData.totalBounds.width()/2.0 : -qCos(radians)*labelData.totalBounds.height()/2.0; + } else + { + x = 0; + y = flip ? +labelData.totalBounds.width()/2.0 : -qCos(-radians)*labelData.totalBounds.height()/2.0; + } + } else + { + x = 0; + y = -labelData.totalBounds.height()/2.0; + } + } else if ((type == QCPAxis::atTop && tickLabelSide == QCPAxis::lsOutside) || (type == QCPAxis::atBottom && tickLabelSide == QCPAxis::lsInside)) // Anchor at bottom side of tick label + { + if (doRotation) + { + if (tickLabelRotation > 0) + { + x = -qCos(radians)*labelData.totalBounds.width()+qSin(radians)*labelData.totalBounds.height()/2.0; + y = -qSin(radians)*labelData.totalBounds.width()-qCos(radians)*labelData.totalBounds.height(); + } else + { + x = -qSin(-radians)*labelData.totalBounds.height()/2.0; + y = -qCos(-radians)*labelData.totalBounds.height(); + } + } else + { + x = -labelData.totalBounds.width()/2.0; + y = -labelData.totalBounds.height(); + } + } else if ((type == QCPAxis::atBottom && tickLabelSide == QCPAxis::lsOutside) || (type == QCPAxis::atTop && tickLabelSide == QCPAxis::lsInside)) // Anchor at top side of tick label + { + if (doRotation) + { + if (tickLabelRotation > 0) + { + x = +qSin(radians)*labelData.totalBounds.height()/2.0; + y = 0; + } else + { + x = -qCos(-radians)*labelData.totalBounds.width()-qSin(-radians)*labelData.totalBounds.height()/2.0; + y = +qSin(-radians)*labelData.totalBounds.width(); + } + } else + { + x = -labelData.totalBounds.width()/2.0; + y = 0; + } + } + + return QPointF(x, y); +} + +/*! \internal + + Simulates the steps done by \ref placeTickLabel by calculating bounding boxes of the text label + to be drawn, depending on number format etc. Since only the largest tick label is wanted for the + margin calculation, the passed \a tickLabelsSize is only expanded, if it's currently set to a + smaller width/height. +*/ +void QCPAxisPainterPrivate::getMaxTickLabelSize(const QFont &font, const QString &text, QSize *tickLabelsSize) const +{ + // note: this function must return the same tick label sizes as the placeTickLabel function. + QSize finalSize; + if (mParentPlot->plottingHints().testFlag(QCP::phCacheLabels) && mLabelCache.contains(text)) // label caching enabled and have cached label + { + const CachedLabel *cachedLabel = mLabelCache.object(text); + finalSize = cachedLabel->pixmap.size()/mParentPlot->bufferDevicePixelRatio(); + } else // label caching disabled or no label with this text cached: + { + TickLabelData labelData = getTickLabelData(font, text); + finalSize = labelData.rotatedTotalBounds.size(); + } + + // expand passed tickLabelsSize if current tick label is larger: + if (finalSize.width() > tickLabelsSize->width()) + tickLabelsSize->setWidth(finalSize.width()); + if (finalSize.height() > tickLabelsSize->height()) + tickLabelsSize->setHeight(finalSize.height()); +} +/* end of 'src/axis/axis.cpp' */ + + +/* including file 'src/scatterstyle.cpp', size 17450 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPScatterStyle +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPScatterStyle + \brief Represents the visual appearance of scatter points + + This class holds information about shape, color and size of scatter points. In plottables like + QCPGraph it is used to store how scatter points shall be drawn. For example, \ref + QCPGraph::setScatterStyle takes a QCPScatterStyle instance. + + A scatter style consists of a shape (\ref setShape), a line color (\ref setPen) and possibly a + fill (\ref setBrush), if the shape provides a fillable area. Further, the size of the shape can + be controlled with \ref setSize. + + \section QCPScatterStyle-defining Specifying a scatter style + + You can set all these configurations either by calling the respective functions on an instance: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpscatterstyle-creation-1 + + Or you can use one of the various constructors that take different parameter combinations, making + it easy to specify a scatter style in a single call, like so: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpscatterstyle-creation-2 + + \section QCPScatterStyle-undefinedpen Leaving the color/pen up to the plottable + + There are two constructors which leave the pen undefined: \ref QCPScatterStyle() and \ref + QCPScatterStyle(ScatterShape shape, double size). If those constructors are used, a call to \ref + isPenDefined will return false. It leads to scatter points that inherit the pen from the + plottable that uses the scatter style. Thus, if such a scatter style is passed to QCPGraph, the line + color of the graph (\ref QCPGraph::setPen) will be used by the scatter points. This makes + it very convenient to set up typical scatter settings: + + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpscatterstyle-shortcreation + + Notice that it wasn't even necessary to explicitly call a QCPScatterStyle constructor. This works + because QCPScatterStyle provides a constructor that can transform a \ref ScatterShape directly + into a QCPScatterStyle instance (that's the \ref QCPScatterStyle(ScatterShape shape, double size) + constructor with a default for \a size). In those cases, C++ allows directly supplying a \ref + ScatterShape, where actually a QCPScatterStyle is expected. + + \section QCPScatterStyle-custompath-and-pixmap Custom shapes and pixmaps + + QCPScatterStyle supports drawing custom shapes and arbitrary pixmaps as scatter points. + + For custom shapes, you can provide a QPainterPath with the desired shape to the \ref + setCustomPath function or call the constructor that takes a painter path. The scatter shape will + automatically be set to \ref ssCustom. + + For pixmaps, you call \ref setPixmap with the desired QPixmap. Alternatively you can use the + constructor that takes a QPixmap. The scatter shape will automatically be set to \ref ssPixmap. + Note that \ref setSize does not influence the appearance of the pixmap. +*/ + +/* start documentation of inline functions */ + +/*! \fn bool QCPScatterStyle::isNone() const + + Returns whether the scatter shape is \ref ssNone. + + \see setShape +*/ + +/*! \fn bool QCPScatterStyle::isPenDefined() const + + Returns whether a pen has been defined for this scatter style. + + The pen is undefined if a constructor is called that does not carry \a pen as parameter. Those + are \ref QCPScatterStyle() and \ref QCPScatterStyle(ScatterShape shape, double size). If the pen + is undefined, the pen of the respective plottable will be used for drawing scatters. + + If a pen was defined for this scatter style instance, and you now wish to undefine the pen, call + \ref undefinePen. + + \see setPen +*/ + +/* end documentation of inline functions */ + +/*! + Creates a new QCPScatterStyle instance with size set to 6. No shape, pen or brush is defined. + + Since the pen is undefined (\ref isPenDefined returns false), the scatter color will be inherited + from the plottable that uses this scatter style. +*/ +QCPScatterStyle::QCPScatterStyle() : + mSize(6), + mShape(ssNone), + mPen(Qt::NoPen), + mBrush(Qt::NoBrush), + mPenDefined(false) +{ +} + +/*! + Creates a new QCPScatterStyle instance with shape set to \a shape and size to \a size. No pen or + brush is defined. + + Since the pen is undefined (\ref isPenDefined returns false), the scatter color will be inherited + from the plottable that uses this scatter style. +*/ +QCPScatterStyle::QCPScatterStyle(ScatterShape shape, double size) : + mSize(size), + mShape(shape), + mPen(Qt::NoPen), + mBrush(Qt::NoBrush), + mPenDefined(false) +{ +} + +/*! + Creates a new QCPScatterStyle instance with shape set to \a shape, the pen color set to \a color, + and size to \a size. No brush is defined, i.e. the scatter point will not be filled. +*/ +QCPScatterStyle::QCPScatterStyle(ScatterShape shape, const QColor &color, double size) : + mSize(size), + mShape(shape), + mPen(QPen(color)), + mBrush(Qt::NoBrush), + mPenDefined(true) +{ +} + +/*! + Creates a new QCPScatterStyle instance with shape set to \a shape, the pen color set to \a color, + the brush color to \a fill (with a solid pattern), and size to \a size. +*/ +QCPScatterStyle::QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size) : + mSize(size), + mShape(shape), + mPen(QPen(color)), + mBrush(QBrush(fill)), + mPenDefined(true) +{ +} + +/*! + Creates a new QCPScatterStyle instance with shape set to \a shape, the pen set to \a pen, the + brush to \a brush, and size to \a size. + + \warning In some cases it might be tempting to directly use a pen style like <tt>Qt::NoPen</tt> as \a pen + and a color like <tt>Qt::blue</tt> as \a brush. Notice however, that the corresponding call\n + <tt>QCPScatterStyle(QCPScatterShape::ssCircle, Qt::NoPen, Qt::blue, 5)</tt>\n + doesn't necessarily lead C++ to use this constructor in some cases, but might mistake + <tt>Qt::NoPen</tt> for a QColor and use the + \ref QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size) + constructor instead (which will lead to an unexpected look of the scatter points). To prevent + this, be more explicit with the parameter types. For example, use <tt>QBrush(Qt::blue)</tt> + instead of just <tt>Qt::blue</tt>, to clearly point out to the compiler that this constructor is + wanted. +*/ +QCPScatterStyle::QCPScatterStyle(ScatterShape shape, const QPen &pen, const QBrush &brush, double size) : + mSize(size), + mShape(shape), + mPen(pen), + mBrush(brush), + mPenDefined(pen.style() != Qt::NoPen) +{ +} + +/*! + Creates a new QCPScatterStyle instance which will show the specified \a pixmap. The scatter shape + is set to \ref ssPixmap. +*/ +QCPScatterStyle::QCPScatterStyle(const QPixmap &pixmap) : + mSize(5), + mShape(ssPixmap), + mPen(Qt::NoPen), + mBrush(Qt::NoBrush), + mPixmap(pixmap), + mPenDefined(false) +{ +} + +/*! + Creates a new QCPScatterStyle instance with a custom shape that is defined via \a customPath. The + scatter shape is set to \ref ssCustom. + + The custom shape line will be drawn with \a pen and filled with \a brush. The size has a slightly + different meaning than for built-in scatter points: The custom path will be drawn scaled by a + factor of \a size/6.0. Since the default \a size is 6, the custom path will appear in its + original size by default. To for example double the size of the path, set \a size to 12. +*/ +QCPScatterStyle::QCPScatterStyle(const QPainterPath &customPath, const QPen &pen, const QBrush &brush, double size) : + mSize(size), + mShape(ssCustom), + mPen(pen), + mBrush(brush), + mCustomPath(customPath), + mPenDefined(pen.style() != Qt::NoPen) +{ +} + +/*! + Copies the specified \a properties from the \a other scatter style to this scatter style. +*/ +void QCPScatterStyle::setFromOther(const QCPScatterStyle &other, ScatterProperties properties) +{ + if (properties.testFlag(spPen)) + { + setPen(other.pen()); + if (!other.isPenDefined()) + undefinePen(); + } + if (properties.testFlag(spBrush)) + setBrush(other.brush()); + if (properties.testFlag(spSize)) + setSize(other.size()); + if (properties.testFlag(spShape)) + { + setShape(other.shape()); + if (other.shape() == ssPixmap) + setPixmap(other.pixmap()); + else if (other.shape() == ssCustom) + setCustomPath(other.customPath()); + } +} + +/*! + Sets the size (pixel diameter) of the drawn scatter points to \a size. + + \see setShape +*/ +void QCPScatterStyle::setSize(double size) +{ + mSize = size; +} + +/*! + Sets the shape to \a shape. + + Note that the calls \ref setPixmap and \ref setCustomPath automatically set the shape to \ref + ssPixmap and \ref ssCustom, respectively. + + \see setSize +*/ +void QCPScatterStyle::setShape(QCPScatterStyle::ScatterShape shape) +{ + mShape = shape; +} + +/*! + Sets the pen that will be used to draw scatter points to \a pen. + + If the pen was previously undefined (see \ref isPenDefined), the pen is considered defined after + a call to this function, even if \a pen is <tt>Qt::NoPen</tt>. If you have defined a pen + previously by calling this function and now wish to undefine the pen, call \ref undefinePen. + + \see setBrush +*/ +void QCPScatterStyle::setPen(const QPen &pen) +{ + mPenDefined = true; + mPen = pen; +} + +/*! + Sets the brush that will be used to fill scatter points to \a brush. Note that not all scatter + shapes have fillable areas. For example, \ref ssPlus does not while \ref ssCircle does. + + \see setPen +*/ +void QCPScatterStyle::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the pixmap that will be drawn as scatter point to \a pixmap. + + Note that \ref setSize does not influence the appearance of the pixmap. + + The scatter shape is automatically set to \ref ssPixmap. +*/ +void QCPScatterStyle::setPixmap(const QPixmap &pixmap) +{ + setShape(ssPixmap); + mPixmap = pixmap; +} + +/*! + Sets the custom shape that will be drawn as scatter point to \a customPath. + + The scatter shape is automatically set to \ref ssCustom. +*/ +void QCPScatterStyle::setCustomPath(const QPainterPath &customPath) +{ + setShape(ssCustom); + mCustomPath = customPath; +} + +/*! + Sets this scatter style to have an undefined pen (see \ref isPenDefined for what an undefined pen + implies). + + A call to \ref setPen will define a pen. +*/ +void QCPScatterStyle::undefinePen() +{ + mPenDefined = false; +} + +/*! + Applies the pen and the brush of this scatter style to \a painter. If this scatter style has an + undefined pen (\ref isPenDefined), sets the pen of \a painter to \a defaultPen instead. + + This function is used by plottables (or any class that wants to draw scatters) just before a + number of scatters with this style shall be drawn with the \a painter. + + \see drawShape +*/ +void QCPScatterStyle::applyTo(QCPPainter *painter, const QPen &defaultPen) const +{ + painter->setPen(mPenDefined ? mPen : defaultPen); + painter->setBrush(mBrush); +} + +/*! + Draws the scatter shape with \a painter at position \a pos. + + This function does not modify the pen or the brush on the painter, as \ref applyTo is meant to be + called before scatter points are drawn with \ref drawShape. + + \see applyTo +*/ +void QCPScatterStyle::drawShape(QCPPainter *painter, const QPointF &pos) const +{ + drawShape(painter, pos.x(), pos.y()); +} + +/*! \overload + Draws the scatter shape with \a painter at position \a x and \a y. +*/ +void QCPScatterStyle::drawShape(QCPPainter *painter, double x, double y) const +{ + double w = mSize/2.0; + switch (mShape) + { + case ssNone: break; + case ssDot: + { + painter->drawLine(QPointF(x, y), QPointF(x+0.0001, y)); + break; + } + case ssCross: + { + painter->drawLine(QLineF(x-w, y-w, x+w, y+w)); + painter->drawLine(QLineF(x-w, y+w, x+w, y-w)); + break; + } + case ssPlus: + { + painter->drawLine(QLineF(x-w, y, x+w, y)); + painter->drawLine(QLineF( x, y+w, x, y-w)); + break; + } + case ssCircle: + { + painter->drawEllipse(QPointF(x , y), w, w); + break; + } + case ssDisc: + { + QBrush b = painter->brush(); + painter->setBrush(painter->pen().color()); + painter->drawEllipse(QPointF(x , y), w, w); + painter->setBrush(b); + break; + } + case ssSquare: + { + painter->drawRect(QRectF(x-w, y-w, mSize, mSize)); + break; + } + case ssDiamond: + { + QPointF lineArray[4] = {QPointF(x-w, y), + QPointF( x, y-w), + QPointF(x+w, y), + QPointF( x, y+w)}; + painter->drawPolygon(lineArray, 4); + break; + } + case ssStar: + { + painter->drawLine(QLineF(x-w, y, x+w, y)); + painter->drawLine(QLineF( x, y+w, x, y-w)); + painter->drawLine(QLineF(x-w*0.707, y-w*0.707, x+w*0.707, y+w*0.707)); + painter->drawLine(QLineF(x-w*0.707, y+w*0.707, x+w*0.707, y-w*0.707)); + break; + } + case ssTriangle: + { + QPointF lineArray[3] = {QPointF(x-w, y+0.755*w), + QPointF(x+w, y+0.755*w), + QPointF( x, y-0.977*w)}; + painter->drawPolygon(lineArray, 3); + break; + } + case ssTriangleInverted: + { + QPointF lineArray[3] = {QPointF(x-w, y-0.755*w), + QPointF(x+w, y-0.755*w), + QPointF( x, y+0.977*w)}; + painter->drawPolygon(lineArray, 3); + break; + } + case ssCrossSquare: + { + painter->drawRect(QRectF(x-w, y-w, mSize, mSize)); + painter->drawLine(QLineF(x-w, y-w, x+w*0.95, y+w*0.95)); + painter->drawLine(QLineF(x-w, y+w*0.95, x+w*0.95, y-w)); + break; + } + case ssPlusSquare: + { + painter->drawRect(QRectF(x-w, y-w, mSize, mSize)); + painter->drawLine(QLineF(x-w, y, x+w*0.95, y)); + painter->drawLine(QLineF( x, y+w, x, y-w)); + break; + } + case ssCrossCircle: + { + painter->drawEllipse(QPointF(x, y), w, w); + painter->drawLine(QLineF(x-w*0.707, y-w*0.707, x+w*0.670, y+w*0.670)); + painter->drawLine(QLineF(x-w*0.707, y+w*0.670, x+w*0.670, y-w*0.707)); + break; + } + case ssPlusCircle: + { + painter->drawEllipse(QPointF(x, y), w, w); + painter->drawLine(QLineF(x-w, y, x+w, y)); + painter->drawLine(QLineF( x, y+w, x, y-w)); + break; + } + case ssPeace: + { + painter->drawEllipse(QPointF(x, y), w, w); + painter->drawLine(QLineF(x, y-w, x, y+w)); + painter->drawLine(QLineF(x, y, x-w*0.707, y+w*0.707)); + painter->drawLine(QLineF(x, y, x+w*0.707, y+w*0.707)); + break; + } + case ssPixmap: + { + const double widthHalf = mPixmap.width()*0.5; + const double heightHalf = mPixmap.height()*0.5; +#if QT_VERSION < QT_VERSION_CHECK(4, 8, 0) + const QRectF clipRect = painter->clipRegion().boundingRect().adjusted(-widthHalf, -heightHalf, widthHalf, heightHalf); +#else + const QRectF clipRect = painter->clipBoundingRect().adjusted(-widthHalf, -heightHalf, widthHalf, heightHalf); +#endif + if (clipRect.contains(x, y)) + painter->drawPixmap(x-widthHalf, y-heightHalf, mPixmap); + break; + } + case ssCustom: + { + QTransform oldTransform = painter->transform(); + painter->translate(x, y); + painter->scale(mSize/6.0, mSize/6.0); + painter->drawPath(mCustomPath); + painter->setTransform(oldTransform); + break; + } + } +} +/* end of 'src/scatterstyle.cpp' */ + +//amalgamation: add datacontainer.cpp + +/* including file 'src/plottable.cpp', size 38845 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPSelectionDecorator +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPSelectionDecorator + \brief Controls how a plottable's data selection is drawn + + Each \ref QCPAbstractPlottable instance has one \ref QCPSelectionDecorator (accessible via \ref + QCPAbstractPlottable::selectionDecorator) and uses it when drawing selected segments of its data. + + The selection decorator controls both pen (\ref setPen) and brush (\ref setBrush), as well as the + scatter style (\ref setScatterStyle) if the plottable draws scatters. Since a \ref + QCPScatterStyle is itself composed of different properties such as color shape and size, the + decorator allows specifying exactly which of those properties shall be used for the selected data + point, via \ref setUsedScatterProperties. + + A \ref QCPSelectionDecorator subclass instance can be passed to a plottable via \ref + QCPAbstractPlottable::setSelectionDecorator, allowing greater customizability of the appearance + of selected segments. + + Use \ref copyFrom to easily transfer the settings of one decorator to another one. This is + especially useful since plottables take ownership of the passed selection decorator, and thus the + same decorator instance can not be passed to multiple plottables. + + Selection decorators can also themselves perform drawing operations by reimplementing \ref + drawDecoration, which is called by the plottable's draw method. The base class \ref + QCPSelectionDecorator does not make use of this however. For example, \ref + QCPSelectionDecoratorBracket draws brackets around selected data segments. +*/ + +/*! + Creates a new QCPSelectionDecorator instance with default values +*/ +QCPSelectionDecorator::QCPSelectionDecorator() : + mPen(QColor(80, 80, 255), 2.5), + mBrush(Qt::NoBrush), + mScatterStyle(), + mUsedScatterProperties(QCPScatterStyle::spNone), + mPlottable(0) +{ +} + +QCPSelectionDecorator::~QCPSelectionDecorator() +{ +} + +/*! + Sets the pen that will be used by the parent plottable to draw selected data segments. +*/ +void QCPSelectionDecorator::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the brush that will be used by the parent plottable to draw selected data segments. +*/ +void QCPSelectionDecorator::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the scatter style that will be used by the parent plottable to draw scatters in selected + data segments. + + \a usedProperties specifies which parts of the passed \a scatterStyle will be used by the + plottable. The used properties can also be changed via \ref setUsedScatterProperties. +*/ +void QCPSelectionDecorator::setScatterStyle(const QCPScatterStyle &scatterStyle, QCPScatterStyle::ScatterProperties usedProperties) +{ + mScatterStyle = scatterStyle; + setUsedScatterProperties(usedProperties); +} + +/*! + Use this method to define which properties of the scatter style (set via \ref setScatterStyle) + will be used for selected data segments. All properties of the scatter style that are not + specified in \a properties will remain as specified in the plottable's original scatter style. + + \see QCPScatterStyle::ScatterProperty +*/ +void QCPSelectionDecorator::setUsedScatterProperties(const QCPScatterStyle::ScatterProperties &properties) +{ + mUsedScatterProperties = properties; +} + +/*! + Sets the pen of \a painter to the pen of this selection decorator. + + \see applyBrush, getFinalScatterStyle +*/ +void QCPSelectionDecorator::applyPen(QCPPainter *painter) const +{ + painter->setPen(mPen); +} + +/*! + Sets the brush of \a painter to the brush of this selection decorator. + + \see applyPen, getFinalScatterStyle +*/ +void QCPSelectionDecorator::applyBrush(QCPPainter *painter) const +{ + painter->setBrush(mBrush); +} + +/*! + Returns the scatter style that the parent plottable shall use for selected scatter points. The + plottable's original (unselected) scatter style must be passed as \a unselectedStyle. Depending + on the setting of \ref setUsedScatterProperties, the returned scatter style is a mixture of this + selecion decorator's scatter style (\ref setScatterStyle), and \a unselectedStyle. + + \see applyPen, applyBrush, setScatterStyle +*/ +QCPScatterStyle QCPSelectionDecorator::getFinalScatterStyle(const QCPScatterStyle &unselectedStyle) const +{ + QCPScatterStyle result(unselectedStyle); + result.setFromOther(mScatterStyle, mUsedScatterProperties); + + // if style shall inherit pen from plottable (has no own pen defined), give it the selected + // plottable pen explicitly, so it doesn't use the unselected plottable pen when used in the + // plottable: + if (!result.isPenDefined()) + result.setPen(mPen); + + return result; +} + +/*! + Copies all properties (e.g. color, fill, scatter style) of the \a other selection decorator to + this selection decorator. +*/ +void QCPSelectionDecorator::copyFrom(const QCPSelectionDecorator *other) +{ + setPen(other->pen()); + setBrush(other->brush()); + setScatterStyle(other->scatterStyle(), other->usedScatterProperties()); +} + +/*! + This method is called by all plottables' draw methods to allow custom selection decorations to be + drawn. Use the passed \a painter to perform the drawing operations. \a selection carries the data + selection for which the decoration shall be drawn. + + The default base class implementation of \ref QCPSelectionDecorator has no special decoration, so + this method does nothing. +*/ +void QCPSelectionDecorator::drawDecoration(QCPPainter *painter, QCPDataSelection selection) +{ + Q_UNUSED(painter) + Q_UNUSED(selection) +} + +/*! \internal + + This method is called as soon as a selection decorator is associated with a plottable, by a call + to \ref QCPAbstractPlottable::setSelectionDecorator. This way the selection decorator can obtain a pointer to the plottable that uses it (e.g. to access + data points via the \ref QCPAbstractPlottable::interface1D interface). + + If the selection decorator was already added to a different plottable before, this method aborts + the registration and returns false. +*/ +bool QCPSelectionDecorator::registerWithPlottable(QCPAbstractPlottable *plottable) +{ + if (!mPlottable) + { + mPlottable = plottable; + return true; + } else + { + qDebug() << Q_FUNC_INFO << "This selection decorator is already registered with plottable:" << reinterpret_cast<quintptr>(mPlottable); + return false; + } +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAbstractPlottable +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAbstractPlottable + \brief The abstract base class for all data representing objects in a plot. + + It defines a very basic interface like name, pen, brush, visibility etc. Since this class is + abstract, it can't be instantiated. Use one of the subclasses or create a subclass yourself to + create new ways of displaying data (see "Creating own plottables" below). Plottables that display + one-dimensional data (i.e. data points have a single key dimension and one or multiple values at + each key) are based off of the template subclass \ref QCPAbstractPlottable1D, see details + there. + + All further specifics are in the subclasses, for example: + \li A normal graph with possibly a line and/or scatter points \ref QCPGraph + (typically created with \ref QCustomPlot::addGraph) + \li A parametric curve: \ref QCPCurve + \li A bar chart: \ref QCPBars + \li A statistical box plot: \ref QCPStatisticalBox + \li A color encoded two-dimensional map: \ref QCPColorMap + \li An OHLC/Candlestick chart: \ref QCPFinancial + + \section plottables-subclassing Creating own plottables + + Subclassing directly from QCPAbstractPlottable is only recommended if you wish to display + two-dimensional data like \ref QCPColorMap, i.e. two logical key dimensions and one (or more) + data dimensions. If you want to display data with only one logical key dimension, you should + rather derive from \ref QCPAbstractPlottable1D. + + If subclassing QCPAbstractPlottable directly, these are the pure virtual functions you must + implement: + \li \ref selectTest + \li \ref draw + \li \ref drawLegendIcon + \li \ref getKeyRange + \li \ref getValueRange + + See the documentation of those functions for what they need to do. + + For drawing your plot, you can use the \ref coordsToPixels functions to translate a point in plot + coordinates to pixel coordinates. This function is quite convenient, because it takes the + orientation of the key and value axes into account for you (x and y are swapped when the key axis + is vertical and the value axis horizontal). If you are worried about performance (i.e. you need + to translate many points in a loop like QCPGraph), you can directly use \ref + QCPAxis::coordToPixel. However, you must then take care about the orientation of the axis + yourself. + + Here are some important members you inherit from QCPAbstractPlottable: + <table> + <tr> + <td>QCustomPlot *\b mParentPlot</td> + <td>A pointer to the parent QCustomPlot instance. The parent plot is inferred from the axes that are passed in the constructor.</td> + </tr><tr> + <td>QString \b mName</td> + <td>The name of the plottable.</td> + </tr><tr> + <td>QPen \b mPen</td> + <td>The generic pen of the plottable. You should use this pen for the most prominent data representing lines in the plottable + (e.g QCPGraph uses this pen for its graph lines and scatters)</td> + </tr><tr> + <td>QBrush \b mBrush</td> + <td>The generic brush of the plottable. You should use this brush for the most prominent fillable structures in the plottable + (e.g. QCPGraph uses this brush to control filling under the graph)</td> + </tr><tr> + <td>QPointer<\ref QCPAxis> \b mKeyAxis, \b mValueAxis</td> + <td>The key and value axes this plottable is attached to. Call their QCPAxis::coordToPixel functions to translate coordinates + to pixels in either the key or value dimension. Make sure to check whether the pointer is null before using it. If one of + the axes is null, don't draw the plottable.</td> + </tr><tr> + <td>\ref QCPSelectionDecorator \b mSelectionDecorator</td> + <td>The currently set selection decorator which specifies how selected data of the plottable shall be drawn and decorated. + When drawing your data, you must consult this decorator for the appropriate pen/brush before drawing unselected/selected data segments. + Finally, you should call its \ref QCPSelectionDecorator::drawDecoration method at the end of your \ref draw implementation.</td> + </tr><tr> + <td>\ref QCP::SelectionType \b mSelectable</td> + <td>In which composition, if at all, this plottable's data may be selected. Enforcing this setting on the data selection is done + by QCPAbstractPlottable automatically.</td> + </tr><tr> + <td>\ref QCPDataSelection \b mSelection</td> + <td>Holds the current selection state of the plottable's data, i.e. the selected data ranges (\ref QCPDataRange).</td> + </tr> + </table> +*/ + +/* start of documentation of inline functions */ + +/*! \fn QCPSelectionDecorator *QCPAbstractPlottable::selectionDecorator() const + + Provides access to the selection decorator of this plottable. The selection decorator controls + how selected data ranges are drawn (e.g. their pen color and fill), see \ref + QCPSelectionDecorator for details. + + If you wish to use an own \ref QCPSelectionDecorator subclass, pass an instance of it to \ref + setSelectionDecorator. +*/ + +/*! \fn bool QCPAbstractPlottable::selected() const + + Returns true if there are any data points of the plottable currently selected. Use \ref selection + to retrieve the current \ref QCPDataSelection. +*/ + +/*! \fn QCPDataSelection QCPAbstractPlottable::selection() const + + Returns a \ref QCPDataSelection encompassing all the data points that are currently selected on + this plottable. + + \see selected, setSelection, setSelectable +*/ + +/*! \fn virtual QCPPlottableInterface1D *QCPAbstractPlottable::interface1D() + + If this plottable is a one-dimensional plottable, i.e. it implements the \ref + QCPPlottableInterface1D, returns the \a this pointer with that type. Otherwise (e.g. in the case + of a \ref QCPColorMap) returns zero. + + You can use this method to gain read access to data coordinates while holding a pointer to the + abstract base class only. +*/ + +/* end of documentation of inline functions */ +/* start of documentation of pure virtual functions */ + +/*! \fn void QCPAbstractPlottable::drawLegendIcon(QCPPainter *painter, const QRect &rect) const = 0 + \internal + + called by QCPLegend::draw (via QCPPlottableLegendItem::draw) to create a graphical representation + of this plottable inside \a rect, next to the plottable name. + + The passed \a painter has its cliprect set to \a rect, so painting outside of \a rect won't + appear outside the legend icon border. +*/ + +/*! \fn QCPRange QCPAbstractPlottable::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const = 0 + + Returns the coordinate range that all data in this plottable span in the key axis dimension. For + logarithmic plots, one can set \a inSignDomain to either \ref QCP::sdNegative or \ref + QCP::sdPositive in order to restrict the returned range to that sign domain. E.g. when only + negative range is wanted, set \a inSignDomain to \ref QCP::sdNegative and all positive points + will be ignored for range calculation. For no restriction, just set \a inSignDomain to \ref + QCP::sdBoth (default). \a foundRange is an output parameter that indicates whether a range could + be found or not. If this is false, you shouldn't use the returned range (e.g. no points in data). + + Note that \a foundRange is not the same as \ref QCPRange::validRange, since the range returned by + this function may have size zero (e.g. when there is only one data point). In this case \a + foundRange would return true, but the returned range is not a valid range in terms of \ref + QCPRange::validRange. + + \see rescaleAxes, getValueRange +*/ + +/*! \fn QCPRange QCPAbstractPlottable::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const = 0 + + Returns the coordinate range that the data points in the specified key range (\a inKeyRange) span + in the value axis dimension. For logarithmic plots, one can set \a inSignDomain to either \ref + QCP::sdNegative or \ref QCP::sdPositive in order to restrict the returned range to that sign + domain. E.g. when only negative range is wanted, set \a inSignDomain to \ref QCP::sdNegative and + all positive points will be ignored for range calculation. For no restriction, just set \a + inSignDomain to \ref QCP::sdBoth (default). \a foundRange is an output parameter that indicates + whether a range could be found or not. If this is false, you shouldn't use the returned range + (e.g. no points in data). + + If \a inKeyRange has both lower and upper bound set to zero (is equal to <tt>QCPRange()</tt>), + all data points are considered, without any restriction on the keys. + + Note that \a foundRange is not the same as \ref QCPRange::validRange, since the range returned by + this function may have size zero (e.g. when there is only one data point). In this case \a + foundRange would return true, but the returned range is not a valid range in terms of \ref + QCPRange::validRange. + + \see rescaleAxes, getKeyRange +*/ + +/* end of documentation of pure virtual functions */ +/* start of documentation of signals */ + +/*! \fn void QCPAbstractPlottable::selectionChanged(bool selected) + + This signal is emitted when the selection state of this plottable has changed, either by user + interaction or by a direct call to \ref setSelection. The parameter \a selected indicates whether + there are any points selected or not. + + \see selectionChanged(const QCPDataSelection &selection) +*/ + +/*! \fn void QCPAbstractPlottable::selectionChanged(const QCPDataSelection &selection) + + This signal is emitted when the selection state of this plottable has changed, either by user + interaction or by a direct call to \ref setSelection. The parameter \a selection holds the + currently selected data ranges. + + \see selectionChanged(bool selected) +*/ + +/*! \fn void QCPAbstractPlottable::selectableChanged(QCP::SelectionType selectable); + + This signal is emitted when the selectability of this plottable has changed. + + \see setSelectable +*/ + +/* end of documentation of signals */ + +/*! + Constructs an abstract plottable which uses \a keyAxis as its key axis ("x") and \a valueAxis as + its value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance + and have perpendicular orientations. If either of these restrictions is violated, a corresponding + message is printed to the debug output (qDebug), the construction is not aborted, though. + + Since QCPAbstractPlottable is an abstract class that defines the basic interface to plottables, + it can't be directly instantiated. + + You probably want one of the subclasses like \ref QCPGraph or \ref QCPCurve instead. +*/ +QCPAbstractPlottable::QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPLayerable(keyAxis->parentPlot(), QString(), keyAxis->axisRect()), + mName(), + mAntialiasedFill(true), + mAntialiasedScatters(true), + mPen(Qt::black), + mBrush(Qt::NoBrush), + mKeyAxis(keyAxis), + mValueAxis(valueAxis), + mSelectable(QCP::stWhole), + mSelectionDecorator(0) +{ + if (keyAxis->parentPlot() != valueAxis->parentPlot()) + qDebug() << Q_FUNC_INFO << "Parent plot of keyAxis is not the same as that of valueAxis."; + if (keyAxis->orientation() == valueAxis->orientation()) + qDebug() << Q_FUNC_INFO << "keyAxis and valueAxis must be orthogonal to each other."; + + mParentPlot->registerPlottable(this); + setSelectionDecorator(new QCPSelectionDecorator); +} + +QCPAbstractPlottable::~QCPAbstractPlottable() +{ + if (mSelectionDecorator) + { + delete mSelectionDecorator; + mSelectionDecorator = 0; + } +} + +/*! + The name is the textual representation of this plottable as it is displayed in the legend + (\ref QCPLegend). It may contain any UTF-8 characters, including newlines. +*/ +void QCPAbstractPlottable::setName(const QString &name) +{ + mName = name; +} + +/*! + Sets whether fills of this plottable are drawn antialiased or not. + + Note that this setting may be overridden by \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. +*/ +void QCPAbstractPlottable::setAntialiasedFill(bool enabled) +{ + mAntialiasedFill = enabled; +} + +/*! + Sets whether the scatter symbols of this plottable are drawn antialiased or not. + + Note that this setting may be overridden by \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. +*/ +void QCPAbstractPlottable::setAntialiasedScatters(bool enabled) +{ + mAntialiasedScatters = enabled; +} + +/*! + The pen is used to draw basic lines that make up the plottable representation in the + plot. + + For example, the \ref QCPGraph subclass draws its graph lines with this pen. + + \see setBrush +*/ +void QCPAbstractPlottable::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + The brush is used to draw basic fills of the plottable representation in the + plot. The Fill can be a color, gradient or texture, see the usage of QBrush. + + For example, the \ref QCPGraph subclass draws the fill under the graph with this brush, when + it's not set to Qt::NoBrush. + + \see setPen +*/ +void QCPAbstractPlottable::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + The key axis of a plottable can be set to any axis of a QCustomPlot, as long as it is orthogonal + to the plottable's value axis. This function performs no checks to make sure this is the case. + The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and the + y-axis (QCustomPlot::yAxis) as value axis. + + Normally, the key and value axes are set in the constructor of the plottable (or \ref + QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface). + + \see setValueAxis +*/ +void QCPAbstractPlottable::setKeyAxis(QCPAxis *axis) +{ + mKeyAxis = axis; +} + +/*! + The value axis of a plottable can be set to any axis of a QCustomPlot, as long as it is + orthogonal to the plottable's key axis. This function performs no checks to make sure this is the + case. The typical mathematical choice is to use the x-axis (QCustomPlot::xAxis) as key axis and + the y-axis (QCustomPlot::yAxis) as value axis. + + Normally, the key and value axes are set in the constructor of the plottable (or \ref + QCustomPlot::addGraph when working with QCPGraphs through the dedicated graph interface). + + \see setKeyAxis +*/ +void QCPAbstractPlottable::setValueAxis(QCPAxis *axis) +{ + mValueAxis = axis; +} + + +/*! + Sets which data ranges of this plottable are selected. Selected data ranges are drawn differently + (e.g. color) in the plot. This can be controlled via the selection decorator (see \ref + selectionDecorator). + + The entire selection mechanism for plottables is handled automatically when \ref + QCustomPlot::setInteractions contains iSelectPlottables. You only need to call this function when + you wish to change the selection state programmatically. + + Using \ref setSelectable you can further specify for each plottable whether and to which + granularity it is selectable. If \a selection is not compatible with the current \ref + QCP::SelectionType set via \ref setSelectable, the resulting selection will be adjusted + accordingly (see \ref QCPDataSelection::enforceType). + + emits the \ref selectionChanged signal when \a selected is different from the previous selection state. + + \see setSelectable, selectTest +*/ +void QCPAbstractPlottable::setSelection(QCPDataSelection selection) +{ + selection.enforceType(mSelectable); + if (mSelection != selection) + { + mSelection = selection; + emit selectionChanged(selected()); + emit selectionChanged(mSelection); + } +} + +/*! + Use this method to set an own QCPSelectionDecorator (subclass) instance. This allows you to + customize the visual representation of selected data ranges further than by using the default + QCPSelectionDecorator. + + The plottable takes ownership of the \a decorator. + + The currently set decorator can be accessed via \ref selectionDecorator. +*/ +void QCPAbstractPlottable::setSelectionDecorator(QCPSelectionDecorator *decorator) +{ + if (decorator) + { + if (decorator->registerWithPlottable(this)) + { + if (mSelectionDecorator) // delete old decorator if necessary + delete mSelectionDecorator; + mSelectionDecorator = decorator; + } + } else if (mSelectionDecorator) // just clear decorator + { + delete mSelectionDecorator; + mSelectionDecorator = 0; + } +} + +/*! + Sets whether and to which granularity this plottable can be selected. + + A selection can happen by clicking on the QCustomPlot surface (When \ref + QCustomPlot::setInteractions contains \ref QCP::iSelectPlottables), by dragging a selection rect + (When \ref QCustomPlot::setSelectionRectMode is \ref QCP::srmSelect), or programmatically by + calling \ref setSelection. + + \see setSelection, QCP::SelectionType +*/ +void QCPAbstractPlottable::setSelectable(QCP::SelectionType selectable) +{ + if (mSelectable != selectable) + { + mSelectable = selectable; + QCPDataSelection oldSelection = mSelection; + mSelection.enforceType(mSelectable); + emit selectableChanged(mSelectable); + if (mSelection != oldSelection) + { + emit selectionChanged(selected()); + emit selectionChanged(mSelection); + } + } +} + + +/*! + Convenience function for transforming a key/value pair to pixels on the QCustomPlot surface, + taking the orientations of the axes associated with this plottable into account (e.g. whether key + represents x or y). + + \a key and \a value are transformed to the coodinates in pixels and are written to \a x and \a y. + + \see pixelsToCoords, QCPAxis::coordToPixel +*/ +void QCPAbstractPlottable::coordsToPixels(double key, double value, double &x, double &y) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + if (keyAxis->orientation() == Qt::Horizontal) + { + x = keyAxis->coordToPixel(key); + y = valueAxis->coordToPixel(value); + } else + { + y = keyAxis->coordToPixel(key); + x = valueAxis->coordToPixel(value); + } +} + +/*! \overload + + Transforms the given \a key and \a value to pixel coordinates and returns them in a QPointF. +*/ +const QPointF QCPAbstractPlottable::coordsToPixels(double key, double value) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(); } + + if (keyAxis->orientation() == Qt::Horizontal) + return QPointF(keyAxis->coordToPixel(key), valueAxis->coordToPixel(value)); + else + return QPointF(valueAxis->coordToPixel(value), keyAxis->coordToPixel(key)); +} + +/*! + Convenience function for transforming a x/y pixel pair on the QCustomPlot surface to plot coordinates, + taking the orientations of the axes associated with this plottable into account (e.g. whether key + represents x or y). + + \a x and \a y are transformed to the plot coodinates and are written to \a key and \a value. + + \see coordsToPixels, QCPAxis::coordToPixel +*/ +void QCPAbstractPlottable::pixelsToCoords(double x, double y, double &key, double &value) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + if (keyAxis->orientation() == Qt::Horizontal) + { + key = keyAxis->pixelToCoord(x); + value = valueAxis->pixelToCoord(y); + } else + { + key = keyAxis->pixelToCoord(y); + value = valueAxis->pixelToCoord(x); + } +} + +/*! \overload + + Returns the pixel input \a pixelPos as plot coordinates \a key and \a value. +*/ +void QCPAbstractPlottable::pixelsToCoords(const QPointF &pixelPos, double &key, double &value) const +{ + pixelsToCoords(pixelPos.x(), pixelPos.y(), key, value); +} + +/*! + Rescales the key and value axes associated with this plottable to contain all displayed data, so + the whole plottable is visible. If the scaling of an axis is logarithmic, rescaleAxes will make + sure not to rescale to an illegal range i.e. a range containing different signs and/or zero. + Instead it will stay in the current sign domain and ignore all parts of the plottable that lie + outside of that domain. + + \a onlyEnlarge makes sure the ranges are only expanded, never reduced. So it's possible to show + multiple plottables in their entirety by multiple calls to rescaleAxes where the first call has + \a onlyEnlarge set to false (the default), and all subsequent set to true. + + \see rescaleKeyAxis, rescaleValueAxis, QCustomPlot::rescaleAxes, QCPAxis::rescale +*/ +void QCPAbstractPlottable::rescaleAxes(bool onlyEnlarge) const +{ + rescaleKeyAxis(onlyEnlarge); + rescaleValueAxis(onlyEnlarge); +} + +/*! + Rescales the key axis of the plottable so the whole plottable is visible. + + See \ref rescaleAxes for detailed behaviour. +*/ +void QCPAbstractPlottable::rescaleKeyAxis(bool onlyEnlarge) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + if (!keyAxis) { qDebug() << Q_FUNC_INFO << "invalid key axis"; return; } + + QCP::SignDomain signDomain = QCP::sdBoth; + if (keyAxis->scaleType() == QCPAxis::stLogarithmic) + signDomain = (keyAxis->range().upper < 0 ? QCP::sdNegative : QCP::sdPositive); + + bool foundRange; + QCPRange newRange = getKeyRange(foundRange, signDomain); + if (foundRange) + { + if (onlyEnlarge) + newRange.expand(keyAxis->range()); + if (!QCPRange::validRange(newRange)) // likely due to range being zero (plottable has only constant data in this axis dimension), shift current range to at least center the plottable + { + double center = (newRange.lower+newRange.upper)*0.5; // upper and lower should be equal anyway, but just to make sure, incase validRange returned false for other reason + if (keyAxis->scaleType() == QCPAxis::stLinear) + { + newRange.lower = center-keyAxis->range().size()/2.0; + newRange.upper = center+keyAxis->range().size()/2.0; + } else // scaleType() == stLogarithmic + { + newRange.lower = center/qSqrt(keyAxis->range().upper/keyAxis->range().lower); + newRange.upper = center*qSqrt(keyAxis->range().upper/keyAxis->range().lower); + } + } + keyAxis->setRange(newRange); + } +} + +/*! + Rescales the value axis of the plottable so the whole plottable is visible. If \a inKeyRange is + set to true, only the data points which are in the currently visible key axis range are + considered. + + Returns true if the axis was actually scaled. This might not be the case if this plottable has an + invalid range, e.g. because it has no data points. + + See \ref rescaleAxes for detailed behaviour. +*/ +void QCPAbstractPlottable::rescaleValueAxis(bool onlyEnlarge, bool inKeyRange) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + QCP::SignDomain signDomain = QCP::sdBoth; + if (valueAxis->scaleType() == QCPAxis::stLogarithmic) + signDomain = (valueAxis->range().upper < 0 ? QCP::sdNegative : QCP::sdPositive); + + bool foundRange; + QCPRange newRange = getValueRange(foundRange, signDomain, inKeyRange ? keyAxis->range() : QCPRange()); + if (foundRange) + { + if (onlyEnlarge) + newRange.expand(valueAxis->range()); + if (!QCPRange::validRange(newRange)) // likely due to range being zero (plottable has only constant data in this axis dimension), shift current range to at least center the plottable + { + double center = (newRange.lower+newRange.upper)*0.5; // upper and lower should be equal anyway, but just to make sure, incase validRange returned false for other reason + if (valueAxis->scaleType() == QCPAxis::stLinear) + { + newRange.lower = center-valueAxis->range().size()/2.0; + newRange.upper = center+valueAxis->range().size()/2.0; + } else // scaleType() == stLogarithmic + { + newRange.lower = center/qSqrt(valueAxis->range().upper/valueAxis->range().lower); + newRange.upper = center*qSqrt(valueAxis->range().upper/valueAxis->range().lower); + } + } + valueAxis->setRange(newRange); + } +} + +/*! \overload + + Adds this plottable to the specified \a legend. + + Creates a QCPPlottableLegendItem which is inserted into the legend. Returns true on success, i.e. + when the legend exists and a legend item associated with this plottable isn't already in the + legend. + + If the plottable needs a more specialized representation in the legend, you can create a + corresponding subclass of \ref QCPPlottableLegendItem and add it to the legend manually instead + of calling this method. + + \see removeFromLegend, QCPLegend::addItem +*/ +bool QCPAbstractPlottable::addToLegend(QCPLegend *legend) +{ + if (!legend) + { + qDebug() << Q_FUNC_INFO << "passed legend is null"; + return false; + } + if (legend->parentPlot() != mParentPlot) + { + qDebug() << Q_FUNC_INFO << "passed legend isn't in the same QCustomPlot as this plottable"; + return false; + } + + if (!legend->hasItemWithPlottable(this)) + { + legend->addItem(new QCPPlottableLegendItem(legend, this)); + return true; + } else + return false; +} + +/*! \overload + + Adds this plottable to the legend of the parent QCustomPlot (\ref QCustomPlot::legend). + + \see removeFromLegend +*/ +bool QCPAbstractPlottable::addToLegend() +{ + if (!mParentPlot || !mParentPlot->legend) + return false; + else + return addToLegend(mParentPlot->legend); +} + +/*! \overload + + Removes the plottable from the specifed \a legend. This means the \ref QCPPlottableLegendItem + that is associated with this plottable is removed. + + Returns true on success, i.e. if the legend exists and a legend item associated with this + plottable was found and removed. + + \see addToLegend, QCPLegend::removeItem +*/ +bool QCPAbstractPlottable::removeFromLegend(QCPLegend *legend) const +{ + if (!legend) + { + qDebug() << Q_FUNC_INFO << "passed legend is null"; + return false; + } + + if (QCPPlottableLegendItem *lip = legend->itemWithPlottable(this)) + return legend->removeItem(lip); + else + return false; +} + +/*! \overload + + Removes the plottable from the legend of the parent QCustomPlot. + + \see addToLegend +*/ +bool QCPAbstractPlottable::removeFromLegend() const +{ + if (!mParentPlot || !mParentPlot->legend) + return false; + else + return removeFromLegend(mParentPlot->legend); +} + +/* inherits documentation from base class */ +QRect QCPAbstractPlottable::clipRect() const +{ + if (mKeyAxis && mValueAxis) + return mKeyAxis.data()->axisRect()->rect() & mValueAxis.data()->axisRect()->rect(); + else + return QRect(); +} + +/* inherits documentation from base class */ +QCP::Interaction QCPAbstractPlottable::selectionCategory() const +{ + return QCP::iSelectPlottables; +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing plottable lines. + + This is the antialiasing state the painter passed to the \ref draw method is in by default. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \seebaseclassmethod + + \see setAntialiased, applyFillAntialiasingHint, applyScattersAntialiasingHint +*/ +void QCPAbstractPlottable::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aePlottables); +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing plottable fills. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \see setAntialiased, applyDefaultAntialiasingHint, applyScattersAntialiasingHint +*/ +void QCPAbstractPlottable::applyFillAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiasedFill, QCP::aeFills); +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing plottable scatter points. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \see setAntialiased, applyFillAntialiasingHint, applyDefaultAntialiasingHint +*/ +void QCPAbstractPlottable::applyScattersAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiasedScatters, QCP::aeScatters); +} + +/* inherits documentation from base class */ +void QCPAbstractPlottable::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + + if (mSelectable != QCP::stNone) + { + QCPDataSelection newSelection = details.value<QCPDataSelection>(); + QCPDataSelection selectionBefore = mSelection; + if (additive) + { + if (mSelectable == QCP::stWhole) // in whole selection mode, we toggle to no selection even if currently unselected point was hit + { + if (selected()) + setSelection(QCPDataSelection()); + else + setSelection(newSelection); + } else // in all other selection modes we toggle selections of homogeneously selected/unselected segments + { + if (mSelection.contains(newSelection)) // if entire newSelection is already selected, toggle selection + setSelection(mSelection-newSelection); + else + setSelection(mSelection+newSelection); + } + } else + setSelection(newSelection); + if (selectionStateChanged) + *selectionStateChanged = mSelection != selectionBefore; + } +} + +/* inherits documentation from base class */ +void QCPAbstractPlottable::deselectEvent(bool *selectionStateChanged) +{ + if (mSelectable != QCP::stNone) + { + QCPDataSelection selectionBefore = mSelection; + setSelection(QCPDataSelection()); + if (selectionStateChanged) + *selectionStateChanged = mSelection != selectionBefore; + } +} +/* end of 'src/plottable.cpp' */ + + +/* including file 'src/item.cpp', size 49269 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemAnchor +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemAnchor + \brief An anchor of an item to which positions can be attached to. + + An item (QCPAbstractItem) may have one or more anchors. Unlike QCPItemPosition, an anchor doesn't + control anything on its item, but provides a way to tie other items via their positions to the + anchor. + + For example, a QCPItemRect is defined by its positions \a topLeft and \a bottomRight. + Additionally it has various anchors like \a top, \a topRight or \a bottomLeft etc. So you can + attach the \a start (which is a QCPItemPosition) of a QCPItemLine to one of the anchors by + calling QCPItemPosition::setParentAnchor on \a start, passing the wanted anchor of the + QCPItemRect. This way the start of the line will now always follow the respective anchor location + on the rect item. + + Note that QCPItemPosition derives from QCPItemAnchor, so every position can also serve as an + anchor to other positions. + + To learn how to provide anchors in your own item subclasses, see the subclassing section of the + QCPAbstractItem documentation. +*/ + +/* start documentation of inline functions */ + +/*! \fn virtual QCPItemPosition *QCPItemAnchor::toQCPItemPosition() + + Returns 0 if this instance is merely a QCPItemAnchor, and a valid pointer of type QCPItemPosition* if + it actually is a QCPItemPosition (which is a subclass of QCPItemAnchor). + + This safe downcast functionality could also be achieved with a dynamic_cast. However, QCustomPlot avoids + dynamic_cast to work with projects that don't have RTTI support enabled (e.g. -fno-rtti flag with + gcc compiler). +*/ + +/* end documentation of inline functions */ + +/*! + Creates a new QCPItemAnchor. You shouldn't create QCPItemAnchor instances directly, even if + you want to make a new item subclass. Use \ref QCPAbstractItem::createAnchor instead, as + explained in the subclassing section of the QCPAbstractItem documentation. +*/ +QCPItemAnchor::QCPItemAnchor(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString &name, int anchorId) : + mName(name), + mParentPlot(parentPlot), + mParentItem(parentItem), + mAnchorId(anchorId) +{ +} + +QCPItemAnchor::~QCPItemAnchor() +{ + // unregister as parent at children: + foreach (QCPItemPosition *child, mChildrenX.toList()) + { + if (child->parentAnchorX() == this) + child->setParentAnchorX(0); // this acts back on this anchor and child removes itself from mChildrenX + } + foreach (QCPItemPosition *child, mChildrenY.toList()) + { + if (child->parentAnchorY() == this) + child->setParentAnchorY(0); // this acts back on this anchor and child removes itself from mChildrenY + } +} + +/*! + Returns the final absolute pixel position of the QCPItemAnchor on the QCustomPlot surface. + + The pixel information is internally retrieved via QCPAbstractItem::anchorPixelPosition of the + parent item, QCPItemAnchor is just an intermediary. +*/ +QPointF QCPItemAnchor::pixelPosition() const +{ + if (mParentItem) + { + if (mAnchorId > -1) + { + return mParentItem->anchorPixelPosition(mAnchorId); + } else + { + qDebug() << Q_FUNC_INFO << "no valid anchor id set:" << mAnchorId; + return QPointF(); + } + } else + { + qDebug() << Q_FUNC_INFO << "no parent item set"; + return QPointF(); + } +} + +/*! \internal + + Adds \a pos to the childX list of this anchor, which keeps track of which children use this + anchor as parent anchor for the respective coordinate. This is necessary to notify the children + prior to destruction of the anchor. + + Note that this function does not change the parent setting in \a pos. +*/ +void QCPItemAnchor::addChildX(QCPItemPosition *pos) +{ + if (!mChildrenX.contains(pos)) + mChildrenX.insert(pos); + else + qDebug() << Q_FUNC_INFO << "provided pos is child already" << reinterpret_cast<quintptr>(pos); +} + +/*! \internal + + Removes \a pos from the childX list of this anchor. + + Note that this function does not change the parent setting in \a pos. +*/ +void QCPItemAnchor::removeChildX(QCPItemPosition *pos) +{ + if (!mChildrenX.remove(pos)) + qDebug() << Q_FUNC_INFO << "provided pos isn't child" << reinterpret_cast<quintptr>(pos); +} + +/*! \internal + + Adds \a pos to the childY list of this anchor, which keeps track of which children use this + anchor as parent anchor for the respective coordinate. This is necessary to notify the children + prior to destruction of the anchor. + + Note that this function does not change the parent setting in \a pos. +*/ +void QCPItemAnchor::addChildY(QCPItemPosition *pos) +{ + if (!mChildrenY.contains(pos)) + mChildrenY.insert(pos); + else + qDebug() << Q_FUNC_INFO << "provided pos is child already" << reinterpret_cast<quintptr>(pos); +} + +/*! \internal + + Removes \a pos from the childY list of this anchor. + + Note that this function does not change the parent setting in \a pos. +*/ +void QCPItemAnchor::removeChildY(QCPItemPosition *pos) +{ + if (!mChildrenY.remove(pos)) + qDebug() << Q_FUNC_INFO << "provided pos isn't child" << reinterpret_cast<quintptr>(pos); +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemPosition +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemPosition + \brief Manages the position of an item. + + Every item has at least one public QCPItemPosition member pointer which provides ways to position the + item on the QCustomPlot surface. Some items have multiple positions, for example QCPItemRect has two: + \a topLeft and \a bottomRight. + + QCPItemPosition has a type (\ref PositionType) that can be set with \ref setType. This type + defines how coordinates passed to \ref setCoords are to be interpreted, e.g. as absolute pixel + coordinates, as plot coordinates of certain axes, etc. For more advanced plots it is also + possible to assign different types per X/Y coordinate of the position (see \ref setTypeX, \ref + setTypeY). This way an item could be positioned at a fixed pixel distance from the top in the Y + direction, while following a plot coordinate in the X direction. + + A QCPItemPosition may have a parent QCPItemAnchor, see \ref setParentAnchor. This way you can tie + multiple items together. If the QCPItemPosition has a parent, its coordinates (\ref setCoords) + are considered to be absolute pixels in the reference frame of the parent anchor, where (0, 0) + means directly ontop of the parent anchor. For example, You could attach the \a start position of + a QCPItemLine to the \a bottom anchor of a QCPItemText to make the starting point of the line + always be centered under the text label, no matter where the text is moved to. For more advanced + plots, it is possible to assign different parent anchors per X/Y coordinate of the position, see + \ref setParentAnchorX, \ref setParentAnchorY. This way an item could follow another item in the X + direction but stay at a fixed position in the Y direction. Or even follow item A in X, and item B + in Y. + + Note that every QCPItemPosition inherits from QCPItemAnchor and thus can itself be used as parent + anchor for other positions. + + To set the apparent pixel position on the QCustomPlot surface directly, use \ref setPixelPosition. This + works no matter what type this QCPItemPosition is or what parent-child situation it is in, as \ref + setPixelPosition transforms the coordinates appropriately, to make the position appear at the specified + pixel values. +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPItemPosition::PositionType *QCPItemPosition::type() const + + Returns the current position type. + + If different types were set for X and Y (\ref setTypeX, \ref setTypeY), this method returns the + type of the X coordinate. In that case rather use \a typeX() and \a typeY(). + + \see setType +*/ + +/*! \fn QCPItemAnchor *QCPItemPosition::parentAnchor() const + + Returns the current parent anchor. + + If different parent anchors were set for X and Y (\ref setParentAnchorX, \ref setParentAnchorY), + this method returns the parent anchor of the Y coordinate. In that case rather use \a + parentAnchorX() and \a parentAnchorY(). + + \see setParentAnchor +*/ + +/* end documentation of inline functions */ + +/*! + Creates a new QCPItemPosition. You shouldn't create QCPItemPosition instances directly, even if + you want to make a new item subclass. Use \ref QCPAbstractItem::createPosition instead, as + explained in the subclassing section of the QCPAbstractItem documentation. +*/ +QCPItemPosition::QCPItemPosition(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString &name) : + QCPItemAnchor(parentPlot, parentItem, name), + mPositionTypeX(ptAbsolute), + mPositionTypeY(ptAbsolute), + mKey(0), + mValue(0), + mParentAnchorX(0), + mParentAnchorY(0) +{ +} + +QCPItemPosition::~QCPItemPosition() +{ + // unregister as parent at children: + // Note: this is done in ~QCPItemAnchor again, but it's important QCPItemPosition does it itself, because only then + // the setParentAnchor(0) call the correct QCPItemPosition::pixelPosition function instead of QCPItemAnchor::pixelPosition + foreach (QCPItemPosition *child, mChildrenX.toList()) + { + if (child->parentAnchorX() == this) + child->setParentAnchorX(0); // this acts back on this anchor and child removes itself from mChildrenX + } + foreach (QCPItemPosition *child, mChildrenY.toList()) + { + if (child->parentAnchorY() == this) + child->setParentAnchorY(0); // this acts back on this anchor and child removes itself from mChildrenY + } + // unregister as child in parent: + if (mParentAnchorX) + mParentAnchorX->removeChildX(this); + if (mParentAnchorY) + mParentAnchorY->removeChildY(this); +} + +/* can't make this a header inline function, because QPointer breaks with forward declared types, see QTBUG-29588 */ +QCPAxisRect *QCPItemPosition::axisRect() const +{ + return mAxisRect.data(); +} + +/*! + Sets the type of the position. The type defines how the coordinates passed to \ref setCoords + should be handled and how the QCPItemPosition should behave in the plot. + + The possible values for \a type can be separated in two main categories: + + \li The position is regarded as a point in plot coordinates. This corresponds to \ref ptPlotCoords + and requires two axes that define the plot coordinate system. They can be specified with \ref setAxes. + By default, the QCustomPlot's x- and yAxis are used. + + \li The position is fixed on the QCustomPlot surface, i.e. independent of axis ranges. This + corresponds to all other types, i.e. \ref ptAbsolute, \ref ptViewportRatio and \ref + ptAxisRectRatio. They differ only in the way the absolute position is described, see the + documentation of \ref PositionType for details. For \ref ptAxisRectRatio, note that you can specify + the axis rect with \ref setAxisRect. By default this is set to the main axis rect. + + Note that the position type \ref ptPlotCoords is only available (and sensible) when the position + has no parent anchor (\ref setParentAnchor). + + If the type is changed, the apparent pixel position on the plot is preserved. This means + the coordinates as retrieved with coords() and set with \ref setCoords may change in the process. + + This method sets the type for both X and Y directions. It is also possible to set different types + for X and Y, see \ref setTypeX, \ref setTypeY. +*/ +void QCPItemPosition::setType(QCPItemPosition::PositionType type) +{ + setTypeX(type); + setTypeY(type); +} + +/*! + This method sets the position type of the X coordinate to \a type. + + For a detailed description of what a position type is, see the documentation of \ref setType. + + \see setType, setTypeY +*/ +void QCPItemPosition::setTypeX(QCPItemPosition::PositionType type) +{ + if (mPositionTypeX != type) + { + // if switching from or to coordinate type that isn't valid (e.g. because axes or axis rect + // were deleted), don't try to recover the pixelPosition() because it would output a qDebug warning. + bool retainPixelPosition = true; + if ((mPositionTypeX == ptPlotCoords || type == ptPlotCoords) && (!mKeyAxis || !mValueAxis)) + retainPixelPosition = false; + if ((mPositionTypeX == ptAxisRectRatio || type == ptAxisRectRatio) && (!mAxisRect)) + retainPixelPosition = false; + + QPointF pixel; + if (retainPixelPosition) + pixel = pixelPosition(); + + mPositionTypeX = type; + + if (retainPixelPosition) + setPixelPosition(pixel); + } +} + +/*! + This method sets the position type of the Y coordinate to \a type. + + For a detailed description of what a position type is, see the documentation of \ref setType. + + \see setType, setTypeX +*/ +void QCPItemPosition::setTypeY(QCPItemPosition::PositionType type) +{ + if (mPositionTypeY != type) + { + // if switching from or to coordinate type that isn't valid (e.g. because axes or axis rect + // were deleted), don't try to recover the pixelPosition() because it would output a qDebug warning. + bool retainPixelPosition = true; + if ((mPositionTypeY == ptPlotCoords || type == ptPlotCoords) && (!mKeyAxis || !mValueAxis)) + retainPixelPosition = false; + if ((mPositionTypeY == ptAxisRectRatio || type == ptAxisRectRatio) && (!mAxisRect)) + retainPixelPosition = false; + + QPointF pixel; + if (retainPixelPosition) + pixel = pixelPosition(); + + mPositionTypeY = type; + + if (retainPixelPosition) + setPixelPosition(pixel); + } +} + +/*! + Sets the parent of this QCPItemPosition to \a parentAnchor. This means the position will now + follow any position changes of the anchor. The local coordinate system of positions with a parent + anchor always is absolute pixels, with (0, 0) being exactly on top of the parent anchor. (Hence + the type shouldn't be set to \ref ptPlotCoords for positions with parent anchors.) + + if \a keepPixelPosition is true, the current pixel position of the QCPItemPosition is preserved + during reparenting. If it's set to false, the coordinates are set to (0, 0), i.e. the position + will be exactly on top of the parent anchor. + + To remove this QCPItemPosition from any parent anchor, set \a parentAnchor to 0. + + If the QCPItemPosition previously had no parent and the type is \ref ptPlotCoords, the type is + set to \ref ptAbsolute, to keep the position in a valid state. + + This method sets the parent anchor for both X and Y directions. It is also possible to set + different parents for X and Y, see \ref setParentAnchorX, \ref setParentAnchorY. +*/ +bool QCPItemPosition::setParentAnchor(QCPItemAnchor *parentAnchor, bool keepPixelPosition) +{ + bool successX = setParentAnchorX(parentAnchor, keepPixelPosition); + bool successY = setParentAnchorY(parentAnchor, keepPixelPosition); + return successX && successY; +} + +/*! + This method sets the parent anchor of the X coordinate to \a parentAnchor. + + For a detailed description of what a parent anchor is, see the documentation of \ref setParentAnchor. + + \see setParentAnchor, setParentAnchorY +*/ +bool QCPItemPosition::setParentAnchorX(QCPItemAnchor *parentAnchor, bool keepPixelPosition) +{ + // make sure self is not assigned as parent: + if (parentAnchor == this) + { + qDebug() << Q_FUNC_INFO << "can't set self as parent anchor" << reinterpret_cast<quintptr>(parentAnchor); + return false; + } + // make sure no recursive parent-child-relationships are created: + QCPItemAnchor *currentParent = parentAnchor; + while (currentParent) + { + if (QCPItemPosition *currentParentPos = currentParent->toQCPItemPosition()) + { + // is a QCPItemPosition, might have further parent, so keep iterating + if (currentParentPos == this) + { + qDebug() << Q_FUNC_INFO << "can't create recursive parent-child-relationship" << reinterpret_cast<quintptr>(parentAnchor); + return false; + } + currentParent = currentParentPos->parentAnchorX(); + } else + { + // is a QCPItemAnchor, can't have further parent. Now make sure the parent items aren't the + // same, to prevent a position being child of an anchor which itself depends on the position, + // because they're both on the same item: + if (currentParent->mParentItem == mParentItem) + { + qDebug() << Q_FUNC_INFO << "can't set parent to be an anchor which itself depends on this position" << reinterpret_cast<quintptr>(parentAnchor); + return false; + } + break; + } + } + + // if previously no parent set and PosType is still ptPlotCoords, set to ptAbsolute: + if (!mParentAnchorX && mPositionTypeX == ptPlotCoords) + setTypeX(ptAbsolute); + + // save pixel position: + QPointF pixelP; + if (keepPixelPosition) + pixelP = pixelPosition(); + // unregister at current parent anchor: + if (mParentAnchorX) + mParentAnchorX->removeChildX(this); + // register at new parent anchor: + if (parentAnchor) + parentAnchor->addChildX(this); + mParentAnchorX = parentAnchor; + // restore pixel position under new parent: + if (keepPixelPosition) + setPixelPosition(pixelP); + else + setCoords(0, coords().y()); + return true; +} + +/*! + This method sets the parent anchor of the Y coordinate to \a parentAnchor. + + For a detailed description of what a parent anchor is, see the documentation of \ref setParentAnchor. + + \see setParentAnchor, setParentAnchorX +*/ +bool QCPItemPosition::setParentAnchorY(QCPItemAnchor *parentAnchor, bool keepPixelPosition) +{ + // make sure self is not assigned as parent: + if (parentAnchor == this) + { + qDebug() << Q_FUNC_INFO << "can't set self as parent anchor" << reinterpret_cast<quintptr>(parentAnchor); + return false; + } + // make sure no recursive parent-child-relationships are created: + QCPItemAnchor *currentParent = parentAnchor; + while (currentParent) + { + if (QCPItemPosition *currentParentPos = currentParent->toQCPItemPosition()) + { + // is a QCPItemPosition, might have further parent, so keep iterating + if (currentParentPos == this) + { + qDebug() << Q_FUNC_INFO << "can't create recursive parent-child-relationship" << reinterpret_cast<quintptr>(parentAnchor); + return false; + } + currentParent = currentParentPos->parentAnchorY(); + } else + { + // is a QCPItemAnchor, can't have further parent. Now make sure the parent items aren't the + // same, to prevent a position being child of an anchor which itself depends on the position, + // because they're both on the same item: + if (currentParent->mParentItem == mParentItem) + { + qDebug() << Q_FUNC_INFO << "can't set parent to be an anchor which itself depends on this position" << reinterpret_cast<quintptr>(parentAnchor); + return false; + } + break; + } + } + + // if previously no parent set and PosType is still ptPlotCoords, set to ptAbsolute: + if (!mParentAnchorY && mPositionTypeY == ptPlotCoords) + setTypeY(ptAbsolute); + + // save pixel position: + QPointF pixelP; + if (keepPixelPosition) + pixelP = pixelPosition(); + // unregister at current parent anchor: + if (mParentAnchorY) + mParentAnchorY->removeChildY(this); + // register at new parent anchor: + if (parentAnchor) + parentAnchor->addChildY(this); + mParentAnchorY = parentAnchor; + // restore pixel position under new parent: + if (keepPixelPosition) + setPixelPosition(pixelP); + else + setCoords(coords().x(), 0); + return true; +} + +/*! + Sets the coordinates of this QCPItemPosition. What the coordinates mean, is defined by the type + (\ref setType, \ref setTypeX, \ref setTypeY). + + For example, if the type is \ref ptAbsolute, \a key and \a value mean the x and y pixel position + on the QCustomPlot surface. In that case the origin (0, 0) is in the top left corner of the + QCustomPlot viewport. If the type is \ref ptPlotCoords, \a key and \a value mean a point in the + plot coordinate system defined by the axes set by \ref setAxes. By default those are the + QCustomPlot's xAxis and yAxis. See the documentation of \ref setType for other available + coordinate types and their meaning. + + If different types were configured for X and Y (\ref setTypeX, \ref setTypeY), \a key and \a + value must also be provided in the different coordinate systems. Here, the X type refers to \a + key, and the Y type refers to \a value. + + \see setPixelPosition +*/ +void QCPItemPosition::setCoords(double key, double value) +{ + mKey = key; + mValue = value; +} + +/*! \overload + + Sets the coordinates as a QPointF \a pos where pos.x has the meaning of \a key and pos.y the + meaning of \a value of the \ref setCoords(double key, double value) method. +*/ +void QCPItemPosition::setCoords(const QPointF &pos) +{ + setCoords(pos.x(), pos.y()); +} + +/*! + Returns the final absolute pixel position of the QCPItemPosition on the QCustomPlot surface. It + includes all effects of type (\ref setType) and possible parent anchors (\ref setParentAnchor). + + \see setPixelPosition +*/ +QPointF QCPItemPosition::pixelPosition() const +{ + QPointF result; + + // determine X: + switch (mPositionTypeX) + { + case ptAbsolute: + { + result.rx() = mKey; + if (mParentAnchorX) + result.rx() += mParentAnchorX->pixelPosition().x(); + break; + } + case ptViewportRatio: + { + result.rx() = mKey*mParentPlot->viewport().width(); + if (mParentAnchorX) + result.rx() += mParentAnchorX->pixelPosition().x(); + else + result.rx() += mParentPlot->viewport().left(); + break; + } + case ptAxisRectRatio: + { + if (mAxisRect) + { + result.rx() = mKey*mAxisRect.data()->width(); + if (mParentAnchorX) + result.rx() += mParentAnchorX->pixelPosition().x(); + else + result.rx() += mAxisRect.data()->left(); + } else + qDebug() << Q_FUNC_INFO << "Item position type x is ptAxisRectRatio, but no axis rect was defined"; + break; + } + case ptPlotCoords: + { + if (mKeyAxis && mKeyAxis.data()->orientation() == Qt::Horizontal) + result.rx() = mKeyAxis.data()->coordToPixel(mKey); + else if (mValueAxis && mValueAxis.data()->orientation() == Qt::Horizontal) + result.rx() = mValueAxis.data()->coordToPixel(mValue); + else + qDebug() << Q_FUNC_INFO << "Item position type x is ptPlotCoords, but no axes were defined"; + break; + } + } + + // determine Y: + switch (mPositionTypeY) + { + case ptAbsolute: + { + result.ry() = mValue; + if (mParentAnchorY) + result.ry() += mParentAnchorY->pixelPosition().y(); + break; + } + case ptViewportRatio: + { + result.ry() = mValue*mParentPlot->viewport().height(); + if (mParentAnchorY) + result.ry() += mParentAnchorY->pixelPosition().y(); + else + result.ry() += mParentPlot->viewport().top(); + break; + } + case ptAxisRectRatio: + { + if (mAxisRect) + { + result.ry() = mValue*mAxisRect.data()->height(); + if (mParentAnchorY) + result.ry() += mParentAnchorY->pixelPosition().y(); + else + result.ry() += mAxisRect.data()->top(); + } else + qDebug() << Q_FUNC_INFO << "Item position type y is ptAxisRectRatio, but no axis rect was defined"; + break; + } + case ptPlotCoords: + { + if (mKeyAxis && mKeyAxis.data()->orientation() == Qt::Vertical) + result.ry() = mKeyAxis.data()->coordToPixel(mKey); + else if (mValueAxis && mValueAxis.data()->orientation() == Qt::Vertical) + result.ry() = mValueAxis.data()->coordToPixel(mValue); + else + qDebug() << Q_FUNC_INFO << "Item position type y is ptPlotCoords, but no axes were defined"; + break; + } + } + + return result; +} + +/*! + When \ref setType is \ref ptPlotCoords, this function may be used to specify the axes the + coordinates set with \ref setCoords relate to. By default they are set to the initial xAxis and + yAxis of the QCustomPlot. +*/ +void QCPItemPosition::setAxes(QCPAxis *keyAxis, QCPAxis *valueAxis) +{ + mKeyAxis = keyAxis; + mValueAxis = valueAxis; +} + +/*! + When \ref setType is \ref ptAxisRectRatio, this function may be used to specify the axis rect the + coordinates set with \ref setCoords relate to. By default this is set to the main axis rect of + the QCustomPlot. +*/ +void QCPItemPosition::setAxisRect(QCPAxisRect *axisRect) +{ + mAxisRect = axisRect; +} + +/*! + Sets the apparent pixel position. This works no matter what type (\ref setType) this + QCPItemPosition is or what parent-child situation it is in, as coordinates are transformed + appropriately, to make the position finally appear at the specified pixel values. + + Only if the type is \ref ptAbsolute and no parent anchor is set, this function's effect is + identical to that of \ref setCoords. + + \see pixelPosition, setCoords +*/ +void QCPItemPosition::setPixelPosition(const QPointF &pixelPosition) +{ + double x = pixelPosition.x(); + double y = pixelPosition.y(); + + switch (mPositionTypeX) + { + case ptAbsolute: + { + if (mParentAnchorX) + x -= mParentAnchorX->pixelPosition().x(); + break; + } + case ptViewportRatio: + { + if (mParentAnchorX) + x -= mParentAnchorX->pixelPosition().x(); + else + x -= mParentPlot->viewport().left(); + x /= (double)mParentPlot->viewport().width(); + break; + } + case ptAxisRectRatio: + { + if (mAxisRect) + { + if (mParentAnchorX) + x -= mParentAnchorX->pixelPosition().x(); + else + x -= mAxisRect.data()->left(); + x /= (double)mAxisRect.data()->width(); + } else + qDebug() << Q_FUNC_INFO << "Item position type x is ptAxisRectRatio, but no axis rect was defined"; + break; + } + case ptPlotCoords: + { + if (mKeyAxis && mKeyAxis.data()->orientation() == Qt::Horizontal) + x = mKeyAxis.data()->pixelToCoord(x); + else if (mValueAxis && mValueAxis.data()->orientation() == Qt::Horizontal) + y = mValueAxis.data()->pixelToCoord(x); + else + qDebug() << Q_FUNC_INFO << "Item position type x is ptPlotCoords, but no axes were defined"; + break; + } + } + + switch (mPositionTypeY) + { + case ptAbsolute: + { + if (mParentAnchorY) + y -= mParentAnchorY->pixelPosition().y(); + break; + } + case ptViewportRatio: + { + if (mParentAnchorY) + y -= mParentAnchorY->pixelPosition().y(); + else + y -= mParentPlot->viewport().top(); + y /= (double)mParentPlot->viewport().height(); + break; + } + case ptAxisRectRatio: + { + if (mAxisRect) + { + if (mParentAnchorY) + y -= mParentAnchorY->pixelPosition().y(); + else + y -= mAxisRect.data()->top(); + y /= (double)mAxisRect.data()->height(); + } else + qDebug() << Q_FUNC_INFO << "Item position type y is ptAxisRectRatio, but no axis rect was defined"; + break; + } + case ptPlotCoords: + { + if (mKeyAxis && mKeyAxis.data()->orientation() == Qt::Vertical) + x = mKeyAxis.data()->pixelToCoord(y); + else if (mValueAxis && mValueAxis.data()->orientation() == Qt::Vertical) + y = mValueAxis.data()->pixelToCoord(y); + else + qDebug() << Q_FUNC_INFO << "Item position type y is ptPlotCoords, but no axes were defined"; + break; + } + } + + setCoords(x, y); +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAbstractItem +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAbstractItem + \brief The abstract base class for all items in a plot. + + In QCustomPlot, items are supplemental graphical elements that are neither plottables + (QCPAbstractPlottable) nor axes (QCPAxis). While plottables are always tied to two axes and thus + plot coordinates, items can also be placed in absolute coordinates independent of any axes. Each + specific item has at least one QCPItemPosition member which controls the positioning. Some items + are defined by more than one coordinate and thus have two or more QCPItemPosition members (For + example, QCPItemRect has \a topLeft and \a bottomRight). + + This abstract base class defines a very basic interface like visibility and clipping. Since this + class is abstract, it can't be instantiated. Use one of the subclasses or create a subclass + yourself to create new items. + + The built-in items are: + <table> + <tr><td>QCPItemLine</td><td>A line defined by a start and an end point. May have different ending styles on each side (e.g. arrows).</td></tr> + <tr><td>QCPItemStraightLine</td><td>A straight line defined by a start and a direction point. Unlike QCPItemLine, the straight line is infinitely long and has no endings.</td></tr> + <tr><td>QCPItemCurve</td><td>A curve defined by start, end and two intermediate control points. May have different ending styles on each side (e.g. arrows).</td></tr> + <tr><td>QCPItemRect</td><td>A rectangle</td></tr> + <tr><td>QCPItemEllipse</td><td>An ellipse</td></tr> + <tr><td>QCPItemPixmap</td><td>An arbitrary pixmap</td></tr> + <tr><td>QCPItemText</td><td>A text label</td></tr> + <tr><td>QCPItemBracket</td><td>A bracket which may be used to reference/highlight certain parts in the plot.</td></tr> + <tr><td>QCPItemTracer</td><td>An item that can be attached to a QCPGraph and sticks to its data points, given a key coordinate.</td></tr> + </table> + + \section items-clipping Clipping + + Items are by default clipped to the main axis rect (they are only visible inside the axis rect). + To make an item visible outside that axis rect, disable clipping via \ref setClipToAxisRect + "setClipToAxisRect(false)". + + On the other hand if you want the item to be clipped to a different axis rect, specify it via + \ref setClipAxisRect. This clipAxisRect property of an item is only used for clipping behaviour, and + in principle is independent of the coordinate axes the item might be tied to via its position + members (\ref QCPItemPosition::setAxes). However, it is common that the axis rect for clipping + also contains the axes used for the item positions. + + \section items-using Using items + + First you instantiate the item you want to use and add it to the plot: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpitemline-creation-1 + by default, the positions of the item are bound to the x- and y-Axis of the plot. So we can just + set the plot coordinates where the line should start/end: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpitemline-creation-2 + If we don't want the line to be positioned in plot coordinates but a different coordinate system, + e.g. absolute pixel positions on the QCustomPlot surface, we need to change the position type like this: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpitemline-creation-3 + Then we can set the coordinates, this time in pixels: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpitemline-creation-4 + and make the line visible on the entire QCustomPlot, by disabling clipping to the axis rect: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpitemline-creation-5 + + For more advanced plots, it is even possible to set different types and parent anchors per X/Y + coordinate of an item position, using for example \ref QCPItemPosition::setTypeX or \ref + QCPItemPosition::setParentAnchorX. For details, see the documentation of \ref QCPItemPosition. + + \section items-subclassing Creating own items + + To create an own item, you implement a subclass of QCPAbstractItem. These are the pure + virtual functions, you must implement: + \li \ref selectTest + \li \ref draw + + See the documentation of those functions for what they need to do. + + \subsection items-positioning Allowing the item to be positioned + + As mentioned, item positions are represented by QCPItemPosition members. Let's assume the new item shall + have only one point as its position (as opposed to two like a rect or multiple like a polygon). You then add + a public member of type QCPItemPosition like so: + + \code QCPItemPosition * const myPosition;\endcode + + the const makes sure the pointer itself can't be modified from the user of your new item (the QCPItemPosition + instance it points to, can be modified, of course). + The initialization of this pointer is made easy with the \ref createPosition function. Just assign + the return value of this function to each QCPItemPosition in the constructor of your item. \ref createPosition + takes a string which is the name of the position, typically this is identical to the variable name. + For example, the constructor of QCPItemExample could look like this: + + \code + QCPItemExample::QCPItemExample(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + myPosition(createPosition("myPosition")) + { + // other constructor code + } + \endcode + + \subsection items-drawing The draw function + + To give your item a visual representation, reimplement the \ref draw function and use the passed + QCPPainter to draw the item. You can retrieve the item position in pixel coordinates from the + position member(s) via \ref QCPItemPosition::pixelPosition. + + To optimize performance you should calculate a bounding rect first (don't forget to take the pen + width into account), check whether it intersects the \ref clipRect, and only draw the item at all + if this is the case. + + \subsection items-selection The selectTest function + + Your implementation of the \ref selectTest function may use the helpers \ref + QCPVector2D::distanceSquaredToLine and \ref rectDistance. With these, the implementation of the + selection test becomes significantly simpler for most items. See the documentation of \ref + selectTest for what the function parameters mean and what the function should return. + + \subsection anchors Providing anchors + + Providing anchors (QCPItemAnchor) starts off like adding a position. First you create a public + member, e.g. + + \code QCPItemAnchor * const bottom;\endcode + + and create it in the constructor with the \ref createAnchor function, assigning it a name and an + anchor id (an integer enumerating all anchors on the item, you may create an own enum for this). + Since anchors can be placed anywhere, relative to the item's position(s), your item needs to + provide the position of every anchor with the reimplementation of the \ref anchorPixelPosition(int + anchorId) function. + + In essence the QCPItemAnchor is merely an intermediary that itself asks your item for the pixel + position when anything attached to the anchor needs to know the coordinates. +*/ + +/* start of documentation of inline functions */ + +/*! \fn QList<QCPItemPosition*> QCPAbstractItem::positions() const + + Returns all positions of the item in a list. + + \see anchors, position +*/ + +/*! \fn QList<QCPItemAnchor*> QCPAbstractItem::anchors() const + + Returns all anchors of the item in a list. Note that since a position (QCPItemPosition) is always + also an anchor, the list will also contain the positions of this item. + + \see positions, anchor +*/ + +/* end of documentation of inline functions */ +/* start documentation of pure virtual functions */ + +/*! \fn void QCPAbstractItem::draw(QCPPainter *painter) = 0 + \internal + + Draws this item with the provided \a painter. + + The cliprect of the provided painter is set to the rect returned by \ref clipRect before this + function is called. The clipRect depends on the clipping settings defined by \ref + setClipToAxisRect and \ref setClipAxisRect. +*/ + +/* end documentation of pure virtual functions */ +/* start documentation of signals */ + +/*! \fn void QCPAbstractItem::selectionChanged(bool selected) + This signal is emitted when the selection state of this item has changed, either by user interaction + or by a direct call to \ref setSelected. +*/ + +/* end documentation of signals */ + +/*! + Base class constructor which initializes base class members. +*/ +QCPAbstractItem::QCPAbstractItem(QCustomPlot *parentPlot) : + QCPLayerable(parentPlot), + mClipToAxisRect(false), + mSelectable(true), + mSelected(false) +{ + parentPlot->registerItem(this); + + QList<QCPAxisRect*> rects = parentPlot->axisRects(); + if (rects.size() > 0) + { + setClipToAxisRect(true); + setClipAxisRect(rects.first()); + } +} + +QCPAbstractItem::~QCPAbstractItem() +{ + // don't delete mPositions because every position is also an anchor and thus in mAnchors + qDeleteAll(mAnchors); +} + +/* can't make this a header inline function, because QPointer breaks with forward declared types, see QTBUG-29588 */ +QCPAxisRect *QCPAbstractItem::clipAxisRect() const +{ + return mClipAxisRect.data(); +} + +/*! + Sets whether the item shall be clipped to an axis rect or whether it shall be visible on the + entire QCustomPlot. The axis rect can be set with \ref setClipAxisRect. + + \see setClipAxisRect +*/ +void QCPAbstractItem::setClipToAxisRect(bool clip) +{ + mClipToAxisRect = clip; + if (mClipToAxisRect) + setParentLayerable(mClipAxisRect.data()); +} + +/*! + Sets the clip axis rect. It defines the rect that will be used to clip the item when \ref + setClipToAxisRect is set to true. + + \see setClipToAxisRect +*/ +void QCPAbstractItem::setClipAxisRect(QCPAxisRect *rect) +{ + mClipAxisRect = rect; + if (mClipToAxisRect) + setParentLayerable(mClipAxisRect.data()); +} + +/*! + Sets whether the user can (de-)select this item by clicking on the QCustomPlot surface. + (When \ref QCustomPlot::setInteractions contains QCustomPlot::iSelectItems.) + + However, even when \a selectable was set to false, it is possible to set the selection manually, + by calling \ref setSelected. + + \see QCustomPlot::setInteractions, setSelected +*/ +void QCPAbstractItem::setSelectable(bool selectable) +{ + if (mSelectable != selectable) + { + mSelectable = selectable; + emit selectableChanged(mSelectable); + } +} + +/*! + Sets whether this item is selected or not. When selected, it might use a different visual + appearance (e.g. pen and brush), this depends on the specific item though. + + The entire selection mechanism for items is handled automatically when \ref + QCustomPlot::setInteractions contains QCustomPlot::iSelectItems. You only need to call this + function when you wish to change the selection state manually. + + This function can change the selection state even when \ref setSelectable was set to false. + + emits the \ref selectionChanged signal when \a selected is different from the previous selection state. + + \see setSelectable, selectTest +*/ +void QCPAbstractItem::setSelected(bool selected) +{ + if (mSelected != selected) + { + mSelected = selected; + emit selectionChanged(mSelected); + } +} + +/*! + Returns the QCPItemPosition with the specified \a name. If this item doesn't have a position by + that name, returns 0. + + This function provides an alternative way to access item positions. Normally, you access + positions direcly by their member pointers (which typically have the same variable name as \a + name). + + \see positions, anchor +*/ +QCPItemPosition *QCPAbstractItem::position(const QString &name) const +{ + for (int i=0; i<mPositions.size(); ++i) + { + if (mPositions.at(i)->name() == name) + return mPositions.at(i); + } + qDebug() << Q_FUNC_INFO << "position with name not found:" << name; + return 0; +} + +/*! + Returns the QCPItemAnchor with the specified \a name. If this item doesn't have an anchor by + that name, returns 0. + + This function provides an alternative way to access item anchors. Normally, you access + anchors direcly by their member pointers (which typically have the same variable name as \a + name). + + \see anchors, position +*/ +QCPItemAnchor *QCPAbstractItem::anchor(const QString &name) const +{ + for (int i=0; i<mAnchors.size(); ++i) + { + if (mAnchors.at(i)->name() == name) + return mAnchors.at(i); + } + qDebug() << Q_FUNC_INFO << "anchor with name not found:" << name; + return 0; +} + +/*! + Returns whether this item has an anchor with the specified \a name. + + Note that you can check for positions with this function, too. This is because every position is + also an anchor (QCPItemPosition inherits from QCPItemAnchor). + + \see anchor, position +*/ +bool QCPAbstractItem::hasAnchor(const QString &name) const +{ + for (int i=0; i<mAnchors.size(); ++i) + { + if (mAnchors.at(i)->name() == name) + return true; + } + return false; +} + +/*! \internal + + Returns the rect the visual representation of this item is clipped to. This depends on the + current setting of \ref setClipToAxisRect as well as the axis rect set with \ref setClipAxisRect. + + If the item is not clipped to an axis rect, QCustomPlot's viewport rect is returned. + + \see draw +*/ +QRect QCPAbstractItem::clipRect() const +{ + if (mClipToAxisRect && mClipAxisRect) + return mClipAxisRect.data()->rect(); + else + return mParentPlot->viewport(); +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing item lines. + + This is the antialiasing state the painter passed to the \ref draw method is in by default. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \see setAntialiased +*/ +void QCPAbstractItem::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeItems); +} + +/*! \internal + + A convenience function which returns the selectTest value for a specified \a rect and a specified + click position \a pos. \a filledRect defines whether a click inside the rect should also be + considered a hit or whether only the rect border is sensitive to hits. + + This function may be used to help with the implementation of the \ref selectTest function for + specific items. + + For example, if your item consists of four rects, call this function four times, once for each + rect, in your \ref selectTest reimplementation. Finally, return the minimum (non -1) of all four + returned values. +*/ +double QCPAbstractItem::rectDistance(const QRectF &rect, const QPointF &pos, bool filledRect) const +{ + double result = -1; + + // distance to border: + QList<QLineF> lines; + lines << QLineF(rect.topLeft(), rect.topRight()) << QLineF(rect.bottomLeft(), rect.bottomRight()) + << QLineF(rect.topLeft(), rect.bottomLeft()) << QLineF(rect.topRight(), rect.bottomRight()); + double minDistSqr = std::numeric_limits<double>::max(); + for (int i=0; i<lines.size(); ++i) + { + double distSqr = QCPVector2D(pos).distanceSquaredToLine(lines.at(i).p1(), lines.at(i).p2()); + if (distSqr < minDistSqr) + minDistSqr = distSqr; + } + result = qSqrt(minDistSqr); + + // filled rect, allow click inside to count as hit: + if (filledRect && result > mParentPlot->selectionTolerance()*0.99) + { + if (rect.contains(pos)) + result = mParentPlot->selectionTolerance()*0.99; + } + return result; +} + +/*! \internal + + Returns the pixel position of the anchor with Id \a anchorId. This function must be reimplemented in + item subclasses if they want to provide anchors (QCPItemAnchor). + + For example, if the item has two anchors with id 0 and 1, this function takes one of these anchor + ids and returns the respective pixel points of the specified anchor. + + \see createAnchor +*/ +QPointF QCPAbstractItem::anchorPixelPosition(int anchorId) const +{ + qDebug() << Q_FUNC_INFO << "called on item which shouldn't have any anchors (this method not reimplemented). anchorId" << anchorId; + return QPointF(); +} + +/*! \internal + + Creates a QCPItemPosition, registers it with this item and returns a pointer to it. The specified + \a name must be a unique string that is usually identical to the variable name of the position + member (This is needed to provide the name-based \ref position access to positions). + + Don't delete positions created by this function manually, as the item will take care of it. + + Use this function in the constructor (initialization list) of the specific item subclass to + create each position member. Don't create QCPItemPositions with \b new yourself, because they + won't be registered with the item properly. + + \see createAnchor +*/ +QCPItemPosition *QCPAbstractItem::createPosition(const QString &name) +{ + if (hasAnchor(name)) + qDebug() << Q_FUNC_INFO << "anchor/position with name exists already:" << name; + QCPItemPosition *newPosition = new QCPItemPosition(mParentPlot, this, name); + mPositions.append(newPosition); + mAnchors.append(newPosition); // every position is also an anchor + newPosition->setAxes(mParentPlot->xAxis, mParentPlot->yAxis); + newPosition->setType(QCPItemPosition::ptPlotCoords); + if (mParentPlot->axisRect()) + newPosition->setAxisRect(mParentPlot->axisRect()); + newPosition->setCoords(0, 0); + return newPosition; +} + +/*! \internal + + Creates a QCPItemAnchor, registers it with this item and returns a pointer to it. The specified + \a name must be a unique string that is usually identical to the variable name of the anchor + member (This is needed to provide the name based \ref anchor access to anchors). + + The \a anchorId must be a number identifying the created anchor. It is recommended to create an + enum (e.g. "AnchorIndex") for this on each item that uses anchors. This id is used by the anchor + to identify itself when it calls QCPAbstractItem::anchorPixelPosition. That function then returns + the correct pixel coordinates for the passed anchor id. + + Don't delete anchors created by this function manually, as the item will take care of it. + + Use this function in the constructor (initialization list) of the specific item subclass to + create each anchor member. Don't create QCPItemAnchors with \b new yourself, because then they + won't be registered with the item properly. + + \see createPosition +*/ +QCPItemAnchor *QCPAbstractItem::createAnchor(const QString &name, int anchorId) +{ + if (hasAnchor(name)) + qDebug() << Q_FUNC_INFO << "anchor/position with name exists already:" << name; + QCPItemAnchor *newAnchor = new QCPItemAnchor(mParentPlot, this, name, anchorId); + mAnchors.append(newAnchor); + return newAnchor; +} + +/* inherits documentation from base class */ +void QCPAbstractItem::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + Q_UNUSED(details) + if (mSelectable) + { + bool selBefore = mSelected; + setSelected(additive ? !mSelected : true); + if (selectionStateChanged) + *selectionStateChanged = mSelected != selBefore; + } +} + +/* inherits documentation from base class */ +void QCPAbstractItem::deselectEvent(bool *selectionStateChanged) +{ + if (mSelectable) + { + bool selBefore = mSelected; + setSelected(false); + if (selectionStateChanged) + *selectionStateChanged = mSelected != selBefore; + } +} + +/* inherits documentation from base class */ +QCP::Interaction QCPAbstractItem::selectionCategory() const +{ + return QCP::iSelectItems; +} +/* end of 'src/item.cpp' */ + + +/* including file 'src/core.cpp', size 125037 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCustomPlot +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCustomPlot + + \brief The central class of the library. This is the QWidget which displays the plot and + interacts with the user. + + For tutorials on how to use QCustomPlot, see the website\n + http://www.qcustomplot.com/ +*/ + +/* start of documentation of inline functions */ + +/*! \fn QCPSelectionRect *QCustomPlot::selectionRect() const + + Allows access to the currently used QCPSelectionRect instance (or subclass thereof), that is used + to handle and draw selection rect interactions (see \ref setSelectionRectMode). + + \see setSelectionRect +*/ + +/*! \fn QCPLayoutGrid *QCustomPlot::plotLayout() const + + Returns the top level layout of this QCustomPlot instance. It is a \ref QCPLayoutGrid, initially containing just + one cell with the main QCPAxisRect inside. +*/ + +/* end of documentation of inline functions */ +/* start of documentation of signals */ + +/*! \fn void QCustomPlot::mouseDoubleClick(QMouseEvent *event) + + This signal is emitted when the QCustomPlot receives a mouse double click event. +*/ + +/*! \fn void QCustomPlot::mousePress(QMouseEvent *event) + + This signal is emitted when the QCustomPlot receives a mouse press event. + + It is emitted before QCustomPlot handles any other mechanism like range dragging. So a slot + connected to this signal can still influence the behaviour e.g. with \ref QCPAxisRect::setRangeDrag or \ref + QCPAxisRect::setRangeDragAxes. +*/ + +/*! \fn void QCustomPlot::mouseMove(QMouseEvent *event) + + This signal is emitted when the QCustomPlot receives a mouse move event. + + It is emitted before QCustomPlot handles any other mechanism like range dragging. So a slot + connected to this signal can still influence the behaviour e.g. with \ref QCPAxisRect::setRangeDrag or \ref + QCPAxisRect::setRangeDragAxes. + + \warning It is discouraged to change the drag-axes with \ref QCPAxisRect::setRangeDragAxes here, + because the dragging starting point was saved the moment the mouse was pressed. Thus it only has + a meaning for the range drag axes that were set at that moment. If you want to change the drag + axes, consider doing this in the \ref mousePress signal instead. +*/ + +/*! \fn void QCustomPlot::mouseRelease(QMouseEvent *event) + + This signal is emitted when the QCustomPlot receives a mouse release event. + + It is emitted before QCustomPlot handles any other mechanisms like object selection. So a + slot connected to this signal can still influence the behaviour e.g. with \ref setInteractions or + \ref QCPAbstractPlottable::setSelectable. +*/ + +/*! \fn void QCustomPlot::mouseWheel(QMouseEvent *event) + + This signal is emitted when the QCustomPlot receives a mouse wheel event. + + It is emitted before QCustomPlot handles any other mechanisms like range zooming. So a slot + connected to this signal can still influence the behaviour e.g. with \ref QCPAxisRect::setRangeZoom, \ref + QCPAxisRect::setRangeZoomAxes or \ref QCPAxisRect::setRangeZoomFactor. +*/ + +/*! \fn void QCustomPlot::plottableClick(QCPAbstractPlottable *plottable, int dataIndex, QMouseEvent *event) + + This signal is emitted when a plottable is clicked. + + \a event is the mouse event that caused the click and \a plottable is the plottable that received + the click. The parameter \a dataIndex indicates the data point that was closest to the click + position. + + \see plottableDoubleClick +*/ + +/*! \fn void QCustomPlot::plottableDoubleClick(QCPAbstractPlottable *plottable, int dataIndex, QMouseEvent *event) + + This signal is emitted when a plottable is double clicked. + + \a event is the mouse event that caused the click and \a plottable is the plottable that received + the click. The parameter \a dataIndex indicates the data point that was closest to the click + position. + + \see plottableClick +*/ + +/*! \fn void QCustomPlot::itemClick(QCPAbstractItem *item, QMouseEvent *event) + + This signal is emitted when an item is clicked. + + \a event is the mouse event that caused the click and \a item is the item that received the + click. + + \see itemDoubleClick +*/ + +/*! \fn void QCustomPlot::itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event) + + This signal is emitted when an item is double clicked. + + \a event is the mouse event that caused the click and \a item is the item that received the + click. + + \see itemClick +*/ + +/*! \fn void QCustomPlot::axisClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event) + + This signal is emitted when an axis is clicked. + + \a event is the mouse event that caused the click, \a axis is the axis that received the click and + \a part indicates the part of the axis that was clicked. + + \see axisDoubleClick +*/ + +/*! \fn void QCustomPlot::axisDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event) + + This signal is emitted when an axis is double clicked. + + \a event is the mouse event that caused the click, \a axis is the axis that received the click and + \a part indicates the part of the axis that was clicked. + + \see axisClick +*/ + +/*! \fn void QCustomPlot::legendClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event) + + This signal is emitted when a legend (item) is clicked. + + \a event is the mouse event that caused the click, \a legend is the legend that received the + click and \a item is the legend item that received the click. If only the legend and no item is + clicked, \a item is 0. This happens for a click inside the legend padding or the space between + two items. + + \see legendDoubleClick +*/ + +/*! \fn void QCustomPlot::legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event) + + This signal is emitted when a legend (item) is double clicked. + + \a event is the mouse event that caused the click, \a legend is the legend that received the + click and \a item is the legend item that received the click. If only the legend and no item is + clicked, \a item is 0. This happens for a click inside the legend padding or the space between + two items. + + \see legendClick +*/ + +/*! \fn void QCustomPlot::selectionChangedByUser() + + This signal is emitted after the user has changed the selection in the QCustomPlot, e.g. by + clicking. It is not emitted when the selection state of an object has changed programmatically by + a direct call to <tt>setSelected()</tt>/<tt>setSelection()</tt> on an object or by calling \ref + deselectAll. + + In addition to this signal, selectable objects also provide individual signals, for example \ref + QCPAxis::selectionChanged or \ref QCPAbstractPlottable::selectionChanged. Note that those signals + are emitted even if the selection state is changed programmatically. + + See the documentation of \ref setInteractions for details about the selection mechanism. + + \see selectedPlottables, selectedGraphs, selectedItems, selectedAxes, selectedLegends +*/ + +/*! \fn void QCustomPlot::beforeReplot() + + This signal is emitted immediately before a replot takes place (caused by a call to the slot \ref + replot). + + It is safe to mutually connect the replot slot with this signal on two QCustomPlots to make them + replot synchronously, it won't cause an infinite recursion. + + \see replot, afterReplot +*/ + +/*! \fn void QCustomPlot::afterReplot() + + This signal is emitted immediately after a replot has taken place (caused by a call to the slot \ref + replot). + + It is safe to mutually connect the replot slot with this signal on two QCustomPlots to make them + replot synchronously, it won't cause an infinite recursion. + + \see replot, beforeReplot +*/ + +/* end of documentation of signals */ +/* start of documentation of public members */ + +/*! \var QCPAxis *QCustomPlot::xAxis + + A pointer to the primary x Axis (bottom) of the main axis rect of the plot. + + QCustomPlot offers convenient pointers to the axes (\ref xAxis, \ref yAxis, \ref xAxis2, \ref + yAxis2) and the \ref legend. They make it very easy working with plots that only have a single + axis rect and at most one axis at each axis rect side. If you use \link thelayoutsystem the + layout system\endlink to add multiple axis rects or multiple axes to one side, use the \ref + QCPAxisRect::axis interface to access the new axes. If one of the four default axes or the + default legend is removed due to manipulation of the layout system (e.g. by removing the main + axis rect), the corresponding pointers become 0. + + If an axis convenience pointer is currently zero and a new axis rect or a corresponding axis is + added in the place of the main axis rect, QCustomPlot resets the convenience pointers to the + according new axes. Similarly the \ref legend convenience pointer will be reset if a legend is + added after the main legend was removed before. +*/ + +/*! \var QCPAxis *QCustomPlot::yAxis + + A pointer to the primary y Axis (left) of the main axis rect of the plot. + + QCustomPlot offers convenient pointers to the axes (\ref xAxis, \ref yAxis, \ref xAxis2, \ref + yAxis2) and the \ref legend. They make it very easy working with plots that only have a single + axis rect and at most one axis at each axis rect side. If you use \link thelayoutsystem the + layout system\endlink to add multiple axis rects or multiple axes to one side, use the \ref + QCPAxisRect::axis interface to access the new axes. If one of the four default axes or the + default legend is removed due to manipulation of the layout system (e.g. by removing the main + axis rect), the corresponding pointers become 0. + + If an axis convenience pointer is currently zero and a new axis rect or a corresponding axis is + added in the place of the main axis rect, QCustomPlot resets the convenience pointers to the + according new axes. Similarly the \ref legend convenience pointer will be reset if a legend is + added after the main legend was removed before. +*/ + +/*! \var QCPAxis *QCustomPlot::xAxis2 + + A pointer to the secondary x Axis (top) of the main axis rect of the plot. Secondary axes are + invisible by default. Use QCPAxis::setVisible to change this (or use \ref + QCPAxisRect::setupFullAxesBox). + + QCustomPlot offers convenient pointers to the axes (\ref xAxis, \ref yAxis, \ref xAxis2, \ref + yAxis2) and the \ref legend. They make it very easy working with plots that only have a single + axis rect and at most one axis at each axis rect side. If you use \link thelayoutsystem the + layout system\endlink to add multiple axis rects or multiple axes to one side, use the \ref + QCPAxisRect::axis interface to access the new axes. If one of the four default axes or the + default legend is removed due to manipulation of the layout system (e.g. by removing the main + axis rect), the corresponding pointers become 0. + + If an axis convenience pointer is currently zero and a new axis rect or a corresponding axis is + added in the place of the main axis rect, QCustomPlot resets the convenience pointers to the + according new axes. Similarly the \ref legend convenience pointer will be reset if a legend is + added after the main legend was removed before. +*/ + +/*! \var QCPAxis *QCustomPlot::yAxis2 + + A pointer to the secondary y Axis (right) of the main axis rect of the plot. Secondary axes are + invisible by default. Use QCPAxis::setVisible to change this (or use \ref + QCPAxisRect::setupFullAxesBox). + + QCustomPlot offers convenient pointers to the axes (\ref xAxis, \ref yAxis, \ref xAxis2, \ref + yAxis2) and the \ref legend. They make it very easy working with plots that only have a single + axis rect and at most one axis at each axis rect side. If you use \link thelayoutsystem the + layout system\endlink to add multiple axis rects or multiple axes to one side, use the \ref + QCPAxisRect::axis interface to access the new axes. If one of the four default axes or the + default legend is removed due to manipulation of the layout system (e.g. by removing the main + axis rect), the corresponding pointers become 0. + + If an axis convenience pointer is currently zero and a new axis rect or a corresponding axis is + added in the place of the main axis rect, QCustomPlot resets the convenience pointers to the + according new axes. Similarly the \ref legend convenience pointer will be reset if a legend is + added after the main legend was removed before. +*/ + +/*! \var QCPLegend *QCustomPlot::legend + + A pointer to the default legend of the main axis rect. The legend is invisible by default. Use + QCPLegend::setVisible to change this. + + QCustomPlot offers convenient pointers to the axes (\ref xAxis, \ref yAxis, \ref xAxis2, \ref + yAxis2) and the \ref legend. They make it very easy working with plots that only have a single + axis rect and at most one axis at each axis rect side. If you use \link thelayoutsystem the + layout system\endlink to add multiple legends to the plot, use the layout system interface to + access the new legend. For example, legends can be placed inside an axis rect's \ref + QCPAxisRect::insetLayout "inset layout", and must then also be accessed via the inset layout. If + the default legend is removed due to manipulation of the layout system (e.g. by removing the main + axis rect), the corresponding pointer becomes 0. + + If an axis convenience pointer is currently zero and a new axis rect or a corresponding axis is + added in the place of the main axis rect, QCustomPlot resets the convenience pointers to the + according new axes. Similarly the \ref legend convenience pointer will be reset if a legend is + added after the main legend was removed before. +*/ + +/* end of documentation of public members */ + +/*! + Constructs a QCustomPlot and sets reasonable default values. +*/ +QCustomPlot::QCustomPlot(QWidget *parent) : + QWidget(parent), + xAxis(0), + yAxis(0), + xAxis2(0), + yAxis2(0), + legend(0), + mBufferDevicePixelRatio(1.0), // will be adapted to primary screen below + mPlotLayout(0), + mAutoAddPlottableToLegend(true), + mAntialiasedElements(QCP::aeNone), + mNotAntialiasedElements(QCP::aeNone), + mInteractions(0), + mSelectionTolerance(8), + mNoAntialiasingOnDrag(false), + mBackgroundBrush(Qt::white, Qt::SolidPattern), + mBackgroundScaled(true), + mBackgroundScaledMode(Qt::KeepAspectRatioByExpanding), + mCurrentLayer(0), + mPlottingHints(QCP::phCacheLabels|QCP::phImmediateRefresh), + mMultiSelectModifier(Qt::ControlModifier), + mSelectionRectMode(QCP::srmNone), + mSelectionRect(0), + mOpenGl(false), + mMouseHasMoved(false), + mMouseEventLayerable(0), + mMouseSignalLayerable(0), + mReplotting(false), + mReplotQueued(false), + mOpenGlMultisamples(16), + mOpenGlAntialiasedElementsBackup(QCP::aeNone), + mOpenGlCacheLabelsBackup(true) +{ + setAttribute(Qt::WA_NoMousePropagation); + setAttribute(Qt::WA_OpaquePaintEvent); + setFocusPolicy(Qt::ClickFocus); + setMouseTracking(true); + QLocale currentLocale = locale(); + currentLocale.setNumberOptions(QLocale::OmitGroupSeparator); + setLocale(currentLocale); +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED +# ifdef QCP_DEVICEPIXELRATIO_FLOAT + setBufferDevicePixelRatio(QWidget::devicePixelRatioF()); +# else + setBufferDevicePixelRatio(QWidget::devicePixelRatio()); +# endif +#endif + + mOpenGlAntialiasedElementsBackup = mAntialiasedElements; + mOpenGlCacheLabelsBackup = mPlottingHints.testFlag(QCP::phCacheLabels); + // create initial layers: + mLayers.append(new QCPLayer(this, QLatin1String("background"))); + mLayers.append(new QCPLayer(this, QLatin1String("grid"))); + mLayers.append(new QCPLayer(this, QLatin1String("main"))); + mLayers.append(new QCPLayer(this, QLatin1String("axes"))); + mLayers.append(new QCPLayer(this, QLatin1String("legend"))); + mLayers.append(new QCPLayer(this, QLatin1String("overlay"))); + updateLayerIndices(); + setCurrentLayer(QLatin1String("main")); + layer(QLatin1String("overlay"))->setMode(QCPLayer::lmBuffered); + + // create initial layout, axis rect and legend: + mPlotLayout = new QCPLayoutGrid; + mPlotLayout->initializeParentPlot(this); + mPlotLayout->setParent(this); // important because if parent is QWidget, QCPLayout::sizeConstraintsChanged will call QWidget::updateGeometry + mPlotLayout->setLayer(QLatin1String("main")); + QCPAxisRect *defaultAxisRect = new QCPAxisRect(this, true); + mPlotLayout->addElement(0, 0, defaultAxisRect); + xAxis = defaultAxisRect->axis(QCPAxis::atBottom); + yAxis = defaultAxisRect->axis(QCPAxis::atLeft); + xAxis2 = defaultAxisRect->axis(QCPAxis::atTop); + yAxis2 = defaultAxisRect->axis(QCPAxis::atRight); + legend = new QCPLegend; + legend->setVisible(false); + defaultAxisRect->insetLayout()->addElement(legend, Qt::AlignRight|Qt::AlignTop); + defaultAxisRect->insetLayout()->setMargins(QMargins(12, 12, 12, 12)); + + defaultAxisRect->setLayer(QLatin1String("background")); + xAxis->setLayer(QLatin1String("axes")); + yAxis->setLayer(QLatin1String("axes")); + xAxis2->setLayer(QLatin1String("axes")); + yAxis2->setLayer(QLatin1String("axes")); + xAxis->grid()->setLayer(QLatin1String("grid")); + yAxis->grid()->setLayer(QLatin1String("grid")); + xAxis2->grid()->setLayer(QLatin1String("grid")); + yAxis2->grid()->setLayer(QLatin1String("grid")); + legend->setLayer(QLatin1String("legend")); + + // create selection rect instance: + mSelectionRect = new QCPSelectionRect(this); + mSelectionRect->setLayer(QLatin1String("overlay")); + + setViewport(rect()); // needs to be called after mPlotLayout has been created + + replot(rpQueuedReplot); +} + +QCustomPlot::~QCustomPlot() +{ + clearPlottables(); + clearItems(); + + if (mPlotLayout) + { + delete mPlotLayout; + mPlotLayout = 0; + } + + mCurrentLayer = 0; + qDeleteAll(mLayers); // don't use removeLayer, because it would prevent the last layer to be removed + mLayers.clear(); +} + +/*! + Sets which elements are forcibly drawn antialiased as an \a or combination of QCP::AntialiasedElement. + + This overrides the antialiasing settings for whole element groups, normally controlled with the + \a setAntialiasing function on the individual elements. If an element is neither specified in + \ref setAntialiasedElements nor in \ref setNotAntialiasedElements, the antialiasing setting on + each individual element instance is used. + + For example, if \a antialiasedElements contains \ref QCP::aePlottables, all plottables will be + drawn antialiased, no matter what the specific QCPAbstractPlottable::setAntialiased value was set + to. + + if an element in \a antialiasedElements is already set in \ref setNotAntialiasedElements, it is + removed from there. + + \see setNotAntialiasedElements +*/ +void QCustomPlot::setAntialiasedElements(const QCP::AntialiasedElements &antialiasedElements) +{ + mAntialiasedElements = antialiasedElements; + + // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: + if ((mNotAntialiasedElements & mAntialiasedElements) != 0) + mNotAntialiasedElements |= ~mAntialiasedElements; +} + +/*! + Sets whether the specified \a antialiasedElement is forcibly drawn antialiased. + + See \ref setAntialiasedElements for details. + + \see setNotAntialiasedElement +*/ +void QCustomPlot::setAntialiasedElement(QCP::AntialiasedElement antialiasedElement, bool enabled) +{ + if (!enabled && mAntialiasedElements.testFlag(antialiasedElement)) + mAntialiasedElements &= ~antialiasedElement; + else if (enabled && !mAntialiasedElements.testFlag(antialiasedElement)) + mAntialiasedElements |= antialiasedElement; + + // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: + if ((mNotAntialiasedElements & mAntialiasedElements) != 0) + mNotAntialiasedElements |= ~mAntialiasedElements; +} + +/*! + Sets which elements are forcibly drawn not antialiased as an \a or combination of + QCP::AntialiasedElement. + + This overrides the antialiasing settings for whole element groups, normally controlled with the + \a setAntialiasing function on the individual elements. If an element is neither specified in + \ref setAntialiasedElements nor in \ref setNotAntialiasedElements, the antialiasing setting on + each individual element instance is used. + + For example, if \a notAntialiasedElements contains \ref QCP::aePlottables, no plottables will be + drawn antialiased, no matter what the specific QCPAbstractPlottable::setAntialiased value was set + to. + + if an element in \a notAntialiasedElements is already set in \ref setAntialiasedElements, it is + removed from there. + + \see setAntialiasedElements +*/ +void QCustomPlot::setNotAntialiasedElements(const QCP::AntialiasedElements &notAntialiasedElements) +{ + mNotAntialiasedElements = notAntialiasedElements; + + // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: + if ((mNotAntialiasedElements & mAntialiasedElements) != 0) + mAntialiasedElements |= ~mNotAntialiasedElements; +} + +/*! + Sets whether the specified \a notAntialiasedElement is forcibly drawn not antialiased. + + See \ref setNotAntialiasedElements for details. + + \see setAntialiasedElement +*/ +void QCustomPlot::setNotAntialiasedElement(QCP::AntialiasedElement notAntialiasedElement, bool enabled) +{ + if (!enabled && mNotAntialiasedElements.testFlag(notAntialiasedElement)) + mNotAntialiasedElements &= ~notAntialiasedElement; + else if (enabled && !mNotAntialiasedElements.testFlag(notAntialiasedElement)) + mNotAntialiasedElements |= notAntialiasedElement; + + // make sure elements aren't in mNotAntialiasedElements and mAntialiasedElements simultaneously: + if ((mNotAntialiasedElements & mAntialiasedElements) != 0) + mAntialiasedElements |= ~mNotAntialiasedElements; +} + +/*! + If set to true, adding a plottable (e.g. a graph) to the QCustomPlot automatically also adds the + plottable to the legend (QCustomPlot::legend). + + \see addGraph, QCPLegend::addItem +*/ +void QCustomPlot::setAutoAddPlottableToLegend(bool on) +{ + mAutoAddPlottableToLegend = on; +} + +/*! + Sets the possible interactions of this QCustomPlot as an or-combination of \ref QCP::Interaction + enums. There are the following types of interactions: + + <b>Axis range manipulation</b> is controlled via \ref QCP::iRangeDrag and \ref QCP::iRangeZoom. When the + respective interaction is enabled, the user may drag axes ranges and zoom with the mouse wheel. + For details how to control which axes the user may drag/zoom and in what orientations, see \ref + QCPAxisRect::setRangeDrag, \ref QCPAxisRect::setRangeZoom, \ref QCPAxisRect::setRangeDragAxes, + \ref QCPAxisRect::setRangeZoomAxes. + + <b>Plottable data selection</b> is controlled by \ref QCP::iSelectPlottables. If \ref + QCP::iSelectPlottables is set, the user may select plottables (graphs, curves, bars,...) and + their data by clicking on them or in their vicinity (\ref setSelectionTolerance). Whether the + user can actually select a plottable and its data can further be restricted with the \ref + QCPAbstractPlottable::setSelectable method on the specific plottable. For details, see the + special page about the \ref dataselection "data selection mechanism". To retrieve a list of all + currently selected plottables, call \ref selectedPlottables. If you're only interested in + QCPGraphs, you may use the convenience function \ref selectedGraphs. + + <b>Item selection</b> is controlled by \ref QCP::iSelectItems. If \ref QCP::iSelectItems is set, the user + may select items (QCPItemLine, QCPItemText,...) by clicking on them or in their vicinity. To find + out whether a specific item is selected, call QCPAbstractItem::selected(). To retrieve a list of + all currently selected items, call \ref selectedItems. + + <b>Axis selection</b> is controlled with \ref QCP::iSelectAxes. If \ref QCP::iSelectAxes is set, the user + may select parts of the axes by clicking on them. What parts exactly (e.g. Axis base line, tick + labels, axis label) are selectable can be controlled via \ref QCPAxis::setSelectableParts for + each axis. To retrieve a list of all axes that currently contain selected parts, call \ref + selectedAxes. Which parts of an axis are selected, can be retrieved with QCPAxis::selectedParts(). + + <b>Legend selection</b> is controlled with \ref QCP::iSelectLegend. If this is set, the user may + select the legend itself or individual items by clicking on them. What parts exactly are + selectable can be controlled via \ref QCPLegend::setSelectableParts. To find out whether the + legend or any of its child items are selected, check the value of QCPLegend::selectedParts. To + find out which child items are selected, call \ref QCPLegend::selectedItems. + + <b>All other selectable elements</b> The selection of all other selectable objects (e.g. + QCPTextElement, or your own layerable subclasses) is controlled with \ref QCP::iSelectOther. If set, the + user may select those objects by clicking on them. To find out which are currently selected, you + need to check their selected state explicitly. + + If the selection state has changed by user interaction, the \ref selectionChangedByUser signal is + emitted. Each selectable object additionally emits an individual selectionChanged signal whenever + their selection state has changed, i.e. not only by user interaction. + + To allow multiple objects to be selected by holding the selection modifier (\ref + setMultiSelectModifier), set the flag \ref QCP::iMultiSelect. + + \note In addition to the selection mechanism presented here, QCustomPlot always emits + corresponding signals, when an object is clicked or double clicked. see \ref plottableClick and + \ref plottableDoubleClick for example. + + \see setInteraction, setSelectionTolerance +*/ +void QCustomPlot::setInteractions(const QCP::Interactions &interactions) +{ + mInteractions = interactions; +} + +/*! + Sets the single \a interaction of this QCustomPlot to \a enabled. + + For details about the interaction system, see \ref setInteractions. + + \see setInteractions +*/ +void QCustomPlot::setInteraction(const QCP::Interaction &interaction, bool enabled) +{ + if (!enabled && mInteractions.testFlag(interaction)) + mInteractions &= ~interaction; + else if (enabled && !mInteractions.testFlag(interaction)) + mInteractions |= interaction; +} + +/*! + Sets the tolerance that is used to decide whether a click selects an object (e.g. a plottable) or + not. + + If the user clicks in the vicinity of the line of e.g. a QCPGraph, it's only regarded as a + potential selection when the minimum distance between the click position and the graph line is + smaller than \a pixels. Objects that are defined by an area (e.g. QCPBars) only react to clicks + directly inside the area and ignore this selection tolerance. In other words, it only has meaning + for parts of objects that are too thin to exactly hit with a click and thus need such a + tolerance. + + \see setInteractions, QCPLayerable::selectTest +*/ +void QCustomPlot::setSelectionTolerance(int pixels) +{ + mSelectionTolerance = pixels; +} + +/*! + Sets whether antialiasing is disabled for this QCustomPlot while the user is dragging axes + ranges. If many objects, especially plottables, are drawn antialiased, this greatly improves + performance during dragging. Thus it creates a more responsive user experience. As soon as the + user stops dragging, the last replot is done with normal antialiasing, to restore high image + quality. + + \see setAntialiasedElements, setNotAntialiasedElements +*/ +void QCustomPlot::setNoAntialiasingOnDrag(bool enabled) +{ + mNoAntialiasingOnDrag = enabled; +} + +/*! + Sets the plotting hints for this QCustomPlot instance as an \a or combination of QCP::PlottingHint. + + \see setPlottingHint +*/ +void QCustomPlot::setPlottingHints(const QCP::PlottingHints &hints) +{ + mPlottingHints = hints; +} + +/*! + Sets the specified plotting \a hint to \a enabled. + + \see setPlottingHints +*/ +void QCustomPlot::setPlottingHint(QCP::PlottingHint hint, bool enabled) +{ + QCP::PlottingHints newHints = mPlottingHints; + if (!enabled) + newHints &= ~hint; + else + newHints |= hint; + + if (newHints != mPlottingHints) + setPlottingHints(newHints); +} + +/*! + Sets the keyboard modifier that will be recognized as multi-select-modifier. + + If \ref QCP::iMultiSelect is specified in \ref setInteractions, the user may select multiple + objects (or data points) by clicking on them one after the other while holding down \a modifier. + + By default the multi-select-modifier is set to Qt::ControlModifier. + + \see setInteractions +*/ +void QCustomPlot::setMultiSelectModifier(Qt::KeyboardModifier modifier) +{ + mMultiSelectModifier = modifier; +} + +/*! + Sets how QCustomPlot processes mouse click-and-drag interactions by the user. + + If \a mode is \ref QCP::srmNone, the mouse drag is forwarded to the underlying objects. For + example, QCPAxisRect may process a mouse drag by dragging axis ranges, see \ref + QCPAxisRect::setRangeDrag. If \a mode is not \ref QCP::srmNone, the current selection rect (\ref + selectionRect) becomes activated and allows e.g. rect zooming and data point selection. + + If you wish to provide your user both with axis range dragging and data selection/range zooming, + use this method to switch between the modes just before the interaction is processed, e.g. in + reaction to the \ref mousePress or \ref mouseMove signals. For example you could check whether + the user is holding a certain keyboard modifier, and then decide which \a mode shall be set. + + If a selection rect interaction is currently active, and \a mode is set to \ref QCP::srmNone, the + interaction is canceled (\ref QCPSelectionRect::cancel). Switching between any of the other modes + will keep the selection rect active. Upon completion of the interaction, the behaviour is as + defined by the currently set \a mode, not the mode that was set when the interaction started. + + \see setInteractions, setSelectionRect, QCPSelectionRect +*/ +void QCustomPlot::setSelectionRectMode(QCP::SelectionRectMode mode) +{ + if (mSelectionRect) + { + if (mode == QCP::srmNone) + mSelectionRect->cancel(); // when switching to none, we immediately want to abort a potentially active selection rect + + // disconnect old connections: + if (mSelectionRectMode == QCP::srmSelect) + disconnect(mSelectionRect, SIGNAL(accepted(QRect,QMouseEvent*)), this, SLOT(processRectSelection(QRect,QMouseEvent*))); + else if (mSelectionRectMode == QCP::srmZoom) + disconnect(mSelectionRect, SIGNAL(accepted(QRect,QMouseEvent*)), this, SLOT(processRectZoom(QRect,QMouseEvent*))); + + // establish new ones: + if (mode == QCP::srmSelect) + connect(mSelectionRect, SIGNAL(accepted(QRect,QMouseEvent*)), this, SLOT(processRectSelection(QRect,QMouseEvent*))); + else if (mode == QCP::srmZoom) + connect(mSelectionRect, SIGNAL(accepted(QRect,QMouseEvent*)), this, SLOT(processRectZoom(QRect,QMouseEvent*))); + } + + mSelectionRectMode = mode; +} + +/*! + Sets the \ref QCPSelectionRect instance that QCustomPlot will use if \a mode is not \ref + QCP::srmNone and the user performs a click-and-drag interaction. QCustomPlot takes ownership of + the passed \a selectionRect. It can be accessed later via \ref selectionRect. + + This method is useful if you wish to replace the default QCPSelectionRect instance with an + instance of a QCPSelectionRect subclass, to introduce custom behaviour of the selection rect. + + \see setSelectionRectMode +*/ +void QCustomPlot::setSelectionRect(QCPSelectionRect *selectionRect) +{ + if (mSelectionRect) + delete mSelectionRect; + + mSelectionRect = selectionRect; + + if (mSelectionRect) + { + // establish connections with new selection rect: + if (mSelectionRectMode == QCP::srmSelect) + connect(mSelectionRect, SIGNAL(accepted(QRect,QMouseEvent*)), this, SLOT(processRectSelection(QRect,QMouseEvent*))); + else if (mSelectionRectMode == QCP::srmZoom) + connect(mSelectionRect, SIGNAL(accepted(QRect,QMouseEvent*)), this, SLOT(processRectZoom(QRect,QMouseEvent*))); + } +} + +/*! + \warning This is still an experimental feature and its performance depends on the system that it + runs on. Having multiple QCustomPlot widgets in one application with enabled OpenGL rendering + might cause context conflicts on some systems. + + This method allows to enable OpenGL plot rendering, for increased plotting performance of + graphically demanding plots (thick lines, translucent fills, etc.). + + If \a enabled is set to true, QCustomPlot will try to initialize OpenGL and, if successful, + continue plotting with hardware acceleration. The parameter \a multisampling controls how many + samples will be used per pixel, it essentially controls the antialiasing quality. If \a + multisampling is set too high for the current graphics hardware, the maximum allowed value will + be used. + + You can test whether switching to OpenGL rendering was successful by checking whether the + according getter \a QCustomPlot::openGl() returns true. If the OpenGL initialization fails, + rendering continues with the regular software rasterizer, and an according qDebug output is + generated. + + If switching to OpenGL was successful, this method disables label caching (\ref setPlottingHint + "setPlottingHint(QCP::phCacheLabels, false)") and turns on QCustomPlot's antialiasing override + for all elements (\ref setAntialiasedElements "setAntialiasedElements(QCP::aeAll)"), leading to a + higher quality output. The antialiasing override allows for pixel-grid aligned drawing in the + OpenGL paint device. As stated before, in OpenGL rendering the actual antialiasing of the plot is + controlled with \a multisampling. If \a enabled is set to false, the antialiasing/label caching + settings are restored to what they were before OpenGL was enabled, if they weren't altered in the + meantime. + + \note OpenGL support is only enabled if QCustomPlot is compiled with the macro \c QCUSTOMPLOT_USE_OPENGL + defined. This define must be set before including the QCustomPlot header both during compilation + of the QCustomPlot library as well as when compiling your application. It is best to just include + the line <tt>DEFINES += QCUSTOMPLOT_USE_OPENGL</tt> in the respective qmake project files. + \note If you are using a Qt version before 5.0, you must also add the module "opengl" to your \c + QT variable in the qmake project files. For Qt versions 5.0 and higher, QCustomPlot switches to a + newer OpenGL interface which is already in the "gui" module. +*/ +void QCustomPlot::setOpenGl(bool enabled, int multisampling) +{ + mOpenGlMultisamples = qMax(0, multisampling); +#ifdef QCUSTOMPLOT_USE_OPENGL + mOpenGl = enabled; + if (mOpenGl) + { + if (setupOpenGl()) + { + // backup antialiasing override and labelcaching setting so we can restore upon disabling OpenGL + mOpenGlAntialiasedElementsBackup = mAntialiasedElements; + mOpenGlCacheLabelsBackup = mPlottingHints.testFlag(QCP::phCacheLabels); + // set antialiasing override to antialias all (aligns gl pixel grid properly), and disable label caching (would use software rasterizer for pixmap caches): + setAntialiasedElements(QCP::aeAll); + setPlottingHint(QCP::phCacheLabels, false); + } else + { + qDebug() << Q_FUNC_INFO << "Failed to enable OpenGL, continuing plotting without hardware acceleration."; + mOpenGl = false; + } + } else + { + // restore antialiasing override and labelcaching to what it was before enabling OpenGL, if nobody changed it in the meantime: + if (mAntialiasedElements == QCP::aeAll) + setAntialiasedElements(mOpenGlAntialiasedElementsBackup); + if (!mPlottingHints.testFlag(QCP::phCacheLabels)) + setPlottingHint(QCP::phCacheLabels, mOpenGlCacheLabelsBackup); + freeOpenGl(); + } + // recreate all paint buffers: + mPaintBuffers.clear(); + setupPaintBuffers(); +#else + Q_UNUSED(enabled) + qDebug() << Q_FUNC_INFO << "QCustomPlot can't use OpenGL because QCUSTOMPLOT_USE_OPENGL was not defined during compilation (add 'DEFINES += QCUSTOMPLOT_USE_OPENGL' to your qmake .pro file)"; +#endif +} + +/*! + Sets the viewport of this QCustomPlot. Usually users of QCustomPlot don't need to change the + viewport manually. + + The viewport is the area in which the plot is drawn. All mechanisms, e.g. margin caluclation take + the viewport to be the outer border of the plot. The viewport normally is the rect() of the + QCustomPlot widget, i.e. a rect with top left (0, 0) and size of the QCustomPlot widget. + + Don't confuse the viewport with the axis rect (QCustomPlot::axisRect). An axis rect is typically + an area enclosed by four axes, where the graphs/plottables are drawn in. The viewport is larger + and contains also the axes themselves, their tick numbers, their labels, or even additional axis + rects, color scales and other layout elements. + + This function is used to allow arbitrary size exports with \ref toPixmap, \ref savePng, \ref + savePdf, etc. by temporarily changing the viewport size. +*/ +void QCustomPlot::setViewport(const QRect &rect) +{ + mViewport = rect; + if (mPlotLayout) + mPlotLayout->setOuterRect(mViewport); +} + +/*! + Sets the device pixel ratio used by the paint buffers of this QCustomPlot instance. + + Normally, this doesn't need to be set manually, because it is initialized with the regular \a + QWidget::devicePixelRatio which is configured by Qt to fit the display device (e.g. 1 for normal + displays, 2 for High-DPI displays). + + Device pixel ratios are supported by Qt only for Qt versions since 5.4. If this method is called + when QCustomPlot is being used with older Qt versions, outputs an according qDebug message and + leaves the internal buffer device pixel ratio at 1.0. +*/ +void QCustomPlot::setBufferDevicePixelRatio(double ratio) +{ + if (!qFuzzyCompare(ratio, mBufferDevicePixelRatio)) + { +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + mBufferDevicePixelRatio = ratio; + for (int i=0; i<mPaintBuffers.size(); ++i) + mPaintBuffers.at(i)->setDevicePixelRatio(mBufferDevicePixelRatio); + // Note: axis label cache has devicePixelRatio as part of cache hash, so no need to manually clear cache here +#else + qDebug() << Q_FUNC_INFO << "Device pixel ratios not supported for Qt versions before 5.4"; + mBufferDevicePixelRatio = 1.0; +#endif + } +} + +/*! + Sets \a pm as the viewport background pixmap (see \ref setViewport). The pixmap is always drawn + below all other objects in the plot. + + For cases where the provided pixmap doesn't have the same size as the viewport, scaling can be + enabled with \ref setBackgroundScaled and the scaling mode (whether and how the aspect ratio is + preserved) can be set with \ref setBackgroundScaledMode. To set all these options in one call, + consider using the overloaded version of this function. + + If a background brush was set with \ref setBackground(const QBrush &brush), the viewport will + first be filled with that brush, before drawing the background pixmap. This can be useful for + background pixmaps with translucent areas. + + \see setBackgroundScaled, setBackgroundScaledMode +*/ +void QCustomPlot::setBackground(const QPixmap &pm) +{ + mBackgroundPixmap = pm; + mScaledBackgroundPixmap = QPixmap(); +} + +/*! + Sets the background brush of the viewport (see \ref setViewport). + + Before drawing everything else, the background is filled with \a brush. If a background pixmap + was set with \ref setBackground(const QPixmap &pm), this brush will be used to fill the viewport + before the background pixmap is drawn. This can be useful for background pixmaps with translucent + areas. + + Set \a brush to Qt::NoBrush or Qt::Transparent to leave background transparent. This can be + useful for exporting to image formats which support transparency, e.g. \ref savePng. + + \see setBackgroundScaled, setBackgroundScaledMode +*/ +void QCustomPlot::setBackground(const QBrush &brush) +{ + mBackgroundBrush = brush; +} + +/*! \overload + + Allows setting the background pixmap of the viewport, whether it shall be scaled and how it + shall be scaled in one call. + + \see setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode +*/ +void QCustomPlot::setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode) +{ + mBackgroundPixmap = pm; + mScaledBackgroundPixmap = QPixmap(); + mBackgroundScaled = scaled; + mBackgroundScaledMode = mode; +} + +/*! + Sets whether the viewport background pixmap shall be scaled to fit the viewport. If \a scaled is + set to true, control whether and how the aspect ratio of the original pixmap is preserved with + \ref setBackgroundScaledMode. + + Note that the scaled version of the original pixmap is buffered, so there is no performance + penalty on replots. (Except when the viewport dimensions are changed continuously.) + + \see setBackground, setBackgroundScaledMode +*/ +void QCustomPlot::setBackgroundScaled(bool scaled) +{ + mBackgroundScaled = scaled; +} + +/*! + If scaling of the viewport background pixmap is enabled (\ref setBackgroundScaled), use this + function to define whether and how the aspect ratio of the original pixmap is preserved. + + \see setBackground, setBackgroundScaled +*/ +void QCustomPlot::setBackgroundScaledMode(Qt::AspectRatioMode mode) +{ + mBackgroundScaledMode = mode; +} + +/*! + Returns the plottable with \a index. If the index is invalid, returns 0. + + There is an overloaded version of this function with no parameter which returns the last added + plottable, see QCustomPlot::plottable() + + \see plottableCount +*/ +QCPAbstractPlottable *QCustomPlot::plottable(int index) +{ + if (index >= 0 && index < mPlottables.size()) + { + return mPlottables.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return 0; + } +} + +/*! \overload + + Returns the last plottable that was added to the plot. If there are no plottables in the plot, + returns 0. + + \see plottableCount +*/ +QCPAbstractPlottable *QCustomPlot::plottable() +{ + if (!mPlottables.isEmpty()) + { + return mPlottables.last(); + } else + return 0; +} + +/*! + Removes the specified plottable from the plot and deletes it. If necessary, the corresponding + legend item is also removed from the default legend (QCustomPlot::legend). + + Returns true on success. + + \see clearPlottables +*/ +bool QCustomPlot::removePlottable(QCPAbstractPlottable *plottable) +{ + if (!mPlottables.contains(plottable)) + { + qDebug() << Q_FUNC_INFO << "plottable not in list:" << reinterpret_cast<quintptr>(plottable); + return false; + } + + // remove plottable from legend: + plottable->removeFromLegend(); + // special handling for QCPGraphs to maintain the simple graph interface: + if (QCPGraph *graph = qobject_cast<QCPGraph*>(plottable)) + mGraphs.removeOne(graph); + // remove plottable: + delete plottable; + mPlottables.removeOne(plottable); + return true; +} + +/*! \overload + + Removes and deletes the plottable by its \a index. +*/ +bool QCustomPlot::removePlottable(int index) +{ + if (index >= 0 && index < mPlottables.size()) + return removePlottable(mPlottables[index]); + else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return false; + } +} + +/*! + Removes all plottables from the plot and deletes them. Corresponding legend items are also + removed from the default legend (QCustomPlot::legend). + + Returns the number of plottables removed. + + \see removePlottable +*/ +int QCustomPlot::clearPlottables() +{ + int c = mPlottables.size(); + for (int i=c-1; i >= 0; --i) + removePlottable(mPlottables[i]); + return c; +} + +/*! + Returns the number of currently existing plottables in the plot + + \see plottable +*/ +int QCustomPlot::plottableCount() const +{ + return mPlottables.size(); +} + +/*! + Returns a list of the selected plottables. If no plottables are currently selected, the list is empty. + + There is a convenience function if you're only interested in selected graphs, see \ref selectedGraphs. + + \see setInteractions, QCPAbstractPlottable::setSelectable, QCPAbstractPlottable::setSelection +*/ +QList<QCPAbstractPlottable*> QCustomPlot::selectedPlottables() const +{ + QList<QCPAbstractPlottable*> result; + foreach (QCPAbstractPlottable *plottable, mPlottables) + { + if (plottable->selected()) + result.append(plottable); + } + return result; +} + +/*! + Returns the plottable at the pixel position \a pos. Plottables that only consist of single lines + (like graphs) have a tolerance band around them, see \ref setSelectionTolerance. If multiple + plottables come into consideration, the one closest to \a pos is returned. + + If \a onlySelectable is true, only plottables that are selectable + (QCPAbstractPlottable::setSelectable) are considered. + + If there is no plottable at \a pos, the return value is 0. + + \see itemAt, layoutElementAt +*/ +QCPAbstractPlottable *QCustomPlot::plottableAt(const QPointF &pos, bool onlySelectable) const +{ + QCPAbstractPlottable *resultPlottable = 0; + double resultDistance = mSelectionTolerance; // only regard clicks with distances smaller than mSelectionTolerance as selections, so initialize with that value + + foreach (QCPAbstractPlottable *plottable, mPlottables) + { + if (onlySelectable && !plottable->selectable()) // we could have also passed onlySelectable to the selectTest function, but checking here is faster, because we have access to QCPabstractPlottable::selectable + continue; + if ((plottable->keyAxis()->axisRect()->rect() & plottable->valueAxis()->axisRect()->rect()).contains(pos.toPoint())) // only consider clicks inside the rect that is spanned by the plottable's key/value axes + { + double currentDistance = plottable->selectTest(pos, false); + if (currentDistance >= 0 && currentDistance < resultDistance) + { + resultPlottable = plottable; + resultDistance = currentDistance; + } + } + } + + return resultPlottable; +} + +/*! + Returns whether this QCustomPlot instance contains the \a plottable. +*/ +bool QCustomPlot::hasPlottable(QCPAbstractPlottable *plottable) const +{ + return mPlottables.contains(plottable); +} + +/*! + Returns the graph with \a index. If the index is invalid, returns 0. + + There is an overloaded version of this function with no parameter which returns the last created + graph, see QCustomPlot::graph() + + \see graphCount, addGraph +*/ +QCPGraph *QCustomPlot::graph(int index) const +{ + if (index >= 0 && index < mGraphs.size()) + { + return mGraphs.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return 0; + } +} + +/*! \overload + + Returns the last graph, that was created with \ref addGraph. If there are no graphs in the plot, + returns 0. + + \see graphCount, addGraph +*/ +QCPGraph *QCustomPlot::graph() const +{ + if (!mGraphs.isEmpty()) + { + return mGraphs.last(); + } else + return 0; +} + +/*! + Creates a new graph inside the plot. If \a keyAxis and \a valueAxis are left unspecified (0), the + bottom (xAxis) is used as key and the left (yAxis) is used as value axis. If specified, \a + keyAxis and \a valueAxis must reside in this QCustomPlot. + + \a keyAxis will be used as key axis (typically "x") and \a valueAxis as value axis (typically + "y") for the graph. + + Returns a pointer to the newly created graph, or 0 if adding the graph failed. + + \see graph, graphCount, removeGraph, clearGraphs +*/ +QCPGraph *QCustomPlot::addGraph(QCPAxis *keyAxis, QCPAxis *valueAxis) +{ + if (!keyAxis) keyAxis = xAxis; + if (!valueAxis) valueAxis = yAxis; + if (!keyAxis || !valueAxis) + { + qDebug() << Q_FUNC_INFO << "can't use default QCustomPlot xAxis or yAxis, because at least one is invalid (has been deleted)"; + return 0; + } + if (keyAxis->parentPlot() != this || valueAxis->parentPlot() != this) + { + qDebug() << Q_FUNC_INFO << "passed keyAxis or valueAxis doesn't have this QCustomPlot as parent"; + return 0; + } + + QCPGraph *newGraph = new QCPGraph(keyAxis, valueAxis); + newGraph->setName(QLatin1String("Graph ")+QString::number(mGraphs.size())); + return newGraph; +} + +/*! + Removes the specified \a graph from the plot and deletes it. If necessary, the corresponding + legend item is also removed from the default legend (QCustomPlot::legend). If any other graphs in + the plot have a channel fill set towards the removed graph, the channel fill property of those + graphs is reset to zero (no channel fill). + + Returns true on success. + + \see clearGraphs +*/ +bool QCustomPlot::removeGraph(QCPGraph *graph) +{ + return removePlottable(graph); +} + +/*! \overload + + Removes and deletes the graph by its \a index. +*/ +bool QCustomPlot::removeGraph(int index) +{ + if (index >= 0 && index < mGraphs.size()) + return removeGraph(mGraphs[index]); + else + return false; +} + +/*! + Removes all graphs from the plot and deletes them. Corresponding legend items are also removed + from the default legend (QCustomPlot::legend). + + Returns the number of graphs removed. + + \see removeGraph +*/ +int QCustomPlot::clearGraphs() +{ + int c = mGraphs.size(); + for (int i=c-1; i >= 0; --i) + removeGraph(mGraphs[i]); + return c; +} + +/*! + Returns the number of currently existing graphs in the plot + + \see graph, addGraph +*/ +int QCustomPlot::graphCount() const +{ + return mGraphs.size(); +} + +/*! + Returns a list of the selected graphs. If no graphs are currently selected, the list is empty. + + If you are not only interested in selected graphs but other plottables like QCPCurve, QCPBars, + etc., use \ref selectedPlottables. + + \see setInteractions, selectedPlottables, QCPAbstractPlottable::setSelectable, QCPAbstractPlottable::setSelection +*/ +QList<QCPGraph*> QCustomPlot::selectedGraphs() const +{ + QList<QCPGraph*> result; + foreach (QCPGraph *graph, mGraphs) + { + if (graph->selected()) + result.append(graph); + } + return result; +} + +/*! + Returns the item with \a index. If the index is invalid, returns 0. + + There is an overloaded version of this function with no parameter which returns the last added + item, see QCustomPlot::item() + + \see itemCount +*/ +QCPAbstractItem *QCustomPlot::item(int index) const +{ + if (index >= 0 && index < mItems.size()) + { + return mItems.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return 0; + } +} + +/*! \overload + + Returns the last item that was added to this plot. If there are no items in the plot, + returns 0. + + \see itemCount +*/ +QCPAbstractItem *QCustomPlot::item() const +{ + if (!mItems.isEmpty()) + { + return mItems.last(); + } else + return 0; +} + +/*! + Removes the specified item from the plot and deletes it. + + Returns true on success. + + \see clearItems +*/ +bool QCustomPlot::removeItem(QCPAbstractItem *item) +{ + if (mItems.contains(item)) + { + delete item; + mItems.removeOne(item); + return true; + } else + { + qDebug() << Q_FUNC_INFO << "item not in list:" << reinterpret_cast<quintptr>(item); + return false; + } +} + +/*! \overload + + Removes and deletes the item by its \a index. +*/ +bool QCustomPlot::removeItem(int index) +{ + if (index >= 0 && index < mItems.size()) + return removeItem(mItems[index]); + else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return false; + } +} + +/*! + Removes all items from the plot and deletes them. + + Returns the number of items removed. + + \see removeItem +*/ +int QCustomPlot::clearItems() +{ + int c = mItems.size(); + for (int i=c-1; i >= 0; --i) + removeItem(mItems[i]); + return c; +} + +/*! + Returns the number of currently existing items in the plot + + \see item +*/ +int QCustomPlot::itemCount() const +{ + return mItems.size(); +} + +/*! + Returns a list of the selected items. If no items are currently selected, the list is empty. + + \see setInteractions, QCPAbstractItem::setSelectable, QCPAbstractItem::setSelected +*/ +QList<QCPAbstractItem*> QCustomPlot::selectedItems() const +{ + QList<QCPAbstractItem*> result; + foreach (QCPAbstractItem *item, mItems) + { + if (item->selected()) + result.append(item); + } + return result; +} + +/*! + Returns the item at the pixel position \a pos. Items that only consist of single lines (e.g. \ref + QCPItemLine or \ref QCPItemCurve) have a tolerance band around them, see \ref + setSelectionTolerance. If multiple items come into consideration, the one closest to \a pos is + returned. + + If \a onlySelectable is true, only items that are selectable (QCPAbstractItem::setSelectable) are + considered. + + If there is no item at \a pos, the return value is 0. + + \see plottableAt, layoutElementAt +*/ +QCPAbstractItem *QCustomPlot::itemAt(const QPointF &pos, bool onlySelectable) const +{ + QCPAbstractItem *resultItem = 0; + double resultDistance = mSelectionTolerance; // only regard clicks with distances smaller than mSelectionTolerance as selections, so initialize with that value + + foreach (QCPAbstractItem *item, mItems) + { + if (onlySelectable && !item->selectable()) // we could have also passed onlySelectable to the selectTest function, but checking here is faster, because we have access to QCPAbstractItem::selectable + continue; + if (!item->clipToAxisRect() || item->clipRect().contains(pos.toPoint())) // only consider clicks inside axis cliprect of the item if actually clipped to it + { + double currentDistance = item->selectTest(pos, false); + if (currentDistance >= 0 && currentDistance < resultDistance) + { + resultItem = item; + resultDistance = currentDistance; + } + } + } + + return resultItem; +} + +/*! + Returns whether this QCustomPlot contains the \a item. + + \see item +*/ +bool QCustomPlot::hasItem(QCPAbstractItem *item) const +{ + return mItems.contains(item); +} + +/*! + Returns the layer with the specified \a name. If there is no layer with the specified name, 0 is + returned. + + Layer names are case-sensitive. + + \see addLayer, moveLayer, removeLayer +*/ +QCPLayer *QCustomPlot::layer(const QString &name) const +{ + foreach (QCPLayer *layer, mLayers) + { + if (layer->name() == name) + return layer; + } + return 0; +} + +/*! \overload + + Returns the layer by \a index. If the index is invalid, 0 is returned. + + \see addLayer, moveLayer, removeLayer +*/ +QCPLayer *QCustomPlot::layer(int index) const +{ + if (index >= 0 && index < mLayers.size()) + { + return mLayers.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return 0; + } +} + +/*! + Returns the layer that is set as current layer (see \ref setCurrentLayer). +*/ +QCPLayer *QCustomPlot::currentLayer() const +{ + return mCurrentLayer; +} + +/*! + Sets the layer with the specified \a name to be the current layer. All layerables (\ref + QCPLayerable), e.g. plottables and items, are created on the current layer. + + Returns true on success, i.e. if there is a layer with the specified \a name in the QCustomPlot. + + Layer names are case-sensitive. + + \see addLayer, moveLayer, removeLayer, QCPLayerable::setLayer +*/ +bool QCustomPlot::setCurrentLayer(const QString &name) +{ + if (QCPLayer *newCurrentLayer = layer(name)) + { + return setCurrentLayer(newCurrentLayer); + } else + { + qDebug() << Q_FUNC_INFO << "layer with name doesn't exist:" << name; + return false; + } +} + +/*! \overload + + Sets the provided \a layer to be the current layer. + + Returns true on success, i.e. when \a layer is a valid layer in the QCustomPlot. + + \see addLayer, moveLayer, removeLayer +*/ +bool QCustomPlot::setCurrentLayer(QCPLayer *layer) +{ + if (!mLayers.contains(layer)) + { + qDebug() << Q_FUNC_INFO << "layer not a layer of this QCustomPlot:" << reinterpret_cast<quintptr>(layer); + return false; + } + + mCurrentLayer = layer; + return true; +} + +/*! + Returns the number of currently existing layers in the plot + + \see layer, addLayer +*/ +int QCustomPlot::layerCount() const +{ + return mLayers.size(); +} + +/*! + Adds a new layer to this QCustomPlot instance. The new layer will have the name \a name, which + must be unique. Depending on \a insertMode, it is positioned either below or above \a otherLayer. + + Returns true on success, i.e. if there is no other layer named \a name and \a otherLayer is a + valid layer inside this QCustomPlot. + + If \a otherLayer is 0, the highest layer in the QCustomPlot will be used. + + For an explanation of what layers are in QCustomPlot, see the documentation of \ref QCPLayer. + + \see layer, moveLayer, removeLayer +*/ +bool QCustomPlot::addLayer(const QString &name, QCPLayer *otherLayer, QCustomPlot::LayerInsertMode insertMode) +{ + if (!otherLayer) + otherLayer = mLayers.last(); + if (!mLayers.contains(otherLayer)) + { + qDebug() << Q_FUNC_INFO << "otherLayer not a layer of this QCustomPlot:" << reinterpret_cast<quintptr>(otherLayer); + return false; + } + if (layer(name)) + { + qDebug() << Q_FUNC_INFO << "A layer exists already with the name" << name; + return false; + } + + QCPLayer *newLayer = new QCPLayer(this, name); + mLayers.insert(otherLayer->index() + (insertMode==limAbove ? 1:0), newLayer); + updateLayerIndices(); + setupPaintBuffers(); // associates new layer with the appropriate paint buffer + return true; +} + +/*! + Removes the specified \a layer and returns true on success. + + All layerables (e.g. plottables and items) on the removed layer will be moved to the layer below + \a layer. If \a layer is the bottom layer, the layerables are moved to the layer above. In both + cases, the total rendering order of all layerables in the QCustomPlot is preserved. + + If \a layer is the current layer (\ref setCurrentLayer), the layer below (or above, if bottom + layer) becomes the new current layer. + + It is not possible to remove the last layer of the plot. + + \see layer, addLayer, moveLayer +*/ +bool QCustomPlot::removeLayer(QCPLayer *layer) +{ + if (!mLayers.contains(layer)) + { + qDebug() << Q_FUNC_INFO << "layer not a layer of this QCustomPlot:" << reinterpret_cast<quintptr>(layer); + return false; + } + if (mLayers.size() < 2) + { + qDebug() << Q_FUNC_INFO << "can't remove last layer"; + return false; + } + + // append all children of this layer to layer below (if this is lowest layer, prepend to layer above) + int removedIndex = layer->index(); + bool isFirstLayer = removedIndex==0; + QCPLayer *targetLayer = isFirstLayer ? mLayers.at(removedIndex+1) : mLayers.at(removedIndex-1); + QList<QCPLayerable*> children = layer->children(); + if (isFirstLayer) // prepend in reverse order (so order relative to each other stays the same) + { + for (int i=children.size()-1; i>=0; --i) + children.at(i)->moveToLayer(targetLayer, true); + } else // append normally + { + for (int i=0; i<children.size(); ++i) + children.at(i)->moveToLayer(targetLayer, false); + } + // if removed layer is current layer, change current layer to layer below/above: + if (layer == mCurrentLayer) + setCurrentLayer(targetLayer); + // invalidate the paint buffer that was responsible for this layer: + if (!layer->mPaintBuffer.isNull()) + layer->mPaintBuffer.data()->setInvalidated(); + // remove layer: + delete layer; + mLayers.removeOne(layer); + updateLayerIndices(); + return true; +} + +/*! + Moves the specified \a layer either above or below \a otherLayer. Whether it's placed above or + below is controlled with \a insertMode. + + Returns true on success, i.e. when both \a layer and \a otherLayer are valid layers in the + QCustomPlot. + + \see layer, addLayer, moveLayer +*/ +bool QCustomPlot::moveLayer(QCPLayer *layer, QCPLayer *otherLayer, QCustomPlot::LayerInsertMode insertMode) +{ + if (!mLayers.contains(layer)) + { + qDebug() << Q_FUNC_INFO << "layer not a layer of this QCustomPlot:" << reinterpret_cast<quintptr>(layer); + return false; + } + if (!mLayers.contains(otherLayer)) + { + qDebug() << Q_FUNC_INFO << "otherLayer not a layer of this QCustomPlot:" << reinterpret_cast<quintptr>(otherLayer); + return false; + } + + if (layer->index() > otherLayer->index()) + mLayers.move(layer->index(), otherLayer->index() + (insertMode==limAbove ? 1:0)); + else if (layer->index() < otherLayer->index()) + mLayers.move(layer->index(), otherLayer->index() + (insertMode==limAbove ? 0:-1)); + + // invalidate the paint buffers that are responsible for the layers: + if (!layer->mPaintBuffer.isNull()) + layer->mPaintBuffer.data()->setInvalidated(); + if (!otherLayer->mPaintBuffer.isNull()) + otherLayer->mPaintBuffer.data()->setInvalidated(); + + updateLayerIndices(); + return true; +} + +/*! + Returns the number of axis rects in the plot. + + All axis rects can be accessed via QCustomPlot::axisRect(). + + Initially, only one axis rect exists in the plot. + + \see axisRect, axisRects +*/ +int QCustomPlot::axisRectCount() const +{ + return axisRects().size(); +} + +/*! + Returns the axis rect with \a index. + + Initially, only one axis rect (with index 0) exists in the plot. If multiple axis rects were + added, all of them may be accessed with this function in a linear fashion (even when they are + nested in a layout hierarchy or inside other axis rects via QCPAxisRect::insetLayout). + + \see axisRectCount, axisRects +*/ +QCPAxisRect *QCustomPlot::axisRect(int index) const +{ + const QList<QCPAxisRect*> rectList = axisRects(); + if (index >= 0 && index < rectList.size()) + { + return rectList.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "invalid axis rect index" << index; + return 0; + } +} + +/*! + Returns all axis rects in the plot. + + \see axisRectCount, axisRect +*/ +QList<QCPAxisRect*> QCustomPlot::axisRects() const +{ + QList<QCPAxisRect*> result; + QStack<QCPLayoutElement*> elementStack; + if (mPlotLayout) + elementStack.push(mPlotLayout); + + while (!elementStack.isEmpty()) + { + foreach (QCPLayoutElement *element, elementStack.pop()->elements(false)) + { + if (element) + { + elementStack.push(element); + if (QCPAxisRect *ar = qobject_cast<QCPAxisRect*>(element)) + result.append(ar); + } + } + } + + return result; +} + +/*! + Returns the layout element at pixel position \a pos. If there is no element at that position, + returns 0. + + Only visible elements are used. If \ref QCPLayoutElement::setVisible on the element itself or on + any of its parent elements is set to false, it will not be considered. + + \see itemAt, plottableAt +*/ +QCPLayoutElement *QCustomPlot::layoutElementAt(const QPointF &pos) const +{ + QCPLayoutElement *currentElement = mPlotLayout; + bool searchSubElements = true; + while (searchSubElements && currentElement) + { + searchSubElements = false; + foreach (QCPLayoutElement *subElement, currentElement->elements(false)) + { + if (subElement && subElement->realVisibility() && subElement->selectTest(pos, false) >= 0) + { + currentElement = subElement; + searchSubElements = true; + break; + } + } + } + return currentElement; +} + +/*! + Returns the layout element of type \ref QCPAxisRect at pixel position \a pos. This method ignores + other layout elements even if they are visually in front of the axis rect (e.g. a \ref + QCPLegend). If there is no axis rect at that position, returns 0. + + Only visible axis rects are used. If \ref QCPLayoutElement::setVisible on the axis rect itself or + on any of its parent elements is set to false, it will not be considered. + + \see layoutElementAt +*/ +QCPAxisRect *QCustomPlot::axisRectAt(const QPointF &pos) const +{ + QCPAxisRect *result = 0; + QCPLayoutElement *currentElement = mPlotLayout; + bool searchSubElements = true; + while (searchSubElements && currentElement) + { + searchSubElements = false; + foreach (QCPLayoutElement *subElement, currentElement->elements(false)) + { + if (subElement && subElement->realVisibility() && subElement->selectTest(pos, false) >= 0) + { + currentElement = subElement; + searchSubElements = true; + if (QCPAxisRect *ar = qobject_cast<QCPAxisRect*>(currentElement)) + result = ar; + break; + } + } + } + return result; +} + +/*! + Returns the axes that currently have selected parts, i.e. whose selection state is not \ref + QCPAxis::spNone. + + \see selectedPlottables, selectedLegends, setInteractions, QCPAxis::setSelectedParts, + QCPAxis::setSelectableParts +*/ +QList<QCPAxis*> QCustomPlot::selectedAxes() const +{ + QList<QCPAxis*> result, allAxes; + foreach (QCPAxisRect *rect, axisRects()) + allAxes << rect->axes(); + + foreach (QCPAxis *axis, allAxes) + { + if (axis->selectedParts() != QCPAxis::spNone) + result.append(axis); + } + + return result; +} + +/*! + Returns the legends that currently have selected parts, i.e. whose selection state is not \ref + QCPLegend::spNone. + + \see selectedPlottables, selectedAxes, setInteractions, QCPLegend::setSelectedParts, + QCPLegend::setSelectableParts, QCPLegend::selectedItems +*/ +QList<QCPLegend*> QCustomPlot::selectedLegends() const +{ + QList<QCPLegend*> result; + + QStack<QCPLayoutElement*> elementStack; + if (mPlotLayout) + elementStack.push(mPlotLayout); + + while (!elementStack.isEmpty()) + { + foreach (QCPLayoutElement *subElement, elementStack.pop()->elements(false)) + { + if (subElement) + { + elementStack.push(subElement); + if (QCPLegend *leg = qobject_cast<QCPLegend*>(subElement)) + { + if (leg->selectedParts() != QCPLegend::spNone) + result.append(leg); + } + } + } + } + + return result; +} + +/*! + Deselects all layerables (plottables, items, axes, legends,...) of the QCustomPlot. + + Since calling this function is not a user interaction, this does not emit the \ref + selectionChangedByUser signal. The individual selectionChanged signals are emitted though, if the + objects were previously selected. + + \see setInteractions, selectedPlottables, selectedItems, selectedAxes, selectedLegends +*/ +void QCustomPlot::deselectAll() +{ + foreach (QCPLayer *layer, mLayers) + { + foreach (QCPLayerable *layerable, layer->children()) + layerable->deselectEvent(0); + } +} + +/*! + Causes a complete replot into the internal paint buffer(s). Finally, the widget surface is + refreshed with the new buffer contents. This is the method that must be called to make changes to + the plot, e.g. on the axis ranges or data points of graphs, visible. + + The parameter \a refreshPriority can be used to fine-tune the timing of the replot. For example + if your application calls \ref replot very quickly in succession (e.g. multiple independent + functions change some aspects of the plot and each wants to make sure the change gets replotted), + it is advisable to set \a refreshPriority to \ref QCustomPlot::rpQueuedReplot. This way, the + actual replotting is deferred to the next event loop iteration. Multiple successive calls of \ref + replot with this priority will only cause a single replot, avoiding redundant replots and + improving performance. + + Under a few circumstances, QCustomPlot causes a replot by itself. Those are resize events of the + QCustomPlot widget and user interactions (object selection and range dragging/zooming). + + Before the replot happens, the signal \ref beforeReplot is emitted. After the replot, \ref + afterReplot is emitted. It is safe to mutually connect the replot slot with any of those two + signals on two QCustomPlots to make them replot synchronously, it won't cause an infinite + recursion. + + If a layer is in mode \ref QCPLayer::lmBuffered (\ref QCPLayer::setMode), it is also possible to + replot only that specific layer via \ref QCPLayer::replot. See the documentation there for + details. +*/ +void QCustomPlot::replot(QCustomPlot::RefreshPriority refreshPriority) +{ + if (refreshPriority == QCustomPlot::rpQueuedReplot) + { + if (!mReplotQueued) + { + mReplotQueued = true; + QTimer::singleShot(0, this, SLOT(replot())); + } + return; + } + + if (mReplotting) // incase signals loop back to replot slot + return; + mReplotting = true; + mReplotQueued = false; + emit beforeReplot(); + + updateLayout(); + // draw all layered objects (grid, axes, plottables, items, legend,...) into their buffers: + setupPaintBuffers(); + foreach (QCPLayer *layer, mLayers) + layer->drawToPaintBuffer(); + for (int i=0; i<mPaintBuffers.size(); ++i) + mPaintBuffers.at(i)->setInvalidated(false); + + if ((refreshPriority == rpRefreshHint && mPlottingHints.testFlag(QCP::phImmediateRefresh)) || refreshPriority==rpImmediateRefresh) + repaint(); + else + update(); + + emit afterReplot(); + mReplotting = false; +} + +/*! + Rescales the axes such that all plottables (like graphs) in the plot are fully visible. + + if \a onlyVisiblePlottables is set to true, only the plottables that have their visibility set to true + (QCPLayerable::setVisible), will be used to rescale the axes. + + \see QCPAbstractPlottable::rescaleAxes, QCPAxis::rescale +*/ +void QCustomPlot::rescaleAxes(bool onlyVisiblePlottables) +{ + QList<QCPAxis*> allAxes; + foreach (QCPAxisRect *rect, axisRects()) + allAxes << rect->axes(); + + foreach (QCPAxis *axis, allAxes) + axis->rescale(onlyVisiblePlottables); +} + +/*! + Saves a PDF with the vectorized plot to the file \a fileName. The axis ratio as well as the scale + of texts and lines will be derived from the specified \a width and \a height. This means, the + output will look like the normal on-screen output of a QCustomPlot widget with the corresponding + pixel width and height. If either \a width or \a height is zero, the exported image will have the + same dimensions as the QCustomPlot widget currently has. + + Setting \a exportPen to \ref QCP::epNoCosmetic allows to disable the use of cosmetic pens when + drawing to the PDF file. Cosmetic pens are pens with numerical width 0, which are always drawn as + a one pixel wide line, no matter what zoom factor is set in the PDF-Viewer. For more information + about cosmetic pens, see the QPainter and QPen documentation. + + The objects of the plot will appear in the current selection state. If you don't want any + selected objects to be painted in their selected look, deselect everything with \ref deselectAll + before calling this function. + + Returns true on success. + + \warning + \li If you plan on editing the exported PDF file with a vector graphics editor like Inkscape, it + is advised to set \a exportPen to \ref QCP::epNoCosmetic to avoid losing those cosmetic lines + (which might be quite many, because cosmetic pens are the default for e.g. axes and tick marks). + \li If calling this function inside the constructor of the parent of the QCustomPlot widget + (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide + explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this + function uses the current width and height of the QCustomPlot widget. However, in Qt, these + aren't defined yet inside the constructor, so you would get an image that has strange + widths/heights. + + \a pdfCreator and \a pdfTitle may be used to set the according metadata fields in the resulting + PDF file. + + \note On Android systems, this method does nothing and issues an according qDebug warning + message. This is also the case if for other reasons the define flag \c QT_NO_PRINTER is set. + + \see savePng, saveBmp, saveJpg, saveRastered +*/ +bool QCustomPlot::savePdf(const QString &fileName, int width, int height, QCP::ExportPen exportPen, const QString &pdfCreator, const QString &pdfTitle) +{ + bool success = false; +#ifdef QT_NO_PRINTER + Q_UNUSED(fileName) + Q_UNUSED(exportPen) + Q_UNUSED(width) + Q_UNUSED(height) + Q_UNUSED(pdfCreator) + Q_UNUSED(pdfTitle) + qDebug() << Q_FUNC_INFO << "Qt was built without printer support (QT_NO_PRINTER). PDF not created."; +#else + int newWidth, newHeight; + if (width == 0 || height == 0) + { + newWidth = this->width(); + newHeight = this->height(); + } else + { + newWidth = width; + newHeight = height; + } + + QPrinter printer(QPrinter::ScreenResolution); + printer.setOutputFileName(fileName); + printer.setOutputFormat(QPrinter::PdfFormat); + printer.setColorMode(QPrinter::Color); + printer.printEngine()->setProperty(QPrintEngine::PPK_Creator, pdfCreator); + printer.printEngine()->setProperty(QPrintEngine::PPK_DocumentName, pdfTitle); + QRect oldViewport = viewport(); + setViewport(QRect(0, 0, newWidth, newHeight)); +#if QT_VERSION < QT_VERSION_CHECK(5, 3, 0) + printer.setFullPage(true); + printer.setPaperSize(viewport().size(), QPrinter::DevicePixel); +#else + QPageLayout pageLayout; + pageLayout.setMode(QPageLayout::FullPageMode); + pageLayout.setOrientation(QPageLayout::Portrait); + pageLayout.setMargins(QMarginsF(0, 0, 0, 0)); + pageLayout.setPageSize(QPageSize(viewport().size(), QPageSize::Point, QString(), QPageSize::ExactMatch)); + printer.setPageLayout(pageLayout); +#endif + QCPPainter printpainter; + if (printpainter.begin(&printer)) + { + printpainter.setMode(QCPPainter::pmVectorized); + printpainter.setMode(QCPPainter::pmNoCaching); + printpainter.setMode(QCPPainter::pmNonCosmetic, exportPen==QCP::epNoCosmetic); + printpainter.setWindow(mViewport); + if (mBackgroundBrush.style() != Qt::NoBrush && + mBackgroundBrush.color() != Qt::white && + mBackgroundBrush.color() != Qt::transparent && + mBackgroundBrush.color().alpha() > 0) // draw pdf background color if not white/transparent + printpainter.fillRect(viewport(), mBackgroundBrush); + draw(&printpainter); + printpainter.end(); + success = true; + } + setViewport(oldViewport); +#endif // QT_NO_PRINTER + return success; +} + +/*! + Saves a PNG image file to \a fileName on disc. The output plot will have the dimensions \a width + and \a height in pixels, multiplied by \a scale. If either \a width or \a height is zero, the + current width and height of the QCustomPlot widget is used instead. Line widths and texts etc. + are not scaled up when larger widths/heights are used. If you want that effect, use the \a scale + parameter. + + For example, if you set both \a width and \a height to 100 and \a scale to 2, you will end up with an + image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, + texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full + 200*200 pixel resolution. + + If you use a high scaling factor, it is recommended to enable antialiasing for all elements by + temporarily setting \ref QCustomPlot::setAntialiasedElements to \ref QCP::aeAll as this allows + QCustomPlot to place objects with sub-pixel accuracy. + + image compression can be controlled with the \a quality parameter which must be between 0 and 100 + or -1 to use the default setting. + + The \a resolution will be written to the image file header and has no direct consequence for the + quality or the pixel size. However, if opening the image with a tool which respects the metadata, + it will be able to scale the image to match either a given size in real units of length (inch, + centimeters, etc.), or the target display DPI. You can specify in which units \a resolution is + given, by setting \a resolutionUnit. The \a resolution is converted to the format's expected + resolution unit internally. + + Returns true on success. If this function fails, most likely the PNG format isn't supported by + the system, see Qt docs about QImageWriter::supportedImageFormats(). + + The objects of the plot will appear in the current selection state. If you don't want any selected + objects to be painted in their selected look, deselect everything with \ref deselectAll before calling + this function. + + If you want the PNG to have a transparent background, call \ref setBackground(const QBrush &brush) + with no brush (Qt::NoBrush) or a transparent color (Qt::transparent), before saving. + + \warning If calling this function inside the constructor of the parent of the QCustomPlot widget + (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide + explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this + function uses the current width and height of the QCustomPlot widget. However, in Qt, these + aren't defined yet inside the constructor, so you would get an image that has strange + widths/heights. + + \see savePdf, saveBmp, saveJpg, saveRastered +*/ +bool QCustomPlot::savePng(const QString &fileName, int width, int height, double scale, int quality, int resolution, QCP::ResolutionUnit resolutionUnit) +{ + return saveRastered(fileName, width, height, scale, "PNG", quality, resolution, resolutionUnit); +} + +/*! + Saves a JPEG image file to \a fileName on disc. The output plot will have the dimensions \a width + and \a height in pixels, multiplied by \a scale. If either \a width or \a height is zero, the + current width and height of the QCustomPlot widget is used instead. Line widths and texts etc. + are not scaled up when larger widths/heights are used. If you want that effect, use the \a scale + parameter. + + For example, if you set both \a width and \a height to 100 and \a scale to 2, you will end up with an + image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, + texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full + 200*200 pixel resolution. + + If you use a high scaling factor, it is recommended to enable antialiasing for all elements by + temporarily setting \ref QCustomPlot::setAntialiasedElements to \ref QCP::aeAll as this allows + QCustomPlot to place objects with sub-pixel accuracy. + + image compression can be controlled with the \a quality parameter which must be between 0 and 100 + or -1 to use the default setting. + + The \a resolution will be written to the image file header and has no direct consequence for the + quality or the pixel size. However, if opening the image with a tool which respects the metadata, + it will be able to scale the image to match either a given size in real units of length (inch, + centimeters, etc.), or the target display DPI. You can specify in which units \a resolution is + given, by setting \a resolutionUnit. The \a resolution is converted to the format's expected + resolution unit internally. + + Returns true on success. If this function fails, most likely the JPEG format isn't supported by + the system, see Qt docs about QImageWriter::supportedImageFormats(). + + The objects of the plot will appear in the current selection state. If you don't want any selected + objects to be painted in their selected look, deselect everything with \ref deselectAll before calling + this function. + + \warning If calling this function inside the constructor of the parent of the QCustomPlot widget + (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide + explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this + function uses the current width and height of the QCustomPlot widget. However, in Qt, these + aren't defined yet inside the constructor, so you would get an image that has strange + widths/heights. + + \see savePdf, savePng, saveBmp, saveRastered +*/ +bool QCustomPlot::saveJpg(const QString &fileName, int width, int height, double scale, int quality, int resolution, QCP::ResolutionUnit resolutionUnit) +{ + return saveRastered(fileName, width, height, scale, "JPG", quality, resolution, resolutionUnit); +} + +/*! + Saves a BMP image file to \a fileName on disc. The output plot will have the dimensions \a width + and \a height in pixels, multiplied by \a scale. If either \a width or \a height is zero, the + current width and height of the QCustomPlot widget is used instead. Line widths and texts etc. + are not scaled up when larger widths/heights are used. If you want that effect, use the \a scale + parameter. + + For example, if you set both \a width and \a height to 100 and \a scale to 2, you will end up with an + image file of size 200*200 in which all graphical elements are scaled up by factor 2 (line widths, + texts, etc.). This scaling is not done by stretching a 100*100 image, the result will have full + 200*200 pixel resolution. + + If you use a high scaling factor, it is recommended to enable antialiasing for all elements by + temporarily setting \ref QCustomPlot::setAntialiasedElements to \ref QCP::aeAll as this allows + QCustomPlot to place objects with sub-pixel accuracy. + + The \a resolution will be written to the image file header and has no direct consequence for the + quality or the pixel size. However, if opening the image with a tool which respects the metadata, + it will be able to scale the image to match either a given size in real units of length (inch, + centimeters, etc.), or the target display DPI. You can specify in which units \a resolution is + given, by setting \a resolutionUnit. The \a resolution is converted to the format's expected + resolution unit internally. + + Returns true on success. If this function fails, most likely the BMP format isn't supported by + the system, see Qt docs about QImageWriter::supportedImageFormats(). + + The objects of the plot will appear in the current selection state. If you don't want any selected + objects to be painted in their selected look, deselect everything with \ref deselectAll before calling + this function. + + \warning If calling this function inside the constructor of the parent of the QCustomPlot widget + (i.e. the MainWindow constructor, if QCustomPlot is inside the MainWindow), always provide + explicit non-zero widths and heights. If you leave \a width or \a height as 0 (default), this + function uses the current width and height of the QCustomPlot widget. However, in Qt, these + aren't defined yet inside the constructor, so you would get an image that has strange + widths/heights. + + \see savePdf, savePng, saveJpg, saveRastered +*/ +bool QCustomPlot::saveBmp(const QString &fileName, int width, int height, double scale, int resolution, QCP::ResolutionUnit resolutionUnit) +{ + return saveRastered(fileName, width, height, scale, "BMP", -1, resolution, resolutionUnit); +} + +/*! \internal + + Returns a minimum size hint that corresponds to the minimum size of the top level layout + (\ref plotLayout). To prevent QCustomPlot from being collapsed to size/width zero, set a minimum + size (setMinimumSize) either on the whole QCustomPlot or on any layout elements inside the plot. + This is especially important, when placed in a QLayout where other components try to take in as + much space as possible (e.g. QMdiArea). +*/ +QSize QCustomPlot::minimumSizeHint() const +{ + return mPlotLayout->minimumOuterSizeHint(); +} + +/*! \internal + + Returns a size hint that is the same as \ref minimumSizeHint. + +*/ +QSize QCustomPlot::sizeHint() const +{ + return mPlotLayout->minimumOuterSizeHint(); +} + +/*! \internal + + Event handler for when the QCustomPlot widget needs repainting. This does not cause a \ref replot, but + draws the internal buffer on the widget surface. +*/ +void QCustomPlot::paintEvent(QPaintEvent *event) +{ + Q_UNUSED(event); + QCPPainter painter(this); + if (painter.isActive()) + { + painter.setRenderHint(QPainter::HighQualityAntialiasing); // to make Antialiasing look good if using the OpenGL graphicssystem + if (mBackgroundBrush.style() != Qt::NoBrush) + painter.fillRect(mViewport, mBackgroundBrush); + drawBackground(&painter); + for (int bufferIndex = 0; bufferIndex < mPaintBuffers.size(); ++bufferIndex) + mPaintBuffers.at(bufferIndex)->draw(&painter); + } +} + +/*! \internal + + Event handler for a resize of the QCustomPlot widget. The viewport (which becomes the outer rect + of mPlotLayout) is resized appropriately. Finally a \ref replot is performed. +*/ +void QCustomPlot::resizeEvent(QResizeEvent *event) +{ + Q_UNUSED(event) + // resize and repaint the buffer: + setViewport(rect()); + replot(rpQueuedRefresh); // queued refresh is important here, to prevent painting issues in some contexts (e.g. MDI subwindow) +} + +/*! \internal + + Event handler for when a double click occurs. Emits the \ref mouseDoubleClick signal, then + determines the layerable under the cursor and forwards the event to it. Finally, emits the + specialized signals when certain objecs are clicked (e.g. \ref plottableDoubleClick, \ref + axisDoubleClick, etc.). + + \see mousePressEvent, mouseReleaseEvent +*/ +void QCustomPlot::mouseDoubleClickEvent(QMouseEvent *event) +{ + emit mouseDoubleClick(event); + mMouseHasMoved = false; + mMousePressPos = event->pos(); + + // determine layerable under the cursor (this event is called instead of the second press event in a double-click): + QList<QVariant> details; + QList<QCPLayerable*> candidates = layerableListAt(mMousePressPos, false, &details); + for (int i=0; i<candidates.size(); ++i) + { + event->accept(); // default impl of QCPLayerable's mouse events ignore the event, in that case propagate to next candidate in list + candidates.at(i)->mouseDoubleClickEvent(event, details.at(i)); + if (event->isAccepted()) + { + mMouseEventLayerable = candidates.at(i); + mMouseEventLayerableDetails = details.at(i); + break; + } + } + + // emit specialized object double click signals: + if (!candidates.isEmpty()) + { + if (QCPAbstractPlottable *ap = qobject_cast<QCPAbstractPlottable*>(candidates.first())) + { + int dataIndex = 0; + if (!details.first().value<QCPDataSelection>().isEmpty()) + dataIndex = details.first().value<QCPDataSelection>().dataRange().begin(); + emit plottableDoubleClick(ap, dataIndex, event); + } else if (QCPAxis *ax = qobject_cast<QCPAxis*>(candidates.first())) + emit axisDoubleClick(ax, details.first().value<QCPAxis::SelectablePart>(), event); + else if (QCPAbstractItem *ai = qobject_cast<QCPAbstractItem*>(candidates.first())) + emit itemDoubleClick(ai, event); + else if (QCPLegend *lg = qobject_cast<QCPLegend*>(candidates.first())) + emit legendDoubleClick(lg, 0, event); + else if (QCPAbstractLegendItem *li = qobject_cast<QCPAbstractLegendItem*>(candidates.first())) + emit legendDoubleClick(li->parentLegend(), li, event); + } + + event->accept(); // in case QCPLayerable reimplementation manipulates event accepted state. In QWidget event system, QCustomPlot wants to accept the event. +} + +/*! \internal + + Event handler for when a mouse button is pressed. Emits the mousePress signal. + + If the current \ref setSelectionRectMode is not \ref QCP::srmNone, passes the event to the + selection rect. Otherwise determines the layerable under the cursor and forwards the event to it. + + \see mouseMoveEvent, mouseReleaseEvent +*/ +void QCustomPlot::mousePressEvent(QMouseEvent *event) +{ + emit mousePress(event); + // save some state to tell in releaseEvent whether it was a click: + mMouseHasMoved = false; + mMousePressPos = event->pos(); + + if (mSelectionRect && mSelectionRectMode != QCP::srmNone) + { + if (mSelectionRectMode != QCP::srmZoom || qobject_cast<QCPAxisRect*>(axisRectAt(mMousePressPos))) // in zoom mode only activate selection rect if on an axis rect + mSelectionRect->startSelection(event); + } else + { + // no selection rect interaction, prepare for click signal emission and forward event to layerable under the cursor: + QList<QVariant> details; + QList<QCPLayerable*> candidates = layerableListAt(mMousePressPos, false, &details); + if (!candidates.isEmpty()) + { + mMouseSignalLayerable = candidates.first(); // candidate for signal emission is always topmost hit layerable (signal emitted in release event) + mMouseSignalLayerableDetails = details.first(); + } + // forward event to topmost candidate which accepts the event: + for (int i=0; i<candidates.size(); ++i) + { + event->accept(); // default impl of QCPLayerable's mouse events call ignore() on the event, in that case propagate to next candidate in list + candidates.at(i)->mousePressEvent(event, details.at(i)); + if (event->isAccepted()) + { + mMouseEventLayerable = candidates.at(i); + mMouseEventLayerableDetails = details.at(i); + break; + } + } + } + + event->accept(); // in case QCPLayerable reimplementation manipulates event accepted state. In QWidget event system, QCustomPlot wants to accept the event. +} + +/*! \internal + + Event handler for when the cursor is moved. Emits the \ref mouseMove signal. + + If the selection rect (\ref setSelectionRect) is currently active, the event is forwarded to it + in order to update the rect geometry. + + Otherwise, if a layout element has mouse capture focus (a mousePressEvent happened on top of the + layout element before), the mouseMoveEvent is forwarded to that element. + + \see mousePressEvent, mouseReleaseEvent +*/ +void QCustomPlot::mouseMoveEvent(QMouseEvent *event) +{ + emit mouseMove(event); + + if (!mMouseHasMoved && (mMousePressPos-event->pos()).manhattanLength() > 3) + mMouseHasMoved = true; // moved too far from mouse press position, don't handle as click on mouse release + + if (mSelectionRect && mSelectionRect->isActive()) + mSelectionRect->moveSelection(event); + else if (mMouseEventLayerable) // call event of affected layerable: + mMouseEventLayerable->mouseMoveEvent(event, mMousePressPos); + + event->accept(); // in case QCPLayerable reimplementation manipulates event accepted state. In QWidget event system, QCustomPlot wants to accept the event. +} + +/*! \internal + + Event handler for when a mouse button is released. Emits the \ref mouseRelease signal. + + If the mouse was moved less than a certain threshold in any direction since the \ref + mousePressEvent, it is considered a click which causes the selection mechanism (if activated via + \ref setInteractions) to possibly change selection states accordingly. Further, specialized mouse + click signals are emitted (e.g. \ref plottableClick, \ref axisClick, etc.) + + If a layerable is the mouse capturer (a \ref mousePressEvent happened on top of the layerable + before), the \ref mouseReleaseEvent is forwarded to that element. + + \see mousePressEvent, mouseMoveEvent +*/ +void QCustomPlot::mouseReleaseEvent(QMouseEvent *event) +{ + emit mouseRelease(event); + + if (!mMouseHasMoved) // mouse hasn't moved (much) between press and release, so handle as click + { + if (mSelectionRect && mSelectionRect->isActive()) // a simple click shouldn't successfully finish a selection rect, so cancel it here + mSelectionRect->cancel(); + if (event->button() == Qt::LeftButton) + processPointSelection(event); + + // emit specialized click signals of QCustomPlot instance: + if (QCPAbstractPlottable *ap = qobject_cast<QCPAbstractPlottable*>(mMouseSignalLayerable)) + { + int dataIndex = 0; + if (!mMouseSignalLayerableDetails.value<QCPDataSelection>().isEmpty()) + dataIndex = mMouseSignalLayerableDetails.value<QCPDataSelection>().dataRange().begin(); + emit plottableClick(ap, dataIndex, event); + } else if (QCPAxis *ax = qobject_cast<QCPAxis*>(mMouseSignalLayerable)) + emit axisClick(ax, mMouseSignalLayerableDetails.value<QCPAxis::SelectablePart>(), event); + else if (QCPAbstractItem *ai = qobject_cast<QCPAbstractItem*>(mMouseSignalLayerable)) + emit itemClick(ai, event); + else if (QCPLegend *lg = qobject_cast<QCPLegend*>(mMouseSignalLayerable)) + emit legendClick(lg, 0, event); + else if (QCPAbstractLegendItem *li = qobject_cast<QCPAbstractLegendItem*>(mMouseSignalLayerable)) + emit legendClick(li->parentLegend(), li, event); + mMouseSignalLayerable = 0; + } + + if (mSelectionRect && mSelectionRect->isActive()) // Note: if a click was detected above, the selection rect is canceled there + { + // finish selection rect, the appropriate action will be taken via signal-slot connection: + mSelectionRect->endSelection(event); + } else + { + // call event of affected layerable: + if (mMouseEventLayerable) + { + mMouseEventLayerable->mouseReleaseEvent(event, mMousePressPos); + mMouseEventLayerable = 0; + } + } + + if (noAntialiasingOnDrag()) + replot(rpQueuedReplot); + + event->accept(); // in case QCPLayerable reimplementation manipulates event accepted state. In QWidget event system, QCustomPlot wants to accept the event. +} + +/*! \internal + + Event handler for mouse wheel events. First, the \ref mouseWheel signal is emitted. Then + determines the affected layerable and forwards the event to it. +*/ +void QCustomPlot::wheelEvent(QWheelEvent *event) +{ + emit mouseWheel(event); + // forward event to layerable under cursor: + QList<QCPLayerable*> candidates = layerableListAt(event->pos(), false); + for (int i=0; i<candidates.size(); ++i) + { + event->accept(); // default impl of QCPLayerable's mouse events ignore the event, in that case propagate to next candidate in list + candidates.at(i)->wheelEvent(event); + if (event->isAccepted()) + break; + } + event->accept(); // in case QCPLayerable reimplementation manipulates event accepted state. In QWidget event system, QCustomPlot wants to accept the event. +} + +/*! \internal + + This function draws the entire plot, including background pixmap, with the specified \a painter. + It does not make use of the paint buffers like \ref replot, so this is the function typically + used by saving/exporting methods such as \ref savePdf or \ref toPainter. + + Note that it does not fill the background with the background brush (as the user may specify with + \ref setBackground(const QBrush &brush)), this is up to the respective functions calling this + method. +*/ +void QCustomPlot::draw(QCPPainter *painter) +{ + updateLayout(); + + // draw viewport background pixmap: + drawBackground(painter); + + // draw all layered objects (grid, axes, plottables, items, legend,...): + foreach (QCPLayer *layer, mLayers) + layer->draw(painter); + + /* Debug code to draw all layout element rects + foreach (QCPLayoutElement* el, findChildren<QCPLayoutElement*>()) + { + painter->setBrush(Qt::NoBrush); + painter->setPen(QPen(QColor(0, 0, 0, 100), 0, Qt::DashLine)); + painter->drawRect(el->rect()); + painter->setPen(QPen(QColor(255, 0, 0, 100), 0, Qt::DashLine)); + painter->drawRect(el->outerRect()); + } + */ +} + +/*! \internal + + Performs the layout update steps defined by \ref QCPLayoutElement::UpdatePhase, by calling \ref + QCPLayoutElement::update on the main plot layout. + + Here, the layout elements calculate their positions and margins, and prepare for the following + draw call. +*/ +void QCustomPlot::updateLayout() +{ + // run through layout phases: + mPlotLayout->update(QCPLayoutElement::upPreparation); + mPlotLayout->update(QCPLayoutElement::upMargins); + mPlotLayout->update(QCPLayoutElement::upLayout); +} + +/*! \internal + + Draws the viewport background pixmap of the plot. + + If a pixmap was provided via \ref setBackground, this function buffers the scaled version + depending on \ref setBackgroundScaled and \ref setBackgroundScaledMode and then draws it inside + the viewport with the provided \a painter. The scaled version is buffered in + mScaledBackgroundPixmap to prevent expensive rescaling at every redraw. It is only updated, when + the axis rect has changed in a way that requires a rescale of the background pixmap (this is + dependent on the \ref setBackgroundScaledMode), or when a differend axis background pixmap was + set. + + Note that this function does not draw a fill with the background brush + (\ref setBackground(const QBrush &brush)) beneath the pixmap. + + \see setBackground, setBackgroundScaled, setBackgroundScaledMode +*/ +void QCustomPlot::drawBackground(QCPPainter *painter) +{ + // Note: background color is handled in individual replot/save functions + + // draw background pixmap (on top of fill, if brush specified): + if (!mBackgroundPixmap.isNull()) + { + if (mBackgroundScaled) + { + // check whether mScaledBackground needs to be updated: + QSize scaledSize(mBackgroundPixmap.size()); + scaledSize.scale(mViewport.size(), mBackgroundScaledMode); + if (mScaledBackgroundPixmap.size() != scaledSize) + mScaledBackgroundPixmap = mBackgroundPixmap.scaled(mViewport.size(), mBackgroundScaledMode, Qt::SmoothTransformation); + painter->drawPixmap(mViewport.topLeft(), mScaledBackgroundPixmap, QRect(0, 0, mViewport.width(), mViewport.height()) & mScaledBackgroundPixmap.rect()); + } else + { + painter->drawPixmap(mViewport.topLeft(), mBackgroundPixmap, QRect(0, 0, mViewport.width(), mViewport.height())); + } + } +} + +/*! \internal + + Goes through the layers and makes sure this QCustomPlot instance holds the correct number of + paint buffers and that they have the correct configuration (size, pixel ratio, etc.). + Allocations, reallocations and deletions of paint buffers are performed as necessary. It also + associates the paint buffers with the layers, so they draw themselves into the right buffer when + \ref QCPLayer::drawToPaintBuffer is called. This means it associates adjacent \ref + QCPLayer::lmLogical layers to a mutual paint buffer and creates dedicated paint buffers for + layers in \ref QCPLayer::lmBuffered mode. + + This method uses \ref createPaintBuffer to create new paint buffers. + + After this method, the paint buffers are empty (filled with \c Qt::transparent) and invalidated + (so an attempt to replot only a single buffered layer causes a full replot). + + This method is called in every \ref replot call, prior to actually drawing the layers (into their + associated paint buffer). If the paint buffers don't need changing/reallocating, this method + basically leaves them alone and thus finishes very fast. +*/ +void QCustomPlot::setupPaintBuffers() +{ + int bufferIndex = 0; + if (mPaintBuffers.isEmpty()) + mPaintBuffers.append(QSharedPointer<QCPAbstractPaintBuffer>(createPaintBuffer())); + + for (int layerIndex = 0; layerIndex < mLayers.size(); ++layerIndex) + { + QCPLayer *layer = mLayers.at(layerIndex); + if (layer->mode() == QCPLayer::lmLogical) + { + layer->mPaintBuffer = mPaintBuffers.at(bufferIndex).toWeakRef(); + } else if (layer->mode() == QCPLayer::lmBuffered) + { + ++bufferIndex; + if (bufferIndex >= mPaintBuffers.size()) + mPaintBuffers.append(QSharedPointer<QCPAbstractPaintBuffer>(createPaintBuffer())); + layer->mPaintBuffer = mPaintBuffers.at(bufferIndex).toWeakRef(); + if (layerIndex < mLayers.size()-1 && mLayers.at(layerIndex+1)->mode() == QCPLayer::lmLogical) // not last layer, and next one is logical, so prepare another buffer for next layerables + { + ++bufferIndex; + if (bufferIndex >= mPaintBuffers.size()) + mPaintBuffers.append(QSharedPointer<QCPAbstractPaintBuffer>(createPaintBuffer())); + } + } + } + // remove unneeded buffers: + while (mPaintBuffers.size()-1 > bufferIndex) + mPaintBuffers.removeLast(); + // resize buffers to viewport size and clear contents: + for (int i=0; i<mPaintBuffers.size(); ++i) + { + mPaintBuffers.at(i)->setSize(viewport().size()); // won't do anything if already correct size + mPaintBuffers.at(i)->clear(Qt::transparent); + mPaintBuffers.at(i)->setInvalidated(); + } +} + +/*! \internal + + This method is used by \ref setupPaintBuffers when it needs to create new paint buffers. + + Depending on the current setting of \ref setOpenGl, and the current Qt version, different + backends (subclasses of \ref QCPAbstractPaintBuffer) are created, initialized with the proper + size and device pixel ratio, and returned. +*/ +QCPAbstractPaintBuffer *QCustomPlot::createPaintBuffer() +{ + if (mOpenGl) + { +#if defined(QCP_OPENGL_FBO) + return new QCPPaintBufferGlFbo(viewport().size(), mBufferDevicePixelRatio, mGlContext, mGlPaintDevice); +#elif defined(QCP_OPENGL_PBUFFER) + return new QCPPaintBufferGlPbuffer(viewport().size(), mBufferDevicePixelRatio, mOpenGlMultisamples); +#else + qDebug() << Q_FUNC_INFO << "OpenGL enabled even though no support for it compiled in, this shouldn't have happened. Falling back to pixmap paint buffer."; + return new QCPPaintBufferPixmap(viewport().size(), mBufferDevicePixelRatio); +#endif + } else + return new QCPPaintBufferPixmap(viewport().size(), mBufferDevicePixelRatio); +} + +/*! + This method returns whether any of the paint buffers held by this QCustomPlot instance are + invalidated. + + If any buffer is invalidated, a partial replot (\ref QCPLayer::replot) is not allowed and always + causes a full replot (\ref QCustomPlot::replot) of all layers. This is the case when for example + the layer order has changed, new layers were added, layers were removed, or layer modes were + changed (\ref QCPLayer::setMode). + + \see QCPAbstractPaintBuffer::setInvalidated +*/ +bool QCustomPlot::hasInvalidatedPaintBuffers() +{ + for (int i=0; i<mPaintBuffers.size(); ++i) + { + if (mPaintBuffers.at(i)->invalidated()) + return true; + } + return false; +} + +/*! \internal + + When \ref setOpenGl is set to true, this method is used to initialize OpenGL (create a context, + surface, paint device). + + Returns true on success. + + If this method is successful, all paint buffers should be deleted and then reallocated by calling + \ref setupPaintBuffers, so the OpenGL-based paint buffer subclasses (\ref + QCPPaintBufferGlPbuffer, \ref QCPPaintBufferGlFbo) are used for subsequent replots. + + \see freeOpenGl +*/ +bool QCustomPlot::setupOpenGl() +{ +#ifdef QCP_OPENGL_FBO + freeOpenGl(); + QSurfaceFormat proposedSurfaceFormat; + proposedSurfaceFormat.setSamples(mOpenGlMultisamples); +#ifdef QCP_OPENGL_OFFSCREENSURFACE + QOffscreenSurface *surface = new QOffscreenSurface; +#else + QWindow *surface = new QWindow; + surface->setSurfaceType(QSurface::OpenGLSurface); +#endif + surface->setFormat(proposedSurfaceFormat); + surface->create(); + mGlSurface = QSharedPointer<QSurface>(surface); + mGlContext = QSharedPointer<QOpenGLContext>(new QOpenGLContext); + mGlContext->setFormat(mGlSurface->format()); + if (!mGlContext->create()) + { + qDebug() << Q_FUNC_INFO << "Failed to create OpenGL context"; + mGlContext.clear(); + mGlSurface.clear(); + return false; + } + if (!mGlContext->makeCurrent(mGlSurface.data())) // context needs to be current to create paint device + { + qDebug() << Q_FUNC_INFO << "Failed to make opengl context current"; + mGlContext.clear(); + mGlSurface.clear(); + return false; + } + if (!QOpenGLFramebufferObject::hasOpenGLFramebufferObjects()) + { + qDebug() << Q_FUNC_INFO << "OpenGL of this system doesn't support frame buffer objects"; + mGlContext.clear(); + mGlSurface.clear(); + return false; + } + mGlPaintDevice = QSharedPointer<QOpenGLPaintDevice>(new QOpenGLPaintDevice); + return true; +#elif defined(QCP_OPENGL_PBUFFER) + return QGLFormat::hasOpenGL(); +#else + return false; +#endif +} + +/*! \internal + + When \ref setOpenGl is set to false, this method is used to deinitialize OpenGL (releases the + context and frees resources). + + After OpenGL is disabled, all paint buffers should be deleted and then reallocated by calling + \ref setupPaintBuffers, so the standard software rendering paint buffer subclass (\ref + QCPPaintBufferPixmap) is used for subsequent replots. + + \see setupOpenGl +*/ +void QCustomPlot::freeOpenGl() +{ +#ifdef QCP_OPENGL_FBO + mGlPaintDevice.clear(); + mGlContext.clear(); + mGlSurface.clear(); +#endif +} + +/*! \internal + + This method is used by \ref QCPAxisRect::removeAxis to report removed axes to the QCustomPlot + so it may clear its QCustomPlot::xAxis, yAxis, xAxis2 and yAxis2 members accordingly. +*/ +void QCustomPlot::axisRemoved(QCPAxis *axis) +{ + if (xAxis == axis) + xAxis = 0; + if (xAxis2 == axis) + xAxis2 = 0; + if (yAxis == axis) + yAxis = 0; + if (yAxis2 == axis) + yAxis2 = 0; + + // Note: No need to take care of range drag axes and range zoom axes, because they are stored in smart pointers +} + +/*! \internal + + This method is used by the QCPLegend destructor to report legend removal to the QCustomPlot so + it may clear its QCustomPlot::legend member accordingly. +*/ +void QCustomPlot::legendRemoved(QCPLegend *legend) +{ + if (this->legend == legend) + this->legend = 0; +} + +/*! \internal + + This slot is connected to the selection rect's \ref QCPSelectionRect::accepted signal when \ref + setSelectionRectMode is set to \ref QCP::srmSelect. + + First, it determines which axis rect was the origin of the selection rect judging by the starting + point of the selection. Then it goes through the plottables (\ref QCPAbstractPlottable1D to be + precise) associated with that axis rect and finds the data points that are in \a rect. It does + this by querying their \ref QCPAbstractPlottable1D::selectTestRect method. + + Then, the actual selection is done by calling the plottables' \ref + QCPAbstractPlottable::selectEvent, placing the found selected data points in the \a details + parameter as <tt>QVariant(\ref QCPDataSelection)</tt>. All plottables that weren't touched by \a + rect receive a \ref QCPAbstractPlottable::deselectEvent. + + \see processRectZoom +*/ +void QCustomPlot::processRectSelection(QRect rect, QMouseEvent *event) +{ + bool selectionStateChanged = false; + + if (mInteractions.testFlag(QCP::iSelectPlottables)) + { + QMap<int, QPair<QCPAbstractPlottable*, QCPDataSelection> > potentialSelections; // map key is number of selected data points, so we have selections sorted by size + QRectF rectF(rect.normalized()); + if (QCPAxisRect *affectedAxisRect = axisRectAt(rectF.topLeft())) + { + // determine plottables that were hit by the rect and thus are candidates for selection: + foreach (QCPAbstractPlottable *plottable, affectedAxisRect->plottables()) + { + if (QCPPlottableInterface1D *plottableInterface = plottable->interface1D()) + { + QCPDataSelection dataSel = plottableInterface->selectTestRect(rectF, true); + if (!dataSel.isEmpty()) + potentialSelections.insertMulti(dataSel.dataPointCount(), QPair<QCPAbstractPlottable*, QCPDataSelection>(plottable, dataSel)); + } + } + + if (!mInteractions.testFlag(QCP::iMultiSelect)) + { + // only leave plottable with most selected points in map, since we will only select a single plottable: + if (!potentialSelections.isEmpty()) + { + QMap<int, QPair<QCPAbstractPlottable*, QCPDataSelection> >::iterator it = potentialSelections.begin(); + while (it != potentialSelections.end()-1) // erase all except last element + it = potentialSelections.erase(it); + } + } + + bool additive = event->modifiers().testFlag(mMultiSelectModifier); + // deselect all other layerables if not additive selection: + if (!additive) + { + // emit deselection except to those plottables who will be selected afterwards: + foreach (QCPLayer *layer, mLayers) + { + foreach (QCPLayerable *layerable, layer->children()) + { + if ((potentialSelections.isEmpty() || potentialSelections.constBegin()->first != layerable) && mInteractions.testFlag(layerable->selectionCategory())) + { + bool selChanged = false; + layerable->deselectEvent(&selChanged); + selectionStateChanged |= selChanged; + } + } + } + } + + // go through selections in reverse (largest selection first) and emit select events: + QMap<int, QPair<QCPAbstractPlottable*, QCPDataSelection> >::const_iterator it = potentialSelections.constEnd(); + while (it != potentialSelections.constBegin()) + { + --it; + if (mInteractions.testFlag(it.value().first->selectionCategory())) + { + bool selChanged = false; + it.value().first->selectEvent(event, additive, QVariant::fromValue(it.value().second), &selChanged); + selectionStateChanged |= selChanged; + } + } + } + } + + if (selectionStateChanged) + { + emit selectionChangedByUser(); + replot(rpQueuedReplot); + } else if (mSelectionRect) + mSelectionRect->layer()->replot(); +} + +/*! \internal + + This slot is connected to the selection rect's \ref QCPSelectionRect::accepted signal when \ref + setSelectionRectMode is set to \ref QCP::srmZoom. + + It determines which axis rect was the origin of the selection rect judging by the starting point + of the selection, and then zooms the axes defined via \ref QCPAxisRect::setRangeZoomAxes to the + provided \a rect (see \ref QCPAxisRect::zoom). + + \see processRectSelection +*/ +void QCustomPlot::processRectZoom(QRect rect, QMouseEvent *event) +{ + Q_UNUSED(event) + if (QCPAxisRect *axisRect = axisRectAt(rect.topLeft())) + { + QList<QCPAxis*> affectedAxes = QList<QCPAxis*>() << axisRect->rangeZoomAxes(Qt::Horizontal) << axisRect->rangeZoomAxes(Qt::Vertical); + affectedAxes.removeAll(static_cast<QCPAxis*>(0)); + axisRect->zoom(QRectF(rect), affectedAxes); + } + replot(rpQueuedReplot); // always replot to make selection rect disappear +} + +/*! \internal + + This method is called when a simple left mouse click was detected on the QCustomPlot surface. + + It first determines the layerable that was hit by the click, and then calls its \ref + QCPLayerable::selectEvent. All other layerables receive a QCPLayerable::deselectEvent (unless the + multi-select modifier was pressed, see \ref setMultiSelectModifier). + + In this method the hit layerable is determined a second time using \ref layerableAt (after the + one in \ref mousePressEvent), because we want \a onlySelectable set to true this time. This + implies that the mouse event grabber (mMouseEventLayerable) may be a different one from the + clicked layerable determined here. For example, if a non-selectable layerable is in front of a + selectable layerable at the click position, the front layerable will receive mouse events but the + selectable one in the back will receive the \ref QCPLayerable::selectEvent. + + \see processRectSelection, QCPLayerable::selectTest +*/ +void QCustomPlot::processPointSelection(QMouseEvent *event) +{ + QVariant details; + QCPLayerable *clickedLayerable = layerableAt(event->pos(), true, &details); + bool selectionStateChanged = false; + bool additive = mInteractions.testFlag(QCP::iMultiSelect) && event->modifiers().testFlag(mMultiSelectModifier); + // deselect all other layerables if not additive selection: + if (!additive) + { + foreach (QCPLayer *layer, mLayers) + { + foreach (QCPLayerable *layerable, layer->children()) + { + if (layerable != clickedLayerable && mInteractions.testFlag(layerable->selectionCategory())) + { + bool selChanged = false; + layerable->deselectEvent(&selChanged); + selectionStateChanged |= selChanged; + } + } + } + } + if (clickedLayerable && mInteractions.testFlag(clickedLayerable->selectionCategory())) + { + // a layerable was actually clicked, call its selectEvent: + bool selChanged = false; + clickedLayerable->selectEvent(event, additive, details, &selChanged); + selectionStateChanged |= selChanged; + } + if (selectionStateChanged) + { + emit selectionChangedByUser(); + replot(rpQueuedReplot); + } +} + +/*! \internal + + Registers the specified plottable with this QCustomPlot and, if \ref setAutoAddPlottableToLegend + is enabled, adds it to the legend (QCustomPlot::legend). QCustomPlot takes ownership of the + plottable. + + Returns true on success, i.e. when \a plottable isn't already in this plot and the parent plot of + \a plottable is this QCustomPlot. + + This method is called automatically in the QCPAbstractPlottable base class constructor. +*/ +bool QCustomPlot::registerPlottable(QCPAbstractPlottable *plottable) +{ + if (mPlottables.contains(plottable)) + { + qDebug() << Q_FUNC_INFO << "plottable already added to this QCustomPlot:" << reinterpret_cast<quintptr>(plottable); + return false; + } + if (plottable->parentPlot() != this) + { + qDebug() << Q_FUNC_INFO << "plottable not created with this QCustomPlot as parent:" << reinterpret_cast<quintptr>(plottable); + return false; + } + + mPlottables.append(plottable); + // possibly add plottable to legend: + if (mAutoAddPlottableToLegend) + plottable->addToLegend(); + if (!plottable->layer()) // usually the layer is already set in the constructor of the plottable (via QCPLayerable constructor) + plottable->setLayer(currentLayer()); + return true; +} + +/*! \internal + + In order to maintain the simplified graph interface of QCustomPlot, this method is called by the + QCPGraph constructor to register itself with this QCustomPlot's internal graph list. Returns true + on success, i.e. if \a graph is valid and wasn't already registered with this QCustomPlot. + + This graph specific registration happens in addition to the call to \ref registerPlottable by the + QCPAbstractPlottable base class. +*/ +bool QCustomPlot::registerGraph(QCPGraph *graph) +{ + if (!graph) + { + qDebug() << Q_FUNC_INFO << "passed graph is zero"; + return false; + } + if (mGraphs.contains(graph)) + { + qDebug() << Q_FUNC_INFO << "graph already registered with this QCustomPlot"; + return false; + } + + mGraphs.append(graph); + return true; +} + + +/*! \internal + + Registers the specified item with this QCustomPlot. QCustomPlot takes ownership of the item. + + Returns true on success, i.e. when \a item wasn't already in the plot and the parent plot of \a + item is this QCustomPlot. + + This method is called automatically in the QCPAbstractItem base class constructor. +*/ +bool QCustomPlot::registerItem(QCPAbstractItem *item) +{ + if (mItems.contains(item)) + { + qDebug() << Q_FUNC_INFO << "item already added to this QCustomPlot:" << reinterpret_cast<quintptr>(item); + return false; + } + if (item->parentPlot() != this) + { + qDebug() << Q_FUNC_INFO << "item not created with this QCustomPlot as parent:" << reinterpret_cast<quintptr>(item); + return false; + } + + mItems.append(item); + if (!item->layer()) // usually the layer is already set in the constructor of the item (via QCPLayerable constructor) + item->setLayer(currentLayer()); + return true; +} + +/*! \internal + + Assigns all layers their index (QCPLayer::mIndex) in the mLayers list. This method is thus called + after every operation that changes the layer indices, like layer removal, layer creation, layer + moving. +*/ +void QCustomPlot::updateLayerIndices() const +{ + for (int i=0; i<mLayers.size(); ++i) + mLayers.at(i)->mIndex = i; +} + +/*! \internal + + Returns the top-most layerable at pixel position \a pos. If \a onlySelectable is set to true, + only those layerables that are selectable will be considered. (Layerable subclasses communicate + their selectability via the QCPLayerable::selectTest method, by returning -1.) + + \a selectionDetails is an output parameter that contains selection specifics of the affected + layerable. This is useful if the respective layerable shall be given a subsequent + QCPLayerable::selectEvent (like in \ref mouseReleaseEvent). \a selectionDetails usually contains + information about which part of the layerable was hit, in multi-part layerables (e.g. + QCPAxis::SelectablePart). If the layerable is a plottable, \a selectionDetails contains a \ref + QCPDataSelection instance with the single data point which is closest to \a pos. + + \see layerableListAt, layoutElementAt, axisRectAt +*/ +QCPLayerable *QCustomPlot::layerableAt(const QPointF &pos, bool onlySelectable, QVariant *selectionDetails) const +{ + QList<QVariant> details; + QList<QCPLayerable*> candidates = layerableListAt(pos, onlySelectable, selectionDetails ? &details : 0); + if (selectionDetails && !details.isEmpty()) + *selectionDetails = details.first(); + if (!candidates.isEmpty()) + return candidates.first(); + else + return 0; +} + +/*! \internal + + Returns the layerables at pixel position \a pos. If \a onlySelectable is set to true, only those + layerables that are selectable will be considered. (Layerable subclasses communicate their + selectability via the QCPLayerable::selectTest method, by returning -1.) + + The returned list is sorted by the layerable/drawing order. If you only need to know the top-most + layerable, rather use \ref layerableAt. + + \a selectionDetails is an output parameter that contains selection specifics of the affected + layerable. This is useful if the respective layerable shall be given a subsequent + QCPLayerable::selectEvent (like in \ref mouseReleaseEvent). \a selectionDetails usually contains + information about which part of the layerable was hit, in multi-part layerables (e.g. + QCPAxis::SelectablePart). If the layerable is a plottable, \a selectionDetails contains a \ref + QCPDataSelection instance with the single data point which is closest to \a pos. + + \see layerableAt, layoutElementAt, axisRectAt +*/ +QList<QCPLayerable*> QCustomPlot::layerableListAt(const QPointF &pos, bool onlySelectable, QList<QVariant> *selectionDetails) const +{ + QList<QCPLayerable*> result; + for (int layerIndex=mLayers.size()-1; layerIndex>=0; --layerIndex) + { + const QList<QCPLayerable*> layerables = mLayers.at(layerIndex)->children(); + for (int i=layerables.size()-1; i>=0; --i) + { + if (!layerables.at(i)->realVisibility()) + continue; + QVariant details; + double dist = layerables.at(i)->selectTest(pos, onlySelectable, selectionDetails ? &details : 0); + if (dist >= 0 && dist < selectionTolerance()) + { + result.append(layerables.at(i)); + if (selectionDetails) + selectionDetails->append(details); + } + } + } + return result; +} + +/*! + Saves the plot to a rastered image file \a fileName in the image format \a format. The plot is + sized to \a width and \a height in pixels and scaled with \a scale. (width 100 and scale 2.0 lead + to a full resolution file with width 200.) If the \a format supports compression, \a quality may + be between 0 and 100 to control it. + + Returns true on success. If this function fails, most likely the given \a format isn't supported + by the system, see Qt docs about QImageWriter::supportedImageFormats(). + + The \a resolution will be written to the image file header (if the file format supports this) and + has no direct consequence for the quality or the pixel size. However, if opening the image with a + tool which respects the metadata, it will be able to scale the image to match either a given size + in real units of length (inch, centimeters, etc.), or the target display DPI. You can specify in + which units \a resolution is given, by setting \a resolutionUnit. The \a resolution is converted + to the format's expected resolution unit internally. + + \see saveBmp, saveJpg, savePng, savePdf +*/ +bool QCustomPlot::saveRastered(const QString &fileName, int width, int height, double scale, const char *format, int quality, int resolution, QCP::ResolutionUnit resolutionUnit) +{ + QImage buffer = toPixmap(width, height, scale).toImage(); + + int dotsPerMeter = 0; + switch (resolutionUnit) + { + case QCP::ruDotsPerMeter: dotsPerMeter = resolution; break; + case QCP::ruDotsPerCentimeter: dotsPerMeter = resolution*100; break; + case QCP::ruDotsPerInch: dotsPerMeter = resolution/0.0254; break; + } + buffer.setDotsPerMeterX(dotsPerMeter); // this is saved together with some image formats, e.g. PNG, and is relevant when opening image in other tools + buffer.setDotsPerMeterY(dotsPerMeter); // this is saved together with some image formats, e.g. PNG, and is relevant when opening image in other tools + if (!buffer.isNull()) + return buffer.save(fileName, format, quality); + else + return false; +} + +/*! + Renders the plot to a pixmap and returns it. + + The plot is sized to \a width and \a height in pixels and scaled with \a scale. (width 100 and + scale 2.0 lead to a full resolution pixmap with width 200.) + + \see toPainter, saveRastered, saveBmp, savePng, saveJpg, savePdf +*/ +QPixmap QCustomPlot::toPixmap(int width, int height, double scale) +{ + // this method is somewhat similar to toPainter. Change something here, and a change in toPainter might be necessary, too. + int newWidth, newHeight; + if (width == 0 || height == 0) + { + newWidth = this->width(); + newHeight = this->height(); + } else + { + newWidth = width; + newHeight = height; + } + int scaledWidth = qRound(scale*newWidth); + int scaledHeight = qRound(scale*newHeight); + + QPixmap result(scaledWidth, scaledHeight); + result.fill(mBackgroundBrush.style() == Qt::SolidPattern ? mBackgroundBrush.color() : Qt::transparent); // if using non-solid pattern, make transparent now and draw brush pattern later + QCPPainter painter; + painter.begin(&result); + if (painter.isActive()) + { + QRect oldViewport = viewport(); + setViewport(QRect(0, 0, newWidth, newHeight)); + painter.setMode(QCPPainter::pmNoCaching); + if (!qFuzzyCompare(scale, 1.0)) + { + if (scale > 1.0) // for scale < 1 we always want cosmetic pens where possible, because else lines might disappear for very small scales + painter.setMode(QCPPainter::pmNonCosmetic); + painter.scale(scale, scale); + } + if (mBackgroundBrush.style() != Qt::SolidPattern && mBackgroundBrush.style() != Qt::NoBrush) // solid fills were done a few lines above with QPixmap::fill + painter.fillRect(mViewport, mBackgroundBrush); + draw(&painter); + setViewport(oldViewport); + painter.end(); + } else // might happen if pixmap has width or height zero + { + qDebug() << Q_FUNC_INFO << "Couldn't activate painter on pixmap"; + return QPixmap(); + } + return result; +} + +/*! + Renders the plot using the passed \a painter. + + The plot is sized to \a width and \a height in pixels. If the \a painter's scale is not 1.0, the resulting plot will + appear scaled accordingly. + + \note If you are restricted to using a QPainter (instead of QCPPainter), create a temporary QPicture and open a QCPPainter + on it. Then call \ref toPainter with this QCPPainter. After ending the paint operation on the picture, draw it with + the QPainter. This will reproduce the painter actions the QCPPainter took, with a QPainter. + + \see toPixmap +*/ +void QCustomPlot::toPainter(QCPPainter *painter, int width, int height) +{ + // this method is somewhat similar to toPixmap. Change something here, and a change in toPixmap might be necessary, too. + int newWidth, newHeight; + if (width == 0 || height == 0) + { + newWidth = this->width(); + newHeight = this->height(); + } else + { + newWidth = width; + newHeight = height; + } + + if (painter->isActive()) + { + QRect oldViewport = viewport(); + setViewport(QRect(0, 0, newWidth, newHeight)); + painter->setMode(QCPPainter::pmNoCaching); + if (mBackgroundBrush.style() != Qt::NoBrush) // unlike in toPixmap, we can't do QPixmap::fill for Qt::SolidPattern brush style, so we also draw solid fills with fillRect here + painter->fillRect(mViewport, mBackgroundBrush); + draw(painter); + setViewport(oldViewport); + } else + qDebug() << Q_FUNC_INFO << "Passed painter is not active"; +} +/* end of 'src/core.cpp' */ + +//amalgamation: add plottable1d.cpp + +/* including file 'src/colorgradient.cpp', size 24646 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPColorGradient +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPColorGradient + \brief Defines a color gradient for use with e.g. \ref QCPColorMap + + This class describes a color gradient which can be used to encode data with color. For example, + QCPColorMap and QCPColorScale have \ref QCPColorMap::setGradient "setGradient" methods which + take an instance of this class. Colors are set with \ref setColorStopAt(double position, const QColor &color) + with a \a position from 0 to 1. In between these defined color positions, the + color will be interpolated linearly either in RGB or HSV space, see \ref setColorInterpolation. + + Alternatively, load one of the preset color gradients shown in the image below, with \ref + loadPreset, or by directly specifying the preset in the constructor. + + Apart from red, green and blue components, the gradient also interpolates the alpha values of the + configured color stops. This allows to display some portions of the data range as transparent in + the plot. + + \image html QCPColorGradient.png + + The \ref QCPColorGradient(GradientPreset preset) constructor allows directly converting a \ref + GradientPreset to a QCPColorGradient. This means that you can directly pass \ref GradientPreset + to all the \a setGradient methods, e.g.: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcolorgradient-setgradient + + The total number of levels used in the gradient can be set with \ref setLevelCount. Whether the + color gradient shall be applied periodically (wrapping around) to data values that lie outside + the data range specified on the plottable instance can be controlled with \ref setPeriodic. +*/ + +/*! + Constructs a new, empty QCPColorGradient with no predefined color stops. You can add own color + stops with \ref setColorStopAt. + + The color level count is initialized to 350. +*/ +QCPColorGradient::QCPColorGradient() : + mLevelCount(350), + mColorInterpolation(ciRGB), + mPeriodic(false), + mColorBufferInvalidated(true) +{ + mColorBuffer.fill(qRgb(0, 0, 0), mLevelCount); +} + +/*! + Constructs a new QCPColorGradient initialized with the colors and color interpolation according + to \a preset. + + The color level count is initialized to 350. +*/ +QCPColorGradient::QCPColorGradient(GradientPreset preset) : + mLevelCount(350), + mColorInterpolation(ciRGB), + mPeriodic(false), + mColorBufferInvalidated(true) +{ + mColorBuffer.fill(qRgb(0, 0, 0), mLevelCount); + loadPreset(preset); +} + +/* undocumented operator */ +bool QCPColorGradient::operator==(const QCPColorGradient &other) const +{ + return ((other.mLevelCount == this->mLevelCount) && + (other.mColorInterpolation == this->mColorInterpolation) && + (other.mPeriodic == this->mPeriodic) && + (other.mColorStops == this->mColorStops)); +} + +/*! + Sets the number of discretization levels of the color gradient to \a n. The default is 350 which + is typically enough to create a smooth appearance. The minimum number of levels is 2. + + \image html QCPColorGradient-levelcount.png +*/ +void QCPColorGradient::setLevelCount(int n) +{ + if (n < 2) + { + qDebug() << Q_FUNC_INFO << "n must be greater or equal 2 but was" << n; + n = 2; + } + if (n != mLevelCount) + { + mLevelCount = n; + mColorBufferInvalidated = true; + } +} + +/*! + Sets at which positions from 0 to 1 which color shall occur. The positions are the keys, the + colors are the values of the passed QMap \a colorStops. In between these color stops, the color + is interpolated according to \ref setColorInterpolation. + + A more convenient way to create a custom gradient may be to clear all color stops with \ref + clearColorStops (or creating a new, empty QCPColorGradient) and then adding them one by one with + \ref setColorStopAt. + + \see clearColorStops +*/ +void QCPColorGradient::setColorStops(const QMap<double, QColor> &colorStops) +{ + mColorStops = colorStops; + mColorBufferInvalidated = true; +} + +/*! + Sets the \a color the gradient will have at the specified \a position (from 0 to 1). In between + these color stops, the color is interpolated according to \ref setColorInterpolation. + + \see setColorStops, clearColorStops +*/ +void QCPColorGradient::setColorStopAt(double position, const QColor &color) +{ + mColorStops.insert(position, color); + mColorBufferInvalidated = true; +} + +/*! + Sets whether the colors in between the configured color stops (see \ref setColorStopAt) shall be + interpolated linearly in RGB or in HSV color space. + + For example, a sweep in RGB space from red to green will have a muddy brown intermediate color, + whereas in HSV space the intermediate color is yellow. +*/ +void QCPColorGradient::setColorInterpolation(QCPColorGradient::ColorInterpolation interpolation) +{ + if (interpolation != mColorInterpolation) + { + mColorInterpolation = interpolation; + mColorBufferInvalidated = true; + } +} + +/*! + Sets whether data points that are outside the configured data range (e.g. \ref + QCPColorMap::setDataRange) are colored by periodically repeating the color gradient or whether + they all have the same color, corresponding to the respective gradient boundary color. + + \image html QCPColorGradient-periodic.png + + As shown in the image above, gradients that have the same start and end color are especially + suitable for a periodic gradient mapping, since they produce smooth color transitions throughout + the color map. A preset that has this property is \ref gpHues. + + In practice, using periodic color gradients makes sense when the data corresponds to a periodic + dimension, such as an angle or a phase. If this is not the case, the color encoding might become + ambiguous, because multiple different data values are shown as the same color. +*/ +void QCPColorGradient::setPeriodic(bool enabled) +{ + mPeriodic = enabled; +} + +/*! \overload + + This method is used to quickly convert a \a data array to colors. The colors will be output in + the array \a scanLine. Both \a data and \a scanLine must have the length \a n when passed to this + function. The data range that shall be used for mapping the data value to the gradient is passed + in \a range. \a logarithmic indicates whether the data values shall be mapped to colors + logarithmically. + + if \a data actually contains 2D-data linearized via <tt>[row*columnCount + column]</tt>, you can + set \a dataIndexFactor to <tt>columnCount</tt> to convert a column instead of a row of the data + array, in \a scanLine. \a scanLine will remain a regular (1D) array. This works because \a data + is addressed <tt>data[i*dataIndexFactor]</tt>. + + Use the overloaded method to additionally provide alpha map data. + + The QRgb values that are placed in \a scanLine have their r, g and b components premultiplied + with alpha (see QImage::Format_ARGB32_Premultiplied). +*/ +void QCPColorGradient::colorize(const double *data, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor, bool logarithmic) +{ + // If you change something here, make sure to also adapt color() and the other colorize() overload + if (!data) + { + qDebug() << Q_FUNC_INFO << "null pointer given as data"; + return; + } + if (!scanLine) + { + qDebug() << Q_FUNC_INFO << "null pointer given as scanLine"; + return; + } + if (mColorBufferInvalidated) + updateColorBuffer(); + + if (!logarithmic) + { + const double posToIndexFactor = (mLevelCount-1)/range.size(); + if (mPeriodic) + { + for (int i=0; i<n; ++i) + { + int index = (int)((data[dataIndexFactor*i]-range.lower)*posToIndexFactor) % mLevelCount; + if (index < 0) + index += mLevelCount; + scanLine[i] = mColorBuffer.at(index); + } + } else + { + for (int i=0; i<n; ++i) + { + int index = (data[dataIndexFactor*i]-range.lower)*posToIndexFactor; + if (index < 0) + index = 0; + else if (index >= mLevelCount) + index = mLevelCount-1; + scanLine[i] = mColorBuffer.at(index); + } + } + } else // logarithmic == true + { + if (mPeriodic) + { + for (int i=0; i<n; ++i) + { + int index = (int)(qLn(data[dataIndexFactor*i]/range.lower)/qLn(range.upper/range.lower)*(mLevelCount-1)) % mLevelCount; + if (index < 0) + index += mLevelCount; + scanLine[i] = mColorBuffer.at(index); + } + } else + { + for (int i=0; i<n; ++i) + { + int index = qLn(data[dataIndexFactor*i]/range.lower)/qLn(range.upper/range.lower)*(mLevelCount-1); + if (index < 0) + index = 0; + else if (index >= mLevelCount) + index = mLevelCount-1; + scanLine[i] = mColorBuffer.at(index); + } + } + } +} + +/*! \overload + + Additionally to the other overload of \ref colorize, this method takes the array \a alpha, which + has the same size and structure as \a data and encodes the alpha information per data point. + + The QRgb values that are placed in \a scanLine have their r, g and b components premultiplied + with alpha (see QImage::Format_ARGB32_Premultiplied). +*/ +void QCPColorGradient::colorize(const double *data, const unsigned char *alpha, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor, bool logarithmic) +{ + // If you change something here, make sure to also adapt color() and the other colorize() overload + if (!data) + { + qDebug() << Q_FUNC_INFO << "null pointer given as data"; + return; + } + if (!alpha) + { + qDebug() << Q_FUNC_INFO << "null pointer given as alpha"; + return; + } + if (!scanLine) + { + qDebug() << Q_FUNC_INFO << "null pointer given as scanLine"; + return; + } + if (mColorBufferInvalidated) + updateColorBuffer(); + + if (!logarithmic) + { + const double posToIndexFactor = (mLevelCount-1)/range.size(); + if (mPeriodic) + { + for (int i=0; i<n; ++i) + { + int index = (int)((data[dataIndexFactor*i]-range.lower)*posToIndexFactor) % mLevelCount; + if (index < 0) + index += mLevelCount; + if (alpha[dataIndexFactor*i] == 255) + { + scanLine[i] = mColorBuffer.at(index); + } else + { + const QRgb rgb = mColorBuffer.at(index); + const float alphaF = alpha[dataIndexFactor*i]/255.0f; + scanLine[i] = qRgba(qRed(rgb)*alphaF, qGreen(rgb)*alphaF, qBlue(rgb)*alphaF, qAlpha(rgb)*alphaF); + } + } + } else + { + for (int i=0; i<n; ++i) + { + int index = (data[dataIndexFactor*i]-range.lower)*posToIndexFactor; + if (index < 0) + index = 0; + else if (index >= mLevelCount) + index = mLevelCount-1; + if (alpha[dataIndexFactor*i] == 255) + { + scanLine[i] = mColorBuffer.at(index); + } else + { + const QRgb rgb = mColorBuffer.at(index); + const float alphaF = alpha[dataIndexFactor*i]/255.0f; + scanLine[i] = qRgba(qRed(rgb)*alphaF, qGreen(rgb)*alphaF, qBlue(rgb)*alphaF, qAlpha(rgb)*alphaF); + } + } + } + } else // logarithmic == true + { + if (mPeriodic) + { + for (int i=0; i<n; ++i) + { + int index = (int)(qLn(data[dataIndexFactor*i]/range.lower)/qLn(range.upper/range.lower)*(mLevelCount-1)) % mLevelCount; + if (index < 0) + index += mLevelCount; + if (alpha[dataIndexFactor*i] == 255) + { + scanLine[i] = mColorBuffer.at(index); + } else + { + const QRgb rgb = mColorBuffer.at(index); + const float alphaF = alpha[dataIndexFactor*i]/255.0f; + scanLine[i] = qRgba(qRed(rgb)*alphaF, qGreen(rgb)*alphaF, qBlue(rgb)*alphaF, qAlpha(rgb)*alphaF); + } + } + } else + { + for (int i=0; i<n; ++i) + { + int index = qLn(data[dataIndexFactor*i]/range.lower)/qLn(range.upper/range.lower)*(mLevelCount-1); + if (index < 0) + index = 0; + else if (index >= mLevelCount) + index = mLevelCount-1; + if (alpha[dataIndexFactor*i] == 255) + { + scanLine[i] = mColorBuffer.at(index); + } else + { + const QRgb rgb = mColorBuffer.at(index); + const float alphaF = alpha[dataIndexFactor*i]/255.0f; + scanLine[i] = qRgba(qRed(rgb)*alphaF, qGreen(rgb)*alphaF, qBlue(rgb)*alphaF, qAlpha(rgb)*alphaF); + } + } + } + } +} + +/*! \internal + + This method is used to colorize a single data value given in \a position, to colors. The data + range that shall be used for mapping the data value to the gradient is passed in \a range. \a + logarithmic indicates whether the data value shall be mapped to a color logarithmically. + + If an entire array of data values shall be converted, rather use \ref colorize, for better + performance. + + The returned QRgb has its r, g and b components premultiplied with alpha (see + QImage::Format_ARGB32_Premultiplied). +*/ +QRgb QCPColorGradient::color(double position, const QCPRange &range, bool logarithmic) +{ + // If you change something here, make sure to also adapt ::colorize() + if (mColorBufferInvalidated) + updateColorBuffer(); + int index = 0; + if (!logarithmic) + index = (position-range.lower)*(mLevelCount-1)/range.size(); + else + index = qLn(position/range.lower)/qLn(range.upper/range.lower)*(mLevelCount-1); + if (mPeriodic) + { + index = index % mLevelCount; + if (index < 0) + index += mLevelCount; + } else + { + if (index < 0) + index = 0; + else if (index >= mLevelCount) + index = mLevelCount-1; + } + return mColorBuffer.at(index); +} + +/*! + Clears the current color stops and loads the specified \a preset. A preset consists of predefined + color stops and the corresponding color interpolation method. + + The available presets are: + \image html QCPColorGradient.png +*/ +void QCPColorGradient::loadPreset(GradientPreset preset) +{ + clearColorStops(); + switch (preset) + { + case gpGrayscale: + setColorInterpolation(ciRGB); + setColorStopAt(0, Qt::black); + setColorStopAt(1, Qt::white); + break; + case gpHot: + setColorInterpolation(ciRGB); + setColorStopAt(0, QColor(50, 0, 0)); + setColorStopAt(0.2, QColor(180, 10, 0)); + setColorStopAt(0.4, QColor(245, 50, 0)); + setColorStopAt(0.6, QColor(255, 150, 10)); + setColorStopAt(0.8, QColor(255, 255, 50)); + setColorStopAt(1, QColor(255, 255, 255)); + break; + case gpCold: + setColorInterpolation(ciRGB); + setColorStopAt(0, QColor(0, 0, 50)); + setColorStopAt(0.2, QColor(0, 10, 180)); + setColorStopAt(0.4, QColor(0, 50, 245)); + setColorStopAt(0.6, QColor(10, 150, 255)); + setColorStopAt(0.8, QColor(50, 255, 255)); + setColorStopAt(1, QColor(255, 255, 255)); + break; + case gpNight: + setColorInterpolation(ciHSV); + setColorStopAt(0, QColor(10, 20, 30)); + setColorStopAt(1, QColor(250, 255, 250)); + break; + case gpCandy: + setColorInterpolation(ciHSV); + setColorStopAt(0, QColor(0, 0, 255)); + setColorStopAt(1, QColor(255, 250, 250)); + break; + case gpGeography: + setColorInterpolation(ciRGB); + setColorStopAt(0, QColor(70, 170, 210)); + setColorStopAt(0.20, QColor(90, 160, 180)); + setColorStopAt(0.25, QColor(45, 130, 175)); + setColorStopAt(0.30, QColor(100, 140, 125)); + setColorStopAt(0.5, QColor(100, 140, 100)); + setColorStopAt(0.6, QColor(130, 145, 120)); + setColorStopAt(0.7, QColor(140, 130, 120)); + setColorStopAt(0.9, QColor(180, 190, 190)); + setColorStopAt(1, QColor(210, 210, 230)); + break; + case gpIon: + setColorInterpolation(ciHSV); + setColorStopAt(0, QColor(50, 10, 10)); + setColorStopAt(0.45, QColor(0, 0, 255)); + setColorStopAt(0.8, QColor(0, 255, 255)); + setColorStopAt(1, QColor(0, 255, 0)); + break; + case gpThermal: + setColorInterpolation(ciRGB); + setColorStopAt(0, QColor(0, 0, 50)); + setColorStopAt(0.15, QColor(20, 0, 120)); + setColorStopAt(0.33, QColor(200, 30, 140)); + setColorStopAt(0.6, QColor(255, 100, 0)); + setColorStopAt(0.85, QColor(255, 255, 40)); + setColorStopAt(1, QColor(255, 255, 255)); + break; + case gpPolar: + setColorInterpolation(ciRGB); + setColorStopAt(0, QColor(50, 255, 255)); + setColorStopAt(0.18, QColor(10, 70, 255)); + setColorStopAt(0.28, QColor(10, 10, 190)); + setColorStopAt(0.5, QColor(0, 0, 0)); + setColorStopAt(0.72, QColor(190, 10, 10)); + setColorStopAt(0.82, QColor(255, 70, 10)); + setColorStopAt(1, QColor(255, 255, 50)); + break; + case gpSpectrum: + setColorInterpolation(ciHSV); + setColorStopAt(0, QColor(50, 0, 50)); + setColorStopAt(0.15, QColor(0, 0, 255)); + setColorStopAt(0.35, QColor(0, 255, 255)); + setColorStopAt(0.6, QColor(255, 255, 0)); + setColorStopAt(0.75, QColor(255, 30, 0)); + setColorStopAt(1, QColor(50, 0, 0)); + break; + case gpJet: + setColorInterpolation(ciRGB); + setColorStopAt(0, QColor(0, 0, 100)); + setColorStopAt(0.15, QColor(0, 50, 255)); + setColorStopAt(0.35, QColor(0, 255, 255)); + setColorStopAt(0.65, QColor(255, 255, 0)); + setColorStopAt(0.85, QColor(255, 30, 0)); + setColorStopAt(1, QColor(100, 0, 0)); + break; + case gpHues: + setColorInterpolation(ciHSV); + setColorStopAt(0, QColor(255, 0, 0)); + setColorStopAt(1.0/3.0, QColor(0, 0, 255)); + setColorStopAt(2.0/3.0, QColor(0, 255, 0)); + setColorStopAt(1, QColor(255, 0, 0)); + break; + } +} + +/*! + Clears all color stops. + + \see setColorStops, setColorStopAt +*/ +void QCPColorGradient::clearColorStops() +{ + mColorStops.clear(); + mColorBufferInvalidated = true; +} + +/*! + Returns an inverted gradient. The inverted gradient has all properties as this \ref + QCPColorGradient, but the order of the color stops is inverted. + + \see setColorStops, setColorStopAt +*/ +QCPColorGradient QCPColorGradient::inverted() const +{ + QCPColorGradient result(*this); + result.clearColorStops(); + for (QMap<double, QColor>::const_iterator it=mColorStops.constBegin(); it!=mColorStops.constEnd(); ++it) + result.setColorStopAt(1.0-it.key(), it.value()); + return result; +} + +/*! \internal + + Returns true if the color gradient uses transparency, i.e. if any of the configured color stops + has an alpha value below 255. +*/ +bool QCPColorGradient::stopsUseAlpha() const +{ + for (QMap<double, QColor>::const_iterator it=mColorStops.constBegin(); it!=mColorStops.constEnd(); ++it) + { + if (it.value().alpha() < 255) + return true; + } + return false; +} + +/*! \internal + + Updates the internal color buffer which will be used by \ref colorize and \ref color, to quickly + convert positions to colors. This is where the interpolation between color stops is calculated. +*/ +void QCPColorGradient::updateColorBuffer() +{ + if (mColorBuffer.size() != mLevelCount) + mColorBuffer.resize(mLevelCount); + if (mColorStops.size() > 1) + { + double indexToPosFactor = 1.0/(double)(mLevelCount-1); + const bool useAlpha = stopsUseAlpha(); + for (int i=0; i<mLevelCount; ++i) + { + double position = i*indexToPosFactor; + QMap<double, QColor>::const_iterator it = mColorStops.lowerBound(position); + if (it == mColorStops.constEnd()) // position is on or after last stop, use color of last stop + { + mColorBuffer[i] = (it-1).value().rgba(); + } else if (it == mColorStops.constBegin()) // position is on or before first stop, use color of first stop + { + mColorBuffer[i] = it.value().rgba(); + } else // position is in between stops (or on an intermediate stop), interpolate color + { + QMap<double, QColor>::const_iterator high = it; + QMap<double, QColor>::const_iterator low = it-1; + double t = (position-low.key())/(high.key()-low.key()); // interpolation factor 0..1 + switch (mColorInterpolation) + { + case ciRGB: + { + if (useAlpha) + { + const int alpha = (1-t)*low.value().alpha() + t*high.value().alpha(); + const float alphaPremultiplier = alpha/255.0f; // since we use QImage::Format_ARGB32_Premultiplied + mColorBuffer[i] = qRgba(((1-t)*low.value().red() + t*high.value().red())*alphaPremultiplier, + ((1-t)*low.value().green() + t*high.value().green())*alphaPremultiplier, + ((1-t)*low.value().blue() + t*high.value().blue())*alphaPremultiplier, + alpha); + } else + { + mColorBuffer[i] = qRgb(((1-t)*low.value().red() + t*high.value().red()), + ((1-t)*low.value().green() + t*high.value().green()), + ((1-t)*low.value().blue() + t*high.value().blue())); + } + break; + } + case ciHSV: + { + QColor lowHsv = low.value().toHsv(); + QColor highHsv = high.value().toHsv(); + double hue = 0; + double hueDiff = highHsv.hueF()-lowHsv.hueF(); + if (hueDiff > 0.5) + hue = lowHsv.hueF() - t*(1.0-hueDiff); + else if (hueDiff < -0.5) + hue = lowHsv.hueF() + t*(1.0+hueDiff); + else + hue = lowHsv.hueF() + t*hueDiff; + if (hue < 0) hue += 1.0; + else if (hue >= 1.0) hue -= 1.0; + if (useAlpha) + { + const QRgb rgb = QColor::fromHsvF(hue, + (1-t)*lowHsv.saturationF() + t*highHsv.saturationF(), + (1-t)*lowHsv.valueF() + t*highHsv.valueF()).rgb(); + const float alpha = (1-t)*lowHsv.alphaF() + t*highHsv.alphaF(); + mColorBuffer[i] = qRgba(qRed(rgb)*alpha, qGreen(rgb)*alpha, qBlue(rgb)*alpha, 255*alpha); + } + else + { + mColorBuffer[i] = QColor::fromHsvF(hue, + (1-t)*lowHsv.saturationF() + t*highHsv.saturationF(), + (1-t)*lowHsv.valueF() + t*highHsv.valueF()).rgb(); + } + break; + } + } + } + } + } else if (mColorStops.size() == 1) + { + const QRgb rgb = mColorStops.constBegin().value().rgb(); + const float alpha = mColorStops.constBegin().value().alphaF(); + mColorBuffer.fill(qRgba(qRed(rgb)*alpha, qGreen(rgb)*alpha, qBlue(rgb)*alpha, 255*alpha)); + } else // mColorStops is empty, fill color buffer with black + { + mColorBuffer.fill(qRgb(0, 0, 0)); + } + mColorBufferInvalidated = false; +} +/* end of 'src/colorgradient.cpp' */ + + +/* including file 'src/selectiondecorator-bracket.cpp', size 12313 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPSelectionDecoratorBracket +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPSelectionDecoratorBracket + \brief A selection decorator which draws brackets around each selected data segment + + Additionally to the regular highlighting of selected segments via color, fill and scatter style, + this \ref QCPSelectionDecorator subclass draws markers at the begin and end of each selected data + segment of the plottable. + + The shape of the markers can be controlled with \ref setBracketStyle, \ref setBracketWidth and + \ref setBracketHeight. The color/fill can be controlled with \ref setBracketPen and \ref + setBracketBrush. + + To introduce custom bracket styles, it is only necessary to sublcass \ref + QCPSelectionDecoratorBracket and reimplement \ref drawBracket. The rest will be managed by the + base class. +*/ + +/*! + Creates a new QCPSelectionDecoratorBracket instance with default values. +*/ +QCPSelectionDecoratorBracket::QCPSelectionDecoratorBracket() : + mBracketPen(QPen(Qt::black)), + mBracketBrush(Qt::NoBrush), + mBracketWidth(5), + mBracketHeight(50), + mBracketStyle(bsSquareBracket), + mTangentToData(false), + mTangentAverage(2) +{ + +} + +QCPSelectionDecoratorBracket::~QCPSelectionDecoratorBracket() +{ +} + +/*! + Sets the pen that will be used to draw the brackets at the beginning and end of each selected + data segment. +*/ +void QCPSelectionDecoratorBracket::setBracketPen(const QPen &pen) +{ + mBracketPen = pen; +} + +/*! + Sets the brush that will be used to draw the brackets at the beginning and end of each selected + data segment. +*/ +void QCPSelectionDecoratorBracket::setBracketBrush(const QBrush &brush) +{ + mBracketBrush = brush; +} + +/*! + Sets the width of the drawn bracket. The width dimension is always parallel to the key axis of + the data, or the tangent direction of the current data slope, if \ref setTangentToData is + enabled. +*/ +void QCPSelectionDecoratorBracket::setBracketWidth(int width) +{ + mBracketWidth = width; +} + +/*! + Sets the height of the drawn bracket. The height dimension is always perpendicular to the key axis + of the data, or the tangent direction of the current data slope, if \ref setTangentToData is + enabled. +*/ +void QCPSelectionDecoratorBracket::setBracketHeight(int height) +{ + mBracketHeight = height; +} + +/*! + Sets the shape that the bracket/marker will have. + + \see setBracketWidth, setBracketHeight +*/ +void QCPSelectionDecoratorBracket::setBracketStyle(QCPSelectionDecoratorBracket::BracketStyle style) +{ + mBracketStyle = style; +} + +/*! + Sets whether the brackets will be rotated such that they align with the slope of the data at the + position that they appear in. + + For noisy data, it might be more visually appealing to average the slope over multiple data + points. This can be configured via \ref setTangentAverage. +*/ +void QCPSelectionDecoratorBracket::setTangentToData(bool enabled) +{ + mTangentToData = enabled; +} + +/*! + Controls over how many data points the slope shall be averaged, when brackets shall be aligned + with the data (if \ref setTangentToData is true). + + From the position of the bracket, \a pointCount points towards the selected data range will be + taken into account. The smallest value of \a pointCount is 1, which is effectively equivalent to + disabling \ref setTangentToData. +*/ +void QCPSelectionDecoratorBracket::setTangentAverage(int pointCount) +{ + mTangentAverage = pointCount; + if (mTangentAverage < 1) + mTangentAverage = 1; +} + +/*! + Draws the bracket shape with \a painter. The parameter \a direction is either -1 or 1 and + indicates whether the bracket shall point to the left or the right (i.e. is a closing or opening + bracket, respectively). + + The passed \a painter already contains all transformations that are necessary to position and + rotate the bracket appropriately. Painting operations can be performed as if drawing upright + brackets on flat data with horizontal key axis, with (0, 0) being the center of the bracket. + + If you wish to sublcass \ref QCPSelectionDecoratorBracket in order to provide custom bracket + shapes (see \ref QCPSelectionDecoratorBracket::bsUserStyle), this is the method you should + reimplement. +*/ +void QCPSelectionDecoratorBracket::drawBracket(QCPPainter *painter, int direction) const +{ + switch (mBracketStyle) + { + case bsSquareBracket: + { + painter->drawLine(QLineF(mBracketWidth*direction, -mBracketHeight*0.5, 0, -mBracketHeight*0.5)); + painter->drawLine(QLineF(mBracketWidth*direction, mBracketHeight*0.5, 0, mBracketHeight*0.5)); + painter->drawLine(QLineF(0, -mBracketHeight*0.5, 0, mBracketHeight*0.5)); + break; + } + case bsHalfEllipse: + { + painter->drawArc(-mBracketWidth*0.5, -mBracketHeight*0.5, mBracketWidth, mBracketHeight, -90*16, -180*16*direction); + break; + } + case bsEllipse: + { + painter->drawEllipse(-mBracketWidth*0.5, -mBracketHeight*0.5, mBracketWidth, mBracketHeight); + break; + } + case bsPlus: + { + painter->drawLine(QLineF(0, -mBracketHeight*0.5, 0, mBracketHeight*0.5)); + painter->drawLine(QLineF(-mBracketWidth*0.5, 0, mBracketWidth*0.5, 0)); + break; + } + default: + { + qDebug() << Q_FUNC_INFO << "unknown/custom bracket style can't be handeld by default implementation:" << static_cast<int>(mBracketStyle); + break; + } + } +} + +/*! + Draws the bracket decoration on the data points at the begin and end of each selected data + segment given in \a seletion. + + It uses the method \ref drawBracket to actually draw the shapes. + + \seebaseclassmethod +*/ +void QCPSelectionDecoratorBracket::drawDecoration(QCPPainter *painter, QCPDataSelection selection) +{ + if (!mPlottable || selection.isEmpty()) return; + + if (QCPPlottableInterface1D *interface1d = mPlottable->interface1D()) + { + foreach (const QCPDataRange &dataRange, selection.dataRanges()) + { + // determine position and (if tangent mode is enabled) angle of brackets: + int openBracketDir = (mPlottable->keyAxis() && !mPlottable->keyAxis()->rangeReversed()) ? 1 : -1; + int closeBracketDir = -openBracketDir; + QPointF openBracketPos = getPixelCoordinates(interface1d, dataRange.begin()); + QPointF closeBracketPos = getPixelCoordinates(interface1d, dataRange.end()-1); + double openBracketAngle = 0; + double closeBracketAngle = 0; + if (mTangentToData) + { + openBracketAngle = getTangentAngle(interface1d, dataRange.begin(), openBracketDir); + closeBracketAngle = getTangentAngle(interface1d, dataRange.end()-1, closeBracketDir); + } + // draw opening bracket: + QTransform oldTransform = painter->transform(); + painter->setPen(mBracketPen); + painter->setBrush(mBracketBrush); + painter->translate(openBracketPos); + painter->rotate(openBracketAngle/M_PI*180.0); + drawBracket(painter, openBracketDir); + painter->setTransform(oldTransform); + // draw closing bracket: + painter->setPen(mBracketPen); + painter->setBrush(mBracketBrush); + painter->translate(closeBracketPos); + painter->rotate(closeBracketAngle/M_PI*180.0); + drawBracket(painter, closeBracketDir); + painter->setTransform(oldTransform); + } + } +} + +/*! \internal + + If \ref setTangentToData is enabled, brackets need to be rotated according to the data slope. + This method returns the angle in radians by which a bracket at the given \a dataIndex must be + rotated. + + The parameter \a direction must be set to either -1 or 1, representing whether it is an opening + or closing bracket. Since for slope calculation multiple data points are required, this defines + the direction in which the algorithm walks, starting at \a dataIndex, to average those data + points. (see \ref setTangentToData and \ref setTangentAverage) + + \a interface1d is the interface to the plottable's data which is used to query data coordinates. +*/ +double QCPSelectionDecoratorBracket::getTangentAngle(const QCPPlottableInterface1D *interface1d, int dataIndex, int direction) const +{ + if (!interface1d || dataIndex < 0 || dataIndex >= interface1d->dataCount()) + return 0; + direction = direction < 0 ? -1 : 1; // enforce direction is either -1 or 1 + + // how many steps we can actually go from index in the given direction without exceeding data bounds: + int averageCount; + if (direction < 0) + averageCount = qMin(mTangentAverage, dataIndex); + else + averageCount = qMin(mTangentAverage, interface1d->dataCount()-1-dataIndex); + qDebug() << averageCount; + // calculate point average of averageCount points: + QVector<QPointF> points(averageCount); + QPointF pointsAverage; + int currentIndex = dataIndex; + for (int i=0; i<averageCount; ++i) + { + points[i] = getPixelCoordinates(interface1d, currentIndex); + pointsAverage += points[i]; + currentIndex += direction; + } + pointsAverage /= (double)averageCount; + + // calculate slope of linear regression through points: + double numSum = 0; + double denomSum = 0; + for (int i=0; i<averageCount; ++i) + { + const double dx = points.at(i).x()-pointsAverage.x(); + const double dy = points.at(i).y()-pointsAverage.y(); + numSum += dx*dy; + denomSum += dx*dx; + } + if (!qFuzzyIsNull(denomSum) && !qFuzzyIsNull(numSum)) + { + return qAtan2(numSum, denomSum); + } else // undetermined angle, probably mTangentAverage == 1, so using only one data point + return 0; +} + +/*! \internal + + Returns the pixel coordinates of the data point at \a dataIndex, using \a interface1d to access + the data points. +*/ +QPointF QCPSelectionDecoratorBracket::getPixelCoordinates(const QCPPlottableInterface1D *interface1d, int dataIndex) const +{ + QCPAxis *keyAxis = mPlottable->keyAxis(); + QCPAxis *valueAxis = mPlottable->valueAxis(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(0, 0); } + + if (keyAxis->orientation() == Qt::Horizontal) + return QPointF(keyAxis->coordToPixel(interface1d->dataMainKey(dataIndex)), valueAxis->coordToPixel(interface1d->dataMainValue(dataIndex))); + else + return QPointF(valueAxis->coordToPixel(interface1d->dataMainValue(dataIndex)), keyAxis->coordToPixel(interface1d->dataMainKey(dataIndex))); +} +/* end of 'src/selectiondecorator-bracket.cpp' */ + + +/* including file 'src/layoutelements/layoutelement-axisrect.cpp', size 47584 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAxisRect +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAxisRect + \brief Holds multiple axes and arranges them in a rectangular shape. + + This class represents an axis rect, a rectangular area that is bounded on all sides with an + arbitrary number of axes. + + Initially QCustomPlot has one axis rect, accessible via QCustomPlot::axisRect(). However, the + layout system allows to have multiple axis rects, e.g. arranged in a grid layout + (QCustomPlot::plotLayout). + + By default, QCPAxisRect comes with four axes, at bottom, top, left and right. They can be + accessed via \ref axis by providing the respective axis type (\ref QCPAxis::AxisType) and index. + If you need all axes in the axis rect, use \ref axes. The top and right axes are set to be + invisible initially (QCPAxis::setVisible). To add more axes to a side, use \ref addAxis or \ref + addAxes. To remove an axis, use \ref removeAxis. + + The axis rect layerable itself only draws a background pixmap or color, if specified (\ref + setBackground). It is placed on the "background" layer initially (see \ref QCPLayer for an + explanation of the QCustomPlot layer system). The axes that are held by the axis rect can be + placed on other layers, independently of the axis rect. + + Every axis rect has a child layout of type \ref QCPLayoutInset. It is accessible via \ref + insetLayout and can be used to have other layout elements (or even other layouts with multiple + elements) hovering inside the axis rect. + + If an axis rect is clicked and dragged, it processes this by moving certain axis ranges. The + behaviour can be controlled with \ref setRangeDrag and \ref setRangeDragAxes. If the mouse wheel + is scrolled while the cursor is on the axis rect, certain axes are scaled. This is controllable + via \ref setRangeZoom, \ref setRangeZoomAxes and \ref setRangeZoomFactor. These interactions are + only enabled if \ref QCustomPlot::setInteractions contains \ref QCP::iRangeDrag and \ref + QCP::iRangeZoom. + + \image html AxisRectSpacingOverview.png + <center>Overview of the spacings and paddings that define the geometry of an axis. The dashed + line on the far left indicates the viewport/widget border.</center> +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPLayoutInset *QCPAxisRect::insetLayout() const + + Returns the inset layout of this axis rect. It can be used to place other layout elements (or + even layouts with multiple other elements) inside/on top of an axis rect. + + \see QCPLayoutInset +*/ + +/*! \fn int QCPAxisRect::left() const + + Returns the pixel position of the left border of this axis rect. Margins are not taken into + account here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn int QCPAxisRect::right() const + + Returns the pixel position of the right border of this axis rect. Margins are not taken into + account here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn int QCPAxisRect::top() const + + Returns the pixel position of the top border of this axis rect. Margins are not taken into + account here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn int QCPAxisRect::bottom() const + + Returns the pixel position of the bottom border of this axis rect. Margins are not taken into + account here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn int QCPAxisRect::width() const + + Returns the pixel width of this axis rect. Margins are not taken into account here, so the + returned value is with respect to the inner \ref rect. +*/ + +/*! \fn int QCPAxisRect::height() const + + Returns the pixel height of this axis rect. Margins are not taken into account here, so the + returned value is with respect to the inner \ref rect. +*/ + +/*! \fn QSize QCPAxisRect::size() const + + Returns the pixel size of this axis rect. Margins are not taken into account here, so the + returned value is with respect to the inner \ref rect. +*/ + +/*! \fn QPoint QCPAxisRect::topLeft() const + + Returns the top left corner of this axis rect in pixels. Margins are not taken into account here, + so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn QPoint QCPAxisRect::topRight() const + + Returns the top right corner of this axis rect in pixels. Margins are not taken into account + here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn QPoint QCPAxisRect::bottomLeft() const + + Returns the bottom left corner of this axis rect in pixels. Margins are not taken into account + here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn QPoint QCPAxisRect::bottomRight() const + + Returns the bottom right corner of this axis rect in pixels. Margins are not taken into account + here, so the returned value is with respect to the inner \ref rect. +*/ + +/*! \fn QPoint QCPAxisRect::center() const + + Returns the center of this axis rect in pixels. Margins are not taken into account here, so the + returned value is with respect to the inner \ref rect. +*/ + +/* end documentation of inline functions */ + +/*! + Creates a QCPAxisRect instance and sets default values. An axis is added for each of the four + sides, the top and right axes are set invisible initially. +*/ +QCPAxisRect::QCPAxisRect(QCustomPlot *parentPlot, bool setupDefaultAxes) : + QCPLayoutElement(parentPlot), + mBackgroundBrush(Qt::NoBrush), + mBackgroundScaled(true), + mBackgroundScaledMode(Qt::KeepAspectRatioByExpanding), + mInsetLayout(new QCPLayoutInset), + mRangeDrag(Qt::Horizontal|Qt::Vertical), + mRangeZoom(Qt::Horizontal|Qt::Vertical), + mRangeZoomFactorHorz(0.85), + mRangeZoomFactorVert(0.85), + mDragging(false) +{ + mInsetLayout->initializeParentPlot(mParentPlot); + mInsetLayout->setParentLayerable(this); + mInsetLayout->setParent(this); + + setMinimumSize(50, 50); + setMinimumMargins(QMargins(15, 15, 15, 15)); + mAxes.insert(QCPAxis::atLeft, QList<QCPAxis*>()); + mAxes.insert(QCPAxis::atRight, QList<QCPAxis*>()); + mAxes.insert(QCPAxis::atTop, QList<QCPAxis*>()); + mAxes.insert(QCPAxis::atBottom, QList<QCPAxis*>()); + + if (setupDefaultAxes) + { + QCPAxis *xAxis = addAxis(QCPAxis::atBottom); + QCPAxis *yAxis = addAxis(QCPAxis::atLeft); + QCPAxis *xAxis2 = addAxis(QCPAxis::atTop); + QCPAxis *yAxis2 = addAxis(QCPAxis::atRight); + setRangeDragAxes(xAxis, yAxis); + setRangeZoomAxes(xAxis, yAxis); + xAxis2->setVisible(false); + yAxis2->setVisible(false); + xAxis->grid()->setVisible(true); + yAxis->grid()->setVisible(true); + xAxis2->grid()->setVisible(false); + yAxis2->grid()->setVisible(false); + xAxis2->grid()->setZeroLinePen(Qt::NoPen); + yAxis2->grid()->setZeroLinePen(Qt::NoPen); + xAxis2->grid()->setVisible(false); + yAxis2->grid()->setVisible(false); + } +} + +QCPAxisRect::~QCPAxisRect() +{ + delete mInsetLayout; + mInsetLayout = 0; + + QList<QCPAxis*> axesList = axes(); + for (int i=0; i<axesList.size(); ++i) + removeAxis(axesList.at(i)); +} + +/*! + Returns the number of axes on the axis rect side specified with \a type. + + \see axis +*/ +int QCPAxisRect::axisCount(QCPAxis::AxisType type) const +{ + return mAxes.value(type).size(); +} + +/*! + Returns the axis with the given \a index on the axis rect side specified with \a type. + + \see axisCount, axes +*/ +QCPAxis *QCPAxisRect::axis(QCPAxis::AxisType type, int index) const +{ + QList<QCPAxis*> ax(mAxes.value(type)); + if (index >= 0 && index < ax.size()) + { + return ax.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "Axis index out of bounds:" << index; + return 0; + } +} + +/*! + Returns all axes on the axis rect sides specified with \a types. + + \a types may be a single \ref QCPAxis::AxisType or an <tt>or</tt>-combination, to get the axes of + multiple sides. + + \see axis +*/ +QList<QCPAxis*> QCPAxisRect::axes(QCPAxis::AxisTypes types) const +{ + QList<QCPAxis*> result; + if (types.testFlag(QCPAxis::atLeft)) + result << mAxes.value(QCPAxis::atLeft); + if (types.testFlag(QCPAxis::atRight)) + result << mAxes.value(QCPAxis::atRight); + if (types.testFlag(QCPAxis::atTop)) + result << mAxes.value(QCPAxis::atTop); + if (types.testFlag(QCPAxis::atBottom)) + result << mAxes.value(QCPAxis::atBottom); + return result; +} + +/*! \overload + + Returns all axes of this axis rect. +*/ +QList<QCPAxis*> QCPAxisRect::axes() const +{ + QList<QCPAxis*> result; + QHashIterator<QCPAxis::AxisType, QList<QCPAxis*> > it(mAxes); + while (it.hasNext()) + { + it.next(); + result << it.value(); + } + return result; +} + +/*! + Adds a new axis to the axis rect side specified with \a type, and returns it. If \a axis is 0, a + new QCPAxis instance is created internally. QCustomPlot owns the returned axis, so if you want to + remove an axis, use \ref removeAxis instead of deleting it manually. + + You may inject QCPAxis instances (or subclasses of QCPAxis) by setting \a axis to an axis that was + previously created outside QCustomPlot. It is important to note that QCustomPlot takes ownership + of the axis, so you may not delete it afterwards. Further, the \a axis must have been created + with this axis rect as parent and with the same axis type as specified in \a type. If this is not + the case, a debug output is generated, the axis is not added, and the method returns 0. + + This method can not be used to move \a axis between axis rects. The same \a axis instance must + not be added multiple times to the same or different axis rects. + + If an axis rect side already contains one or more axes, the lower and upper endings of the new + axis (\ref QCPAxis::setLowerEnding, \ref QCPAxis::setUpperEnding) are set to \ref + QCPLineEnding::esHalfBar. + + \see addAxes, setupFullAxesBox +*/ +QCPAxis *QCPAxisRect::addAxis(QCPAxis::AxisType type, QCPAxis *axis) +{ + QCPAxis *newAxis = axis; + if (!newAxis) + { + newAxis = new QCPAxis(this, type); + } else // user provided existing axis instance, do some sanity checks + { + if (newAxis->axisType() != type) + { + qDebug() << Q_FUNC_INFO << "passed axis has different axis type than specified in type parameter"; + return 0; + } + if (newAxis->axisRect() != this) + { + qDebug() << Q_FUNC_INFO << "passed axis doesn't have this axis rect as parent axis rect"; + return 0; + } + if (axes().contains(newAxis)) + { + qDebug() << Q_FUNC_INFO << "passed axis is already owned by this axis rect"; + return 0; + } + } + if (mAxes[type].size() > 0) // multiple axes on one side, add half-bar axis ending to additional axes with offset + { + bool invert = (type == QCPAxis::atRight) || (type == QCPAxis::atBottom); + newAxis->setLowerEnding(QCPLineEnding(QCPLineEnding::esHalfBar, 6, 10, !invert)); + newAxis->setUpperEnding(QCPLineEnding(QCPLineEnding::esHalfBar, 6, 10, invert)); + } + mAxes[type].append(newAxis); + + // reset convenience axis pointers on parent QCustomPlot if they are unset: + if (mParentPlot && mParentPlot->axisRectCount() > 0 && mParentPlot->axisRect(0) == this) + { + switch (type) + { + case QCPAxis::atBottom: { if (!mParentPlot->xAxis) mParentPlot->xAxis = newAxis; break; } + case QCPAxis::atLeft: { if (!mParentPlot->yAxis) mParentPlot->yAxis = newAxis; break; } + case QCPAxis::atTop: { if (!mParentPlot->xAxis2) mParentPlot->xAxis2 = newAxis; break; } + case QCPAxis::atRight: { if (!mParentPlot->yAxis2) mParentPlot->yAxis2 = newAxis; break; } + } + } + + return newAxis; +} + +/*! + Adds a new axis with \ref addAxis to each axis rect side specified in \a types. This may be an + <tt>or</tt>-combination of QCPAxis::AxisType, so axes can be added to multiple sides at once. + + Returns a list of the added axes. + + \see addAxis, setupFullAxesBox +*/ +QList<QCPAxis*> QCPAxisRect::addAxes(QCPAxis::AxisTypes types) +{ + QList<QCPAxis*> result; + if (types.testFlag(QCPAxis::atLeft)) + result << addAxis(QCPAxis::atLeft); + if (types.testFlag(QCPAxis::atRight)) + result << addAxis(QCPAxis::atRight); + if (types.testFlag(QCPAxis::atTop)) + result << addAxis(QCPAxis::atTop); + if (types.testFlag(QCPAxis::atBottom)) + result << addAxis(QCPAxis::atBottom); + return result; +} + +/*! + Removes the specified \a axis from the axis rect and deletes it. + + Returns true on success, i.e. if \a axis was a valid axis in this axis rect. + + \see addAxis +*/ +bool QCPAxisRect::removeAxis(QCPAxis *axis) +{ + // don't access axis->axisType() to provide safety when axis is an invalid pointer, rather go through all axis containers: + QHashIterator<QCPAxis::AxisType, QList<QCPAxis*> > it(mAxes); + while (it.hasNext()) + { + it.next(); + if (it.value().contains(axis)) + { + if (it.value().first() == axis && it.value().size() > 1) // if removing first axis, transfer axis offset to the new first axis (which at this point is the second axis, if it exists) + it.value()[1]->setOffset(axis->offset()); + mAxes[it.key()].removeOne(axis); + if (qobject_cast<QCustomPlot*>(parentPlot())) // make sure this isn't called from QObject dtor when QCustomPlot is already destructed (happens when the axis rect is not in any layout and thus QObject-child of QCustomPlot) + parentPlot()->axisRemoved(axis); + delete axis; + return true; + } + } + qDebug() << Q_FUNC_INFO << "Axis isn't in axis rect:" << reinterpret_cast<quintptr>(axis); + return false; +} + +/*! + Zooms in (or out) to the passed rectangular region \a pixelRect, given in pixel coordinates. + + All axes of this axis rect will have their range zoomed accordingly. If you only wish to zoom + specific axes, use the overloaded version of this method. + + \see QCustomPlot::setSelectionRectMode +*/ +void QCPAxisRect::zoom(const QRectF &pixelRect) +{ + zoom(pixelRect, axes()); +} + +/*! \overload + + Zooms in (or out) to the passed rectangular region \a pixelRect, given in pixel coordinates. + + Only the axes passed in \a affectedAxes will have their ranges zoomed accordingly. + + \see QCustomPlot::setSelectionRectMode +*/ +void QCPAxisRect::zoom(const QRectF &pixelRect, const QList<QCPAxis*> &affectedAxes) +{ + foreach (QCPAxis *axis, affectedAxes) + { + if (!axis) + { + qDebug() << Q_FUNC_INFO << "a passed axis was zero"; + continue; + } + QCPRange pixelRange; + if (axis->orientation() == Qt::Horizontal) + pixelRange = QCPRange(pixelRect.left(), pixelRect.right()); + else + pixelRange = QCPRange(pixelRect.top(), pixelRect.bottom()); + axis->setRange(axis->pixelToCoord(pixelRange.lower), axis->pixelToCoord(pixelRange.upper)); + } +} + +/*! + Convenience function to create an axis on each side that doesn't have any axes yet and set their + visibility to true. Further, the top/right axes are assigned the following properties of the + bottom/left axes: + + \li range (\ref QCPAxis::setRange) + \li range reversed (\ref QCPAxis::setRangeReversed) + \li scale type (\ref QCPAxis::setScaleType) + \li tick visibility (\ref QCPAxis::setTicks) + \li number format (\ref QCPAxis::setNumberFormat) + \li number precision (\ref QCPAxis::setNumberPrecision) + \li tick count of ticker (\ref QCPAxisTicker::setTickCount) + \li tick origin of ticker (\ref QCPAxisTicker::setTickOrigin) + + Tick label visibility (\ref QCPAxis::setTickLabels) of the right and top axes are set to false. + + If \a connectRanges is true, the \ref QCPAxis::rangeChanged "rangeChanged" signals of the bottom + and left axes are connected to the \ref QCPAxis::setRange slots of the top and right axes. +*/ +void QCPAxisRect::setupFullAxesBox(bool connectRanges) +{ + QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2; + if (axisCount(QCPAxis::atBottom) == 0) + xAxis = addAxis(QCPAxis::atBottom); + else + xAxis = axis(QCPAxis::atBottom); + + if (axisCount(QCPAxis::atLeft) == 0) + yAxis = addAxis(QCPAxis::atLeft); + else + yAxis = axis(QCPAxis::atLeft); + + if (axisCount(QCPAxis::atTop) == 0) + xAxis2 = addAxis(QCPAxis::atTop); + else + xAxis2 = axis(QCPAxis::atTop); + + if (axisCount(QCPAxis::atRight) == 0) + yAxis2 = addAxis(QCPAxis::atRight); + else + yAxis2 = axis(QCPAxis::atRight); + + xAxis->setVisible(true); + yAxis->setVisible(true); + xAxis2->setVisible(true); + yAxis2->setVisible(true); + xAxis2->setTickLabels(false); + yAxis2->setTickLabels(false); + + xAxis2->setRange(xAxis->range()); + xAxis2->setRangeReversed(xAxis->rangeReversed()); + xAxis2->setScaleType(xAxis->scaleType()); + xAxis2->setTicks(xAxis->ticks()); + xAxis2->setNumberFormat(xAxis->numberFormat()); + xAxis2->setNumberPrecision(xAxis->numberPrecision()); + xAxis2->ticker()->setTickCount(xAxis->ticker()->tickCount()); + xAxis2->ticker()->setTickOrigin(xAxis->ticker()->tickOrigin()); + + yAxis2->setRange(yAxis->range()); + yAxis2->setRangeReversed(yAxis->rangeReversed()); + yAxis2->setScaleType(yAxis->scaleType()); + yAxis2->setTicks(yAxis->ticks()); + yAxis2->setNumberFormat(yAxis->numberFormat()); + yAxis2->setNumberPrecision(yAxis->numberPrecision()); + yAxis2->ticker()->setTickCount(yAxis->ticker()->tickCount()); + yAxis2->ticker()->setTickOrigin(yAxis->ticker()->tickOrigin()); + + if (connectRanges) + { + connect(xAxis, SIGNAL(rangeChanged(QCPRange)), xAxis2, SLOT(setRange(QCPRange))); + connect(yAxis, SIGNAL(rangeChanged(QCPRange)), yAxis2, SLOT(setRange(QCPRange))); + } +} + +/*! + Returns a list of all the plottables that are associated with this axis rect. + + A plottable is considered associated with an axis rect if its key or value axis (or both) is in + this axis rect. + + \see graphs, items +*/ +QList<QCPAbstractPlottable*> QCPAxisRect::plottables() const +{ + // Note: don't append all QCPAxis::plottables() into a list, because we might get duplicate entries + QList<QCPAbstractPlottable*> result; + for (int i=0; i<mParentPlot->mPlottables.size(); ++i) + { + if (mParentPlot->mPlottables.at(i)->keyAxis()->axisRect() == this || mParentPlot->mPlottables.at(i)->valueAxis()->axisRect() == this) + result.append(mParentPlot->mPlottables.at(i)); + } + return result; +} + +/*! + Returns a list of all the graphs that are associated with this axis rect. + + A graph is considered associated with an axis rect if its key or value axis (or both) is in + this axis rect. + + \see plottables, items +*/ +QList<QCPGraph*> QCPAxisRect::graphs() const +{ + // Note: don't append all QCPAxis::graphs() into a list, because we might get duplicate entries + QList<QCPGraph*> result; + for (int i=0; i<mParentPlot->mGraphs.size(); ++i) + { + if (mParentPlot->mGraphs.at(i)->keyAxis()->axisRect() == this || mParentPlot->mGraphs.at(i)->valueAxis()->axisRect() == this) + result.append(mParentPlot->mGraphs.at(i)); + } + return result; +} + +/*! + Returns a list of all the items that are associated with this axis rect. + + An item is considered associated with an axis rect if any of its positions has key or value axis + set to an axis that is in this axis rect, or if any of its positions has \ref + QCPItemPosition::setAxisRect set to the axis rect, or if the clip axis rect (\ref + QCPAbstractItem::setClipAxisRect) is set to this axis rect. + + \see plottables, graphs +*/ +QList<QCPAbstractItem *> QCPAxisRect::items() const +{ + // Note: don't just append all QCPAxis::items() into a list, because we might get duplicate entries + // and miss those items that have this axis rect as clipAxisRect. + QList<QCPAbstractItem*> result; + for (int itemId=0; itemId<mParentPlot->mItems.size(); ++itemId) + { + if (mParentPlot->mItems.at(itemId)->clipAxisRect() == this) + { + result.append(mParentPlot->mItems.at(itemId)); + continue; + } + QList<QCPItemPosition*> positions = mParentPlot->mItems.at(itemId)->positions(); + for (int posId=0; posId<positions.size(); ++posId) + { + if (positions.at(posId)->axisRect() == this || + positions.at(posId)->keyAxis()->axisRect() == this || + positions.at(posId)->valueAxis()->axisRect() == this) + { + result.append(mParentPlot->mItems.at(itemId)); + break; + } + } + } + return result; +} + +/*! + This method is called automatically upon replot and doesn't need to be called by users of + QCPAxisRect. + + Calls the base class implementation to update the margins (see \ref QCPLayoutElement::update), + and finally passes the \ref rect to the inset layout (\ref insetLayout) and calls its + QCPInsetLayout::update function. + + \seebaseclassmethod +*/ +void QCPAxisRect::update(UpdatePhase phase) +{ + QCPLayoutElement::update(phase); + + switch (phase) + { + case upPreparation: + { + QList<QCPAxis*> allAxes = axes(); + for (int i=0; i<allAxes.size(); ++i) + allAxes.at(i)->setupTickVectors(); + break; + } + case upLayout: + { + mInsetLayout->setOuterRect(rect()); + break; + } + default: break; + } + + // pass update call on to inset layout (doesn't happen automatically, because QCPAxisRect doesn't derive from QCPLayout): + mInsetLayout->update(phase); +} + +/* inherits documentation from base class */ +QList<QCPLayoutElement*> QCPAxisRect::elements(bool recursive) const +{ + QList<QCPLayoutElement*> result; + if (mInsetLayout) + { + result << mInsetLayout; + if (recursive) + result << mInsetLayout->elements(recursive); + } + return result; +} + +/* inherits documentation from base class */ +void QCPAxisRect::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + painter->setAntialiasing(false); +} + +/* inherits documentation from base class */ +void QCPAxisRect::draw(QCPPainter *painter) +{ + drawBackground(painter); +} + +/*! + Sets \a pm as the axis background pixmap. The axis background pixmap will be drawn inside the + axis rect. Since axis rects place themselves on the "background" layer by default, the axis rect + backgrounds are usually drawn below everything else. + + For cases where the provided pixmap doesn't have the same size as the axis rect, scaling can be + enabled with \ref setBackgroundScaled and the scaling mode (i.e. whether and how the aspect ratio + is preserved) can be set with \ref setBackgroundScaledMode. To set all these options in one call, + consider using the overloaded version of this function. + + Below the pixmap, the axis rect may be optionally filled with a brush, if specified with \ref + setBackground(const QBrush &brush). + + \see setBackgroundScaled, setBackgroundScaledMode, setBackground(const QBrush &brush) +*/ +void QCPAxisRect::setBackground(const QPixmap &pm) +{ + mBackgroundPixmap = pm; + mScaledBackgroundPixmap = QPixmap(); +} + +/*! \overload + + Sets \a brush as the background brush. The axis rect background will be filled with this brush. + Since axis rects place themselves on the "background" layer by default, the axis rect backgrounds + are usually drawn below everything else. + + The brush will be drawn before (under) any background pixmap, which may be specified with \ref + setBackground(const QPixmap &pm). + + To disable drawing of a background brush, set \a brush to Qt::NoBrush. + + \see setBackground(const QPixmap &pm) +*/ +void QCPAxisRect::setBackground(const QBrush &brush) +{ + mBackgroundBrush = brush; +} + +/*! \overload + + Allows setting the background pixmap of the axis rect, whether it shall be scaled and how it + shall be scaled in one call. + + \see setBackground(const QPixmap &pm), setBackgroundScaled, setBackgroundScaledMode +*/ +void QCPAxisRect::setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode) +{ + mBackgroundPixmap = pm; + mScaledBackgroundPixmap = QPixmap(); + mBackgroundScaled = scaled; + mBackgroundScaledMode = mode; +} + +/*! + Sets whether the axis background pixmap shall be scaled to fit the axis rect or not. If \a scaled + is set to true, you may control whether and how the aspect ratio of the original pixmap is + preserved with \ref setBackgroundScaledMode. + + Note that the scaled version of the original pixmap is buffered, so there is no performance + penalty on replots. (Except when the axis rect dimensions are changed continuously.) + + \see setBackground, setBackgroundScaledMode +*/ +void QCPAxisRect::setBackgroundScaled(bool scaled) +{ + mBackgroundScaled = scaled; +} + +/*! + If scaling of the axis background pixmap is enabled (\ref setBackgroundScaled), use this function to + define whether and how the aspect ratio of the original pixmap passed to \ref setBackground is preserved. + \see setBackground, setBackgroundScaled +*/ +void QCPAxisRect::setBackgroundScaledMode(Qt::AspectRatioMode mode) +{ + mBackgroundScaledMode = mode; +} + +/*! + Returns the range drag axis of the \a orientation provided. If multiple axes were set, returns + the first one (use \ref rangeDragAxes to retrieve a list with all set axes). + + \see setRangeDragAxes +*/ +QCPAxis *QCPAxisRect::rangeDragAxis(Qt::Orientation orientation) +{ + if (orientation == Qt::Horizontal) + return mRangeDragHorzAxis.isEmpty() ? 0 : mRangeDragHorzAxis.first().data(); + else + return mRangeDragVertAxis.isEmpty() ? 0 : mRangeDragVertAxis.first().data(); +} + +/*! + Returns the range zoom axis of the \a orientation provided. If multiple axes were set, returns + the first one (use \ref rangeZoomAxes to retrieve a list with all set axes). + + \see setRangeZoomAxes +*/ +QCPAxis *QCPAxisRect::rangeZoomAxis(Qt::Orientation orientation) +{ + if (orientation == Qt::Horizontal) + return mRangeZoomHorzAxis.isEmpty() ? 0 : mRangeZoomHorzAxis.first().data(); + else + return mRangeZoomVertAxis.isEmpty() ? 0 : mRangeZoomVertAxis.first().data(); +} + +/*! + Returns all range drag axes of the \a orientation provided. + + \see rangeZoomAxis, setRangeZoomAxes +*/ +QList<QCPAxis*> QCPAxisRect::rangeDragAxes(Qt::Orientation orientation) +{ + QList<QCPAxis*> result; + if (orientation == Qt::Horizontal) + { + for (int i=0; i<mRangeDragHorzAxis.size(); ++i) + { + if (!mRangeDragHorzAxis.at(i).isNull()) + result.append(mRangeDragHorzAxis.at(i).data()); + } + } else + { + for (int i=0; i<mRangeDragVertAxis.size(); ++i) + { + if (!mRangeDragVertAxis.at(i).isNull()) + result.append(mRangeDragVertAxis.at(i).data()); + } + } + return result; +} + +/*! + Returns all range zoom axes of the \a orientation provided. + + \see rangeDragAxis, setRangeDragAxes +*/ +QList<QCPAxis*> QCPAxisRect::rangeZoomAxes(Qt::Orientation orientation) +{ + QList<QCPAxis*> result; + if (orientation == Qt::Horizontal) + { + for (int i=0; i<mRangeZoomHorzAxis.size(); ++i) + { + if (!mRangeZoomHorzAxis.at(i).isNull()) + result.append(mRangeZoomHorzAxis.at(i).data()); + } + } else + { + for (int i=0; i<mRangeZoomVertAxis.size(); ++i) + { + if (!mRangeZoomVertAxis.at(i).isNull()) + result.append(mRangeZoomVertAxis.at(i).data()); + } + } + return result; +} + +/*! + Returns the range zoom factor of the \a orientation provided. + + \see setRangeZoomFactor +*/ +double QCPAxisRect::rangeZoomFactor(Qt::Orientation orientation) +{ + return (orientation == Qt::Horizontal ? mRangeZoomFactorHorz : mRangeZoomFactorVert); +} + +/*! + Sets which axis orientation may be range dragged by the user with mouse interaction. + What orientation corresponds to which specific axis can be set with + \ref setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical). By + default, the horizontal axis is the bottom axis (xAxis) and the vertical axis + is the left axis (yAxis). + + To disable range dragging entirely, pass 0 as \a orientations or remove \ref QCP::iRangeDrag from \ref + QCustomPlot::setInteractions. To enable range dragging for both directions, pass <tt>Qt::Horizontal | + Qt::Vertical</tt> as \a orientations. + + In addition to setting \a orientations to a non-zero value, make sure \ref QCustomPlot::setInteractions + contains \ref QCP::iRangeDrag to enable the range dragging interaction. + + \see setRangeZoom, setRangeDragAxes, QCustomPlot::setNoAntialiasingOnDrag +*/ +void QCPAxisRect::setRangeDrag(Qt::Orientations orientations) +{ + mRangeDrag = orientations; +} + +/*! + Sets which axis orientation may be zoomed by the user with the mouse wheel. What orientation + corresponds to which specific axis can be set with \ref setRangeZoomAxes(QCPAxis *horizontal, + QCPAxis *vertical). By default, the horizontal axis is the bottom axis (xAxis) and the vertical + axis is the left axis (yAxis). + + To disable range zooming entirely, pass 0 as \a orientations or remove \ref QCP::iRangeZoom from \ref + QCustomPlot::setInteractions. To enable range zooming for both directions, pass <tt>Qt::Horizontal | + Qt::Vertical</tt> as \a orientations. + + In addition to setting \a orientations to a non-zero value, make sure \ref QCustomPlot::setInteractions + contains \ref QCP::iRangeZoom to enable the range zooming interaction. + + \see setRangeZoomFactor, setRangeZoomAxes, setRangeDrag +*/ +void QCPAxisRect::setRangeZoom(Qt::Orientations orientations) +{ + mRangeZoom = orientations; +} + +/*! \overload + + Sets the axes whose range will be dragged when \ref setRangeDrag enables mouse range dragging on + the QCustomPlot widget. Pass 0 if no axis shall be dragged in the respective orientation. + + Use the overload taking a list of axes, if multiple axes (more than one per orientation) shall + react to dragging interactions. + + \see setRangeZoomAxes +*/ +void QCPAxisRect::setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical) +{ + QList<QCPAxis*> horz, vert; + if (horizontal) + horz.append(horizontal); + if (vertical) + vert.append(vertical); + setRangeDragAxes(horz, vert); +} + +/*! \overload + + This method allows to set up multiple axes to react to horizontal and vertical dragging. The drag + orientation that the respective axis will react to is deduced from its orientation (\ref + QCPAxis::orientation). + + In the unusual case that you wish to e.g. drag a vertically oriented axis with a horizontal drag + motion, use the overload taking two separate lists for horizontal and vertical dragging. +*/ +void QCPAxisRect::setRangeDragAxes(QList<QCPAxis*> axes) +{ + QList<QCPAxis*> horz, vert; + foreach (QCPAxis *ax, axes) + { + if (ax->orientation() == Qt::Horizontal) + horz.append(ax); + else + vert.append(ax); + } + setRangeDragAxes(horz, vert); +} + +/*! \overload + + This method allows to set multiple axes up to react to horizontal and vertical dragging, and + define specifically which axis reacts to which drag orientation (irrespective of the axis + orientation). +*/ +void QCPAxisRect::setRangeDragAxes(QList<QCPAxis*> horizontal, QList<QCPAxis*> vertical) +{ + mRangeDragHorzAxis.clear(); + foreach (QCPAxis *ax, horizontal) + { + QPointer<QCPAxis> axPointer(ax); + if (!axPointer.isNull()) + mRangeDragHorzAxis.append(axPointer); + else + qDebug() << Q_FUNC_INFO << "invalid axis passed in horizontal list:" << reinterpret_cast<quintptr>(ax); + } + mRangeDragVertAxis.clear(); + foreach (QCPAxis *ax, vertical) + { + QPointer<QCPAxis> axPointer(ax); + if (!axPointer.isNull()) + mRangeDragVertAxis.append(axPointer); + else + qDebug() << Q_FUNC_INFO << "invalid axis passed in vertical list:" << reinterpret_cast<quintptr>(ax); + } +} + +/*! + Sets the axes whose range will be zoomed when \ref setRangeZoom enables mouse wheel zooming on + the QCustomPlot widget. Pass 0 if no axis shall be zoomed in the respective orientation. + + The two axes can be zoomed with different strengths, when different factors are passed to \ref + setRangeZoomFactor(double horizontalFactor, double verticalFactor). + + Use the overload taking a list of axes, if multiple axes (more than one per orientation) shall + react to zooming interactions. + + \see setRangeDragAxes +*/ +void QCPAxisRect::setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical) +{ + QList<QCPAxis*> horz, vert; + if (horizontal) + horz.append(horizontal); + if (vertical) + vert.append(vertical); + setRangeZoomAxes(horz, vert); +} + +/*! \overload + + This method allows to set up multiple axes to react to horizontal and vertical range zooming. The + zoom orientation that the respective axis will react to is deduced from its orientation (\ref + QCPAxis::orientation). + + In the unusual case that you wish to e.g. zoom a vertically oriented axis with a horizontal zoom + interaction, use the overload taking two separate lists for horizontal and vertical zooming. +*/ +void QCPAxisRect::setRangeZoomAxes(QList<QCPAxis*> axes) +{ + QList<QCPAxis*> horz, vert; + foreach (QCPAxis *ax, axes) + { + if (ax->orientation() == Qt::Horizontal) + horz.append(ax); + else + vert.append(ax); + } + setRangeZoomAxes(horz, vert); +} + +/*! \overload + + This method allows to set multiple axes up to react to horizontal and vertical zooming, and + define specifically which axis reacts to which zoom orientation (irrespective of the axis + orientation). +*/ +void QCPAxisRect::setRangeZoomAxes(QList<QCPAxis*> horizontal, QList<QCPAxis*> vertical) +{ + mRangeZoomHorzAxis.clear(); + foreach (QCPAxis *ax, horizontal) + { + QPointer<QCPAxis> axPointer(ax); + if (!axPointer.isNull()) + mRangeZoomHorzAxis.append(axPointer); + else + qDebug() << Q_FUNC_INFO << "invalid axis passed in horizontal list:" << reinterpret_cast<quintptr>(ax); + } + mRangeZoomVertAxis.clear(); + foreach (QCPAxis *ax, vertical) + { + QPointer<QCPAxis> axPointer(ax); + if (!axPointer.isNull()) + mRangeZoomVertAxis.append(axPointer); + else + qDebug() << Q_FUNC_INFO << "invalid axis passed in vertical list:" << reinterpret_cast<quintptr>(ax); + } +} + +/*! + Sets how strong one rotation step of the mouse wheel zooms, when range zoom was activated with + \ref setRangeZoom. The two parameters \a horizontalFactor and \a verticalFactor provide a way to + let the horizontal axis zoom at different rates than the vertical axis. Which axis is horizontal + and which is vertical, can be set with \ref setRangeZoomAxes. + + When the zoom factor is greater than one, scrolling the mouse wheel backwards (towards the user) + will zoom in (make the currently visible range smaller). For zoom factors smaller than one, the + same scrolling direction will zoom out. +*/ +void QCPAxisRect::setRangeZoomFactor(double horizontalFactor, double verticalFactor) +{ + mRangeZoomFactorHorz = horizontalFactor; + mRangeZoomFactorVert = verticalFactor; +} + +/*! \overload + + Sets both the horizontal and vertical zoom \a factor. +*/ +void QCPAxisRect::setRangeZoomFactor(double factor) +{ + mRangeZoomFactorHorz = factor; + mRangeZoomFactorVert = factor; +} + +/*! \internal + + Draws the background of this axis rect. It may consist of a background fill (a QBrush) and a + pixmap. + + If a brush was given via \ref setBackground(const QBrush &brush), this function first draws an + according filling inside the axis rect with the provided \a painter. + + Then, if a pixmap was provided via \ref setBackground, this function buffers the scaled version + depending on \ref setBackgroundScaled and \ref setBackgroundScaledMode and then draws it inside + the axis rect with the provided \a painter. The scaled version is buffered in + mScaledBackgroundPixmap to prevent expensive rescaling at every redraw. It is only updated, when + the axis rect has changed in a way that requires a rescale of the background pixmap (this is + dependent on the \ref setBackgroundScaledMode), or when a differend axis background pixmap was + set. + + \see setBackground, setBackgroundScaled, setBackgroundScaledMode +*/ +void QCPAxisRect::drawBackground(QCPPainter *painter) +{ + // draw background fill: + if (mBackgroundBrush != Qt::NoBrush) + painter->fillRect(mRect, mBackgroundBrush); + + // draw background pixmap (on top of fill, if brush specified): + if (!mBackgroundPixmap.isNull()) + { + if (mBackgroundScaled) + { + // check whether mScaledBackground needs to be updated: + QSize scaledSize(mBackgroundPixmap.size()); + scaledSize.scale(mRect.size(), mBackgroundScaledMode); + if (mScaledBackgroundPixmap.size() != scaledSize) + mScaledBackgroundPixmap = mBackgroundPixmap.scaled(mRect.size(), mBackgroundScaledMode, Qt::SmoothTransformation); + painter->drawPixmap(mRect.topLeft()+QPoint(0, -1), mScaledBackgroundPixmap, QRect(0, 0, mRect.width(), mRect.height()) & mScaledBackgroundPixmap.rect()); + } else + { + painter->drawPixmap(mRect.topLeft()+QPoint(0, -1), mBackgroundPixmap, QRect(0, 0, mRect.width(), mRect.height())); + } + } +} + +/*! \internal + + This function makes sure multiple axes on the side specified with \a type don't collide, but are + distributed according to their respective space requirement (QCPAxis::calculateMargin). + + It does this by setting an appropriate offset (\ref QCPAxis::setOffset) on all axes except the + one with index zero. + + This function is called by \ref calculateAutoMargin. +*/ +void QCPAxisRect::updateAxesOffset(QCPAxis::AxisType type) +{ + const QList<QCPAxis*> axesList = mAxes.value(type); + if (axesList.isEmpty()) + return; + + bool isFirstVisible = !axesList.first()->visible(); // if the first axis is visible, the second axis (which is where the loop starts) isn't the first visible axis, so initialize with false + for (int i=1; i<axesList.size(); ++i) + { + int offset = axesList.at(i-1)->offset() + axesList.at(i-1)->calculateMargin(); + if (axesList.at(i)->visible()) // only add inner tick length to offset if this axis is visible and it's not the first visible one (might happen if true first axis is invisible) + { + if (!isFirstVisible) + offset += axesList.at(i)->tickLengthIn(); + isFirstVisible = false; + } + axesList.at(i)->setOffset(offset); + } +} + +/* inherits documentation from base class */ +int QCPAxisRect::calculateAutoMargin(QCP::MarginSide side) +{ + if (!mAutoMargins.testFlag(side)) + qDebug() << Q_FUNC_INFO << "Called with side that isn't specified as auto margin"; + + updateAxesOffset(QCPAxis::marginSideToAxisType(side)); + + // note: only need to look at the last (outer most) axis to determine the total margin, due to updateAxisOffset call + const QList<QCPAxis*> axesList = mAxes.value(QCPAxis::marginSideToAxisType(side)); + if (axesList.size() > 0) + return axesList.last()->offset() + axesList.last()->calculateMargin(); + else + return 0; +} + +/*! \internal + + Reacts to a change in layout to potentially set the convenience axis pointers \ref + QCustomPlot::xAxis, \ref QCustomPlot::yAxis, etc. of the parent QCustomPlot to the respective + axes of this axis rect. This is only done if the respective convenience pointer is currently zero + and if there is no QCPAxisRect at position (0, 0) of the plot layout. + + This automation makes it simpler to replace the main axis rect with a newly created one, without + the need to manually reset the convenience pointers. +*/ +void QCPAxisRect::layoutChanged() +{ + if (mParentPlot && mParentPlot->axisRectCount() > 0 && mParentPlot->axisRect(0) == this) + { + if (axisCount(QCPAxis::atBottom) > 0 && !mParentPlot->xAxis) + mParentPlot->xAxis = axis(QCPAxis::atBottom); + if (axisCount(QCPAxis::atLeft) > 0 && !mParentPlot->yAxis) + mParentPlot->yAxis = axis(QCPAxis::atLeft); + if (axisCount(QCPAxis::atTop) > 0 && !mParentPlot->xAxis2) + mParentPlot->xAxis2 = axis(QCPAxis::atTop); + if (axisCount(QCPAxis::atRight) > 0 && !mParentPlot->yAxis2) + mParentPlot->yAxis2 = axis(QCPAxis::atRight); + } +} + +/*! \internal + + Event handler for when a mouse button is pressed on the axis rect. If the left mouse button is + pressed, the range dragging interaction is initialized (the actual range manipulation happens in + the \ref mouseMoveEvent). + + The mDragging flag is set to true and some anchor points are set that are needed to determine the + distance the mouse was dragged in the mouse move/release events later. + + \see mouseMoveEvent, mouseReleaseEvent +*/ +void QCPAxisRect::mousePressEvent(QMouseEvent *event, const QVariant &details) +{ + Q_UNUSED(details) + if (event->buttons() & Qt::LeftButton) + { + mDragging = true; + // initialize antialiasing backup in case we start dragging: + if (mParentPlot->noAntialiasingOnDrag()) + { + mAADragBackup = mParentPlot->antialiasedElements(); + mNotAADragBackup = mParentPlot->notAntialiasedElements(); + } + // Mouse range dragging interaction: + if (mParentPlot->interactions().testFlag(QCP::iRangeDrag)) + { + mDragStartHorzRange.clear(); + for (int i=0; i<mRangeDragHorzAxis.size(); ++i) + mDragStartHorzRange.append(mRangeDragHorzAxis.at(i).isNull() ? QCPRange() : mRangeDragHorzAxis.at(i)->range()); + mDragStartVertRange.clear(); + for (int i=0; i<mRangeDragVertAxis.size(); ++i) + mDragStartVertRange.append(mRangeDragVertAxis.at(i).isNull() ? QCPRange() : mRangeDragVertAxis.at(i)->range()); + } + } +} + +/*! \internal + + Event handler for when the mouse is moved on the axis rect. If range dragging was activated in a + preceding \ref mousePressEvent, the range is moved accordingly. + + \see mousePressEvent, mouseReleaseEvent +*/ +void QCPAxisRect::mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) +{ + Q_UNUSED(startPos) + // Mouse range dragging interaction: + if (mDragging && mParentPlot->interactions().testFlag(QCP::iRangeDrag)) + { + + if (mRangeDrag.testFlag(Qt::Horizontal)) + { + for (int i=0; i<mRangeDragHorzAxis.size(); ++i) + { + QCPAxis *ax = mRangeDragHorzAxis.at(i).data(); + if (!ax) + continue; + if (i >= mDragStartHorzRange.size()) + break; + if (ax->mScaleType == QCPAxis::stLinear) + { + double diff = ax->pixelToCoord(startPos.x()) - ax->pixelToCoord(event->pos().x()); + ax->setRange(mDragStartHorzRange.at(i).lower+diff, mDragStartHorzRange.at(i).upper+diff); + } else if (ax->mScaleType == QCPAxis::stLogarithmic) + { + double diff = ax->pixelToCoord(startPos.x()) / ax->pixelToCoord(event->pos().x()); + ax->setRange(mDragStartHorzRange.at(i).lower*diff, mDragStartHorzRange.at(i).upper*diff); + } + } + } + + if (mRangeDrag.testFlag(Qt::Vertical)) + { + for (int i=0; i<mRangeDragVertAxis.size(); ++i) + { + QCPAxis *ax = mRangeDragVertAxis.at(i).data(); + if (!ax) + continue; + if (i >= mDragStartVertRange.size()) + break; + if (ax->mScaleType == QCPAxis::stLinear) + { + double diff = ax->pixelToCoord(startPos.y()) - ax->pixelToCoord(event->pos().y()); + ax->setRange(mDragStartVertRange.at(i).lower+diff, mDragStartVertRange.at(i).upper+diff); + } else if (ax->mScaleType == QCPAxis::stLogarithmic) + { + double diff = ax->pixelToCoord(startPos.y()) / ax->pixelToCoord(event->pos().y()); + ax->setRange(mDragStartVertRange.at(i).lower*diff, mDragStartVertRange.at(i).upper*diff); + } + } + } + + if (mRangeDrag != 0) // if either vertical or horizontal drag was enabled, do a replot + { + if (mParentPlot->noAntialiasingOnDrag()) + mParentPlot->setNotAntialiasedElements(QCP::aeAll); + mParentPlot->replot(QCustomPlot::rpQueuedReplot); + } + + } +} + +/* inherits documentation from base class */ +void QCPAxisRect::mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) +{ + Q_UNUSED(event) + Q_UNUSED(startPos) + mDragging = false; + if (mParentPlot->noAntialiasingOnDrag()) + { + mParentPlot->setAntialiasedElements(mAADragBackup); + mParentPlot->setNotAntialiasedElements(mNotAADragBackup); + } +} + +/*! \internal + + Event handler for mouse wheel events. If rangeZoom is Qt::Horizontal, Qt::Vertical or both, the + ranges of the axes defined as rangeZoomHorzAxis and rangeZoomVertAxis are scaled. The center of + the scaling operation is the current cursor position inside the axis rect. The scaling factor is + dependent on the mouse wheel delta (which direction the wheel was rotated) to provide a natural + zooming feel. The Strength of the zoom can be controlled via \ref setRangeZoomFactor. + + Note, that event->delta() is usually +/-120 for single rotation steps. However, if the mouse + wheel is turned rapidly, many steps may bunch up to one event, so the event->delta() may then be + multiples of 120. This is taken into account here, by calculating \a wheelSteps and using it as + exponent of the range zoom factor. This takes care of the wheel direction automatically, by + inverting the factor, when the wheel step is negative (f^-1 = 1/f). +*/ +void QCPAxisRect::wheelEvent(QWheelEvent *event) +{ + // Mouse range zooming interaction: + if (mParentPlot->interactions().testFlag(QCP::iRangeZoom)) + { + if (mRangeZoom != 0) + { + double factor; + double wheelSteps = event->delta()/120.0; // a single step delta is +/-120 usually + if (mRangeZoom.testFlag(Qt::Horizontal)) + { + factor = qPow(mRangeZoomFactorHorz, wheelSteps); + for (int i=0; i<mRangeZoomHorzAxis.size(); ++i) + { + if (!mRangeZoomHorzAxis.at(i).isNull()) + mRangeZoomHorzAxis.at(i)->scaleRange(factor, mRangeZoomHorzAxis.at(i)->pixelToCoord(event->pos().x())); + } + } + if (mRangeZoom.testFlag(Qt::Vertical)) + { + factor = qPow(mRangeZoomFactorVert, wheelSteps); + for (int i=0; i<mRangeZoomVertAxis.size(); ++i) + { + if (!mRangeZoomVertAxis.at(i).isNull()) + mRangeZoomVertAxis.at(i)->scaleRange(factor, mRangeZoomVertAxis.at(i)->pixelToCoord(event->pos().y())); + } + } + mParentPlot->replot(); + } + } +} +/* end of 'src/layoutelements/layoutelement-axisrect.cpp' */ + + +/* including file 'src/layoutelements/layoutelement-legend.cpp', size 31097 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAbstractLegendItem +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAbstractLegendItem + \brief The abstract base class for all entries in a QCPLegend. + + It defines a very basic interface for entries in a QCPLegend. For representing plottables in the + legend, the subclass \ref QCPPlottableLegendItem is more suitable. + + Only derive directly from this class when you need absolute freedom (e.g. a custom legend entry + that's not even associated with a plottable). + + You must implement the following pure virtual functions: + \li \ref draw (from QCPLayerable) + + You inherit the following members you may use: + <table> + <tr> + <td>QCPLegend *\b mParentLegend</td> + <td>A pointer to the parent QCPLegend.</td> + </tr><tr> + <td>QFont \b mFont</td> + <td>The generic font of the item. You should use this font for all or at least the most prominent text of the item.</td> + </tr> + </table> +*/ + +/* start of documentation of signals */ + +/*! \fn void QCPAbstractLegendItem::selectionChanged(bool selected) + + This signal is emitted when the selection state of this legend item has changed, either by user + interaction or by a direct call to \ref setSelected. +*/ + +/* end of documentation of signals */ + +/*! + Constructs a QCPAbstractLegendItem and associates it with the QCPLegend \a parent. This does not + cause the item to be added to \a parent, so \ref QCPLegend::addItem must be called separately. +*/ +QCPAbstractLegendItem::QCPAbstractLegendItem(QCPLegend *parent) : + QCPLayoutElement(parent->parentPlot()), + mParentLegend(parent), + mFont(parent->font()), + mTextColor(parent->textColor()), + mSelectedFont(parent->selectedFont()), + mSelectedTextColor(parent->selectedTextColor()), + mSelectable(true), + mSelected(false) +{ + setLayer(QLatin1String("legend")); + setMargins(QMargins(0, 0, 0, 0)); +} + +/*! + Sets the default font of this specific legend item to \a font. + + \see setTextColor, QCPLegend::setFont +*/ +void QCPAbstractLegendItem::setFont(const QFont &font) +{ + mFont = font; +} + +/*! + Sets the default text color of this specific legend item to \a color. + + \see setFont, QCPLegend::setTextColor +*/ +void QCPAbstractLegendItem::setTextColor(const QColor &color) +{ + mTextColor = color; +} + +/*! + When this legend item is selected, \a font is used to draw generic text, instead of the normal + font set with \ref setFont. + + \see setFont, QCPLegend::setSelectedFont +*/ +void QCPAbstractLegendItem::setSelectedFont(const QFont &font) +{ + mSelectedFont = font; +} + +/*! + When this legend item is selected, \a color is used to draw generic text, instead of the normal + color set with \ref setTextColor. + + \see setTextColor, QCPLegend::setSelectedTextColor +*/ +void QCPAbstractLegendItem::setSelectedTextColor(const QColor &color) +{ + mSelectedTextColor = color; +} + +/*! + Sets whether this specific legend item is selectable. + + \see setSelectedParts, QCustomPlot::setInteractions +*/ +void QCPAbstractLegendItem::setSelectable(bool selectable) +{ + if (mSelectable != selectable) + { + mSelectable = selectable; + emit selectableChanged(mSelectable); + } +} + +/*! + Sets whether this specific legend item is selected. + + It is possible to set the selection state of this item by calling this function directly, even if + setSelectable is set to false. + + \see setSelectableParts, QCustomPlot::setInteractions +*/ +void QCPAbstractLegendItem::setSelected(bool selected) +{ + if (mSelected != selected) + { + mSelected = selected; + emit selectionChanged(mSelected); + } +} + +/* inherits documentation from base class */ +double QCPAbstractLegendItem::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (!mParentPlot) return -1; + if (onlySelectable && (!mSelectable || !mParentLegend->selectableParts().testFlag(QCPLegend::spItems))) + return -1; + + if (mRect.contains(pos.toPoint())) + return mParentPlot->selectionTolerance()*0.99; + else + return -1; +} + +/* inherits documentation from base class */ +void QCPAbstractLegendItem::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeLegendItems); +} + +/* inherits documentation from base class */ +QRect QCPAbstractLegendItem::clipRect() const +{ + return mOuterRect; +} + +/* inherits documentation from base class */ +void QCPAbstractLegendItem::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + Q_UNUSED(details) + if (mSelectable && mParentLegend->selectableParts().testFlag(QCPLegend::spItems)) + { + bool selBefore = mSelected; + setSelected(additive ? !mSelected : true); + if (selectionStateChanged) + *selectionStateChanged = mSelected != selBefore; + } +} + +/* inherits documentation from base class */ +void QCPAbstractLegendItem::deselectEvent(bool *selectionStateChanged) +{ + if (mSelectable && mParentLegend->selectableParts().testFlag(QCPLegend::spItems)) + { + bool selBefore = mSelected; + setSelected(false); + if (selectionStateChanged) + *selectionStateChanged = mSelected != selBefore; + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPPlottableLegendItem +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPPlottableLegendItem + \brief A legend item representing a plottable with an icon and the plottable name. + + This is the standard legend item for plottables. It displays an icon of the plottable next to the + plottable name. The icon is drawn by the respective plottable itself (\ref + QCPAbstractPlottable::drawLegendIcon), and tries to give an intuitive symbol for the plottable. + For example, the QCPGraph draws a centered horizontal line and/or a single scatter point in the + middle. + + Legend items of this type are always associated with one plottable (retrievable via the + plottable() function and settable with the constructor). You may change the font of the plottable + name with \ref setFont. Icon padding and border pen is taken from the parent QCPLegend, see \ref + QCPLegend::setIconBorderPen and \ref QCPLegend::setIconTextPadding. + + The function \ref QCPAbstractPlottable::addToLegend/\ref QCPAbstractPlottable::removeFromLegend + creates/removes legend items of this type. + + Since QCPLegend is based on QCPLayoutGrid, a legend item itself is just a subclass of + QCPLayoutElement. While it could be added to a legend (or any other layout) via the normal layout + interface, QCPLegend has specialized functions for handling legend items conveniently, see the + documentation of \ref QCPLegend. +*/ + +/*! + Creates a new legend item associated with \a plottable. + + Once it's created, it can be added to the legend via \ref QCPLegend::addItem. + + A more convenient way of adding/removing a plottable to/from the legend is via the functions \ref + QCPAbstractPlottable::addToLegend and \ref QCPAbstractPlottable::removeFromLegend. +*/ +QCPPlottableLegendItem::QCPPlottableLegendItem(QCPLegend *parent, QCPAbstractPlottable *plottable) : + QCPAbstractLegendItem(parent), + mPlottable(plottable) +{ + setAntialiased(false); +} + +/*! \internal + + Returns the pen that shall be used to draw the icon border, taking into account the selection + state of this item. +*/ +QPen QCPPlottableLegendItem::getIconBorderPen() const +{ + return mSelected ? mParentLegend->selectedIconBorderPen() : mParentLegend->iconBorderPen(); +} + +/*! \internal + + Returns the text color that shall be used to draw text, taking into account the selection state + of this item. +*/ +QColor QCPPlottableLegendItem::getTextColor() const +{ + return mSelected ? mSelectedTextColor : mTextColor; +} + +/*! \internal + + Returns the font that shall be used to draw text, taking into account the selection state of this + item. +*/ +QFont QCPPlottableLegendItem::getFont() const +{ + return mSelected ? mSelectedFont : mFont; +} + +/*! \internal + + Draws the item with \a painter. The size and position of the drawn legend item is defined by the + parent layout (typically a \ref QCPLegend) and the \ref minimumOuterSizeHint and \ref + maximumOuterSizeHint of this legend item. +*/ +void QCPPlottableLegendItem::draw(QCPPainter *painter) +{ + if (!mPlottable) return; + painter->setFont(getFont()); + painter->setPen(QPen(getTextColor())); + QSizeF iconSize = mParentLegend->iconSize(); + QRectF textRect = painter->fontMetrics().boundingRect(0, 0, 0, iconSize.height(), Qt::TextDontClip, mPlottable->name()); + QRectF iconRect(mRect.topLeft(), iconSize); + int textHeight = qMax(textRect.height(), iconSize.height()); // if text has smaller height than icon, center text vertically in icon height, else align tops + painter->drawText(mRect.x()+iconSize.width()+mParentLegend->iconTextPadding(), mRect.y(), textRect.width(), textHeight, Qt::TextDontClip, mPlottable->name()); + // draw icon: + painter->save(); + painter->setClipRect(iconRect, Qt::IntersectClip); + mPlottable->drawLegendIcon(painter, iconRect); + painter->restore(); + // draw icon border: + if (getIconBorderPen().style() != Qt::NoPen) + { + painter->setPen(getIconBorderPen()); + painter->setBrush(Qt::NoBrush); + int halfPen = qCeil(painter->pen().widthF()*0.5)+1; + painter->setClipRect(mOuterRect.adjusted(-halfPen, -halfPen, halfPen, halfPen)); // extend default clip rect so thicker pens (especially during selection) are not clipped + painter->drawRect(iconRect); + } +} + +/*! \internal + + Calculates and returns the size of this item. This includes the icon, the text and the padding in + between. + + \seebaseclassmethod +*/ +QSize QCPPlottableLegendItem::minimumOuterSizeHint() const +{ + if (!mPlottable) return QSize(); + QSize result(0, 0); + QRect textRect; + QFontMetrics fontMetrics(getFont()); + QSize iconSize = mParentLegend->iconSize(); + textRect = fontMetrics.boundingRect(0, 0, 0, iconSize.height(), Qt::TextDontClip, mPlottable->name()); + result.setWidth(iconSize.width() + mParentLegend->iconTextPadding() + textRect.width()); + result.setHeight(qMax(textRect.height(), iconSize.height())); + result.rwidth() += mMargins.left()+mMargins.right(); + result.rheight() += mMargins.top()+mMargins.bottom(); + return result; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPLegend +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPLegend + \brief Manages a legend inside a QCustomPlot. + + A legend is a small box somewhere in the plot which lists plottables with their name and icon. + + A legend is populated with legend items by calling \ref QCPAbstractPlottable::addToLegend on the + plottable, for which a legend item shall be created. In the case of the main legend (\ref + QCustomPlot::legend), simply adding plottables to the plot while \ref + QCustomPlot::setAutoAddPlottableToLegend is set to true (the default) creates corresponding + legend items. The legend item associated with a certain plottable can be removed with \ref + QCPAbstractPlottable::removeFromLegend. However, QCPLegend also offers an interface to add and + manipulate legend items directly: \ref item, \ref itemWithPlottable, \ref itemCount, \ref + addItem, \ref removeItem, etc. + + Since \ref QCPLegend derives from \ref QCPLayoutGrid, it can be placed in any position a \ref + QCPLayoutElement may be positioned. The legend items are themselves \ref QCPLayoutElement + "QCPLayoutElements" which are placed in the grid layout of the legend. \ref QCPLegend only adds + an interface specialized for handling child elements of type \ref QCPAbstractLegendItem, as + mentioned above. In principle, any other layout elements may also be added to a legend via the + normal \ref QCPLayoutGrid interface. See the special page about \link thelayoutsystem The Layout + System\endlink for examples on how to add other elements to the legend and move it outside the axis + rect. + + Use the methods \ref setFillOrder and \ref setWrap inherited from \ref QCPLayoutGrid to control + in which order (column first or row first) the legend is filled up when calling \ref addItem, and + at which column or row wrapping occurs. + + By default, every QCustomPlot has one legend (\ref QCustomPlot::legend) which is placed in the + inset layout of the main axis rect (\ref QCPAxisRect::insetLayout). To move the legend to another + position inside the axis rect, use the methods of the \ref QCPLayoutInset. To move the legend + outside of the axis rect, place it anywhere else with the \ref QCPLayout/\ref QCPLayoutElement + interface. +*/ + +/* start of documentation of signals */ + +/*! \fn void QCPLegend::selectionChanged(QCPLegend::SelectableParts selection); + + This signal is emitted when the selection state of this legend has changed. + + \see setSelectedParts, setSelectableParts +*/ + +/* end of documentation of signals */ + +/*! + Constructs a new QCPLegend instance with default values. + + Note that by default, QCustomPlot already contains a legend ready to be used as \ref + QCustomPlot::legend +*/ +QCPLegend::QCPLegend() +{ + setFillOrder(QCPLayoutGrid::foRowsFirst); + setWrap(0); + + setRowSpacing(3); + setColumnSpacing(8); + setMargins(QMargins(7, 5, 7, 4)); + setAntialiased(false); + setIconSize(32, 18); + + setIconTextPadding(7); + + setSelectableParts(spLegendBox | spItems); + setSelectedParts(spNone); + + setBorderPen(QPen(Qt::black, 0)); + setSelectedBorderPen(QPen(Qt::blue, 2)); + setIconBorderPen(Qt::NoPen); + setSelectedIconBorderPen(QPen(Qt::blue, 2)); + setBrush(Qt::white); + setSelectedBrush(Qt::white); + setTextColor(Qt::black); + setSelectedTextColor(Qt::blue); +} + +QCPLegend::~QCPLegend() +{ + clearItems(); + if (qobject_cast<QCustomPlot*>(mParentPlot)) // make sure this isn't called from QObject dtor when QCustomPlot is already destructed (happens when the legend is not in any layout and thus QObject-child of QCustomPlot) + mParentPlot->legendRemoved(this); +} + +/* no doc for getter, see setSelectedParts */ +QCPLegend::SelectableParts QCPLegend::selectedParts() const +{ + // check whether any legend elements selected, if yes, add spItems to return value + bool hasSelectedItems = false; + for (int i=0; i<itemCount(); ++i) + { + if (item(i) && item(i)->selected()) + { + hasSelectedItems = true; + break; + } + } + if (hasSelectedItems) + return mSelectedParts | spItems; + else + return mSelectedParts & ~spItems; +} + +/*! + Sets the pen, the border of the entire legend is drawn with. +*/ +void QCPLegend::setBorderPen(const QPen &pen) +{ + mBorderPen = pen; +} + +/*! + Sets the brush of the legend background. +*/ +void QCPLegend::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the default font of legend text. Legend items that draw text (e.g. the name of a graph) will + use this font by default. However, a different font can be specified on a per-item-basis by + accessing the specific legend item. + + This function will also set \a font on all already existing legend items. + + \see QCPAbstractLegendItem::setFont +*/ +void QCPLegend::setFont(const QFont &font) +{ + mFont = font; + for (int i=0; i<itemCount(); ++i) + { + if (item(i)) + item(i)->setFont(mFont); + } +} + +/*! + Sets the default color of legend text. Legend items that draw text (e.g. the name of a graph) + will use this color by default. However, a different colors can be specified on a per-item-basis + by accessing the specific legend item. + + This function will also set \a color on all already existing legend items. + + \see QCPAbstractLegendItem::setTextColor +*/ +void QCPLegend::setTextColor(const QColor &color) +{ + mTextColor = color; + for (int i=0; i<itemCount(); ++i) + { + if (item(i)) + item(i)->setTextColor(color); + } +} + +/*! + Sets the size of legend icons. Legend items that draw an icon (e.g. a visual + representation of the graph) will use this size by default. +*/ +void QCPLegend::setIconSize(const QSize &size) +{ + mIconSize = size; +} + +/*! \overload +*/ +void QCPLegend::setIconSize(int width, int height) +{ + mIconSize.setWidth(width); + mIconSize.setHeight(height); +} + +/*! + Sets the horizontal space in pixels between the legend icon and the text next to it. + Legend items that draw an icon (e.g. a visual representation of the graph) and text (e.g. the + name of the graph) will use this space by default. +*/ +void QCPLegend::setIconTextPadding(int padding) +{ + mIconTextPadding = padding; +} + +/*! + Sets the pen used to draw a border around each legend icon. Legend items that draw an + icon (e.g. a visual representation of the graph) will use this pen by default. + + If no border is wanted, set this to \a Qt::NoPen. +*/ +void QCPLegend::setIconBorderPen(const QPen &pen) +{ + mIconBorderPen = pen; +} + +/*! + Sets whether the user can (de-)select the parts in \a selectable by clicking on the QCustomPlot surface. + (When \ref QCustomPlot::setInteractions contains \ref QCP::iSelectLegend.) + + However, even when \a selectable is set to a value not allowing the selection of a specific part, + it is still possible to set the selection of this part manually, by calling \ref setSelectedParts + directly. + + \see SelectablePart, setSelectedParts +*/ +void QCPLegend::setSelectableParts(const SelectableParts &selectable) +{ + if (mSelectableParts != selectable) + { + mSelectableParts = selectable; + emit selectableChanged(mSelectableParts); + } +} + +/*! + Sets the selected state of the respective legend parts described by \ref SelectablePart. When a part + is selected, it uses a different pen/font and brush. If some legend items are selected and \a selected + doesn't contain \ref spItems, those items become deselected. + + The entire selection mechanism is handled automatically when \ref QCustomPlot::setInteractions + contains iSelectLegend. You only need to call this function when you wish to change the selection + state manually. + + This function can change the selection state of a part even when \ref setSelectableParts was set to a + value that actually excludes the part. + + emits the \ref selectionChanged signal when \a selected is different from the previous selection state. + + Note that it doesn't make sense to set the selected state \ref spItems here when it wasn't set + before, because there's no way to specify which exact items to newly select. Do this by calling + \ref QCPAbstractLegendItem::setSelected directly on the legend item you wish to select. + + \see SelectablePart, setSelectableParts, selectTest, setSelectedBorderPen, setSelectedIconBorderPen, setSelectedBrush, + setSelectedFont +*/ +void QCPLegend::setSelectedParts(const SelectableParts &selected) +{ + SelectableParts newSelected = selected; + mSelectedParts = this->selectedParts(); // update mSelectedParts in case item selection changed + + if (mSelectedParts != newSelected) + { + if (!mSelectedParts.testFlag(spItems) && newSelected.testFlag(spItems)) // attempt to set spItems flag (can't do that) + { + qDebug() << Q_FUNC_INFO << "spItems flag can not be set, it can only be unset with this function"; + newSelected &= ~spItems; + } + if (mSelectedParts.testFlag(spItems) && !newSelected.testFlag(spItems)) // spItems flag was unset, so clear item selection + { + for (int i=0; i<itemCount(); ++i) + { + if (item(i)) + item(i)->setSelected(false); + } + } + mSelectedParts = newSelected; + emit selectionChanged(mSelectedParts); + } +} + +/*! + When the legend box is selected, this pen is used to draw the border instead of the normal pen + set via \ref setBorderPen. + + \see setSelectedParts, setSelectableParts, setSelectedBrush +*/ +void QCPLegend::setSelectedBorderPen(const QPen &pen) +{ + mSelectedBorderPen = pen; +} + +/*! + Sets the pen legend items will use to draw their icon borders, when they are selected. + + \see setSelectedParts, setSelectableParts, setSelectedFont +*/ +void QCPLegend::setSelectedIconBorderPen(const QPen &pen) +{ + mSelectedIconBorderPen = pen; +} + +/*! + When the legend box is selected, this brush is used to draw the legend background instead of the normal brush + set via \ref setBrush. + + \see setSelectedParts, setSelectableParts, setSelectedBorderPen +*/ +void QCPLegend::setSelectedBrush(const QBrush &brush) +{ + mSelectedBrush = brush; +} + +/*! + Sets the default font that is used by legend items when they are selected. + + This function will also set \a font on all already existing legend items. + + \see setFont, QCPAbstractLegendItem::setSelectedFont +*/ +void QCPLegend::setSelectedFont(const QFont &font) +{ + mSelectedFont = font; + for (int i=0; i<itemCount(); ++i) + { + if (item(i)) + item(i)->setSelectedFont(font); + } +} + +/*! + Sets the default text color that is used by legend items when they are selected. + + This function will also set \a color on all already existing legend items. + + \see setTextColor, QCPAbstractLegendItem::setSelectedTextColor +*/ +void QCPLegend::setSelectedTextColor(const QColor &color) +{ + mSelectedTextColor = color; + for (int i=0; i<itemCount(); ++i) + { + if (item(i)) + item(i)->setSelectedTextColor(color); + } +} + +/*! + Returns the item with index \a i. + + Note that the linear index depends on the current fill order (\ref setFillOrder). + + \see itemCount, addItem, itemWithPlottable +*/ +QCPAbstractLegendItem *QCPLegend::item(int index) const +{ + return qobject_cast<QCPAbstractLegendItem*>(elementAt(index)); +} + +/*! + Returns the QCPPlottableLegendItem which is associated with \a plottable (e.g. a \ref QCPGraph*). + If such an item isn't in the legend, returns 0. + + \see hasItemWithPlottable +*/ +QCPPlottableLegendItem *QCPLegend::itemWithPlottable(const QCPAbstractPlottable *plottable) const +{ + for (int i=0; i<itemCount(); ++i) + { + if (QCPPlottableLegendItem *pli = qobject_cast<QCPPlottableLegendItem*>(item(i))) + { + if (pli->plottable() == plottable) + return pli; + } + } + return 0; +} + +/*! + Returns the number of items currently in the legend. + + Note that if empty cells are in the legend (e.g. by calling methods of the \ref QCPLayoutGrid + base class which allows creating empty cells), they are included in the returned count. + + \see item +*/ +int QCPLegend::itemCount() const +{ + return elementCount(); +} + +/*! + Returns whether the legend contains \a item. + + \see hasItemWithPlottable +*/ +bool QCPLegend::hasItem(QCPAbstractLegendItem *item) const +{ + for (int i=0; i<itemCount(); ++i) + { + if (item == this->item(i)) + return true; + } + return false; +} + +/*! + Returns whether the legend contains a QCPPlottableLegendItem which is associated with \a plottable (e.g. a \ref QCPGraph*). + If such an item isn't in the legend, returns false. + + \see itemWithPlottable +*/ +bool QCPLegend::hasItemWithPlottable(const QCPAbstractPlottable *plottable) const +{ + return itemWithPlottable(plottable); +} + +/*! + Adds \a item to the legend, if it's not present already. The element is arranged according to the + current fill order (\ref setFillOrder) and wrapping (\ref setWrap). + + Returns true on sucess, i.e. if the item wasn't in the list already and has been successfuly added. + + The legend takes ownership of the item. + + \see removeItem, item, hasItem +*/ +bool QCPLegend::addItem(QCPAbstractLegendItem *item) +{ + return addElement(item); +} + +/*! \overload + + Removes the item with the specified \a index from the legend and deletes it. + + After successful removal, the legend is reordered according to the current fill order (\ref + setFillOrder) and wrapping (\ref setWrap), so no empty cell remains where the removed \a item + was. If you don't want this, rather use the raw element interface of \ref QCPLayoutGrid. + + Returns true, if successful. Unlike \ref QCPLayoutGrid::removeAt, this method only removes + elements derived from \ref QCPAbstractLegendItem. + + \see itemCount, clearItems +*/ +bool QCPLegend::removeItem(int index) +{ + if (QCPAbstractLegendItem *ali = item(index)) + { + bool success = remove(ali); + if (success) + setFillOrder(fillOrder(), true); // gets rid of empty cell by reordering + return success; + } else + return false; +} + +/*! \overload + + Removes \a item from the legend and deletes it. + + After successful removal, the legend is reordered according to the current fill order (\ref + setFillOrder) and wrapping (\ref setWrap), so no empty cell remains where the removed \a item + was. If you don't want this, rather use the raw element interface of \ref QCPLayoutGrid. + + Returns true, if successful. + + \see clearItems +*/ +bool QCPLegend::removeItem(QCPAbstractLegendItem *item) +{ + bool success = remove(item); + if (success) + setFillOrder(fillOrder(), true); // gets rid of empty cell by reordering + return success; +} + +/*! + Removes all items from the legend. +*/ +void QCPLegend::clearItems() +{ + for (int i=itemCount()-1; i>=0; --i) + removeItem(i); +} + +/*! + Returns the legend items that are currently selected. If no items are selected, + the list is empty. + + \see QCPAbstractLegendItem::setSelected, setSelectable +*/ +QList<QCPAbstractLegendItem *> QCPLegend::selectedItems() const +{ + QList<QCPAbstractLegendItem*> result; + for (int i=0; i<itemCount(); ++i) + { + if (QCPAbstractLegendItem *ali = item(i)) + { + if (ali->selected()) + result.append(ali); + } + } + return result; +} + +/*! \internal + + A convenience function to easily set the QPainter::Antialiased hint on the provided \a painter + before drawing main legend elements. + + This is the antialiasing state the painter passed to the \ref draw method is in by default. + + This function takes into account the local setting of the antialiasing flag as well as the + overrides set with \ref QCustomPlot::setAntialiasedElements and \ref + QCustomPlot::setNotAntialiasedElements. + + \seebaseclassmethod + + \see setAntialiased +*/ +void QCPLegend::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeLegend); +} + +/*! \internal + + Returns the pen used to paint the border of the legend, taking into account the selection state + of the legend box. +*/ +QPen QCPLegend::getBorderPen() const +{ + return mSelectedParts.testFlag(spLegendBox) ? mSelectedBorderPen : mBorderPen; +} + +/*! \internal + + Returns the brush used to paint the background of the legend, taking into account the selection + state of the legend box. +*/ +QBrush QCPLegend::getBrush() const +{ + return mSelectedParts.testFlag(spLegendBox) ? mSelectedBrush : mBrush; +} + +/*! \internal + + Draws the legend box with the provided \a painter. The individual legend items are layerables + themselves, thus are drawn independently. +*/ +void QCPLegend::draw(QCPPainter *painter) +{ + // draw background rect: + painter->setBrush(getBrush()); + painter->setPen(getBorderPen()); + painter->drawRect(mOuterRect); +} + +/* inherits documentation from base class */ +double QCPLegend::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + if (!mParentPlot) return -1; + if (onlySelectable && !mSelectableParts.testFlag(spLegendBox)) + return -1; + + if (mOuterRect.contains(pos.toPoint())) + { + if (details) details->setValue(spLegendBox); + return mParentPlot->selectionTolerance()*0.99; + } + return -1; +} + +/* inherits documentation from base class */ +void QCPLegend::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + mSelectedParts = selectedParts(); // in case item selection has changed + if (details.value<SelectablePart>() == spLegendBox && mSelectableParts.testFlag(spLegendBox)) + { + SelectableParts selBefore = mSelectedParts; + setSelectedParts(additive ? mSelectedParts^spLegendBox : mSelectedParts|spLegendBox); // no need to unset spItems in !additive case, because they will be deselected by QCustomPlot (they're normal QCPLayerables with own deselectEvent) + if (selectionStateChanged) + *selectionStateChanged = mSelectedParts != selBefore; + } +} + +/* inherits documentation from base class */ +void QCPLegend::deselectEvent(bool *selectionStateChanged) +{ + mSelectedParts = selectedParts(); // in case item selection has changed + if (mSelectableParts.testFlag(spLegendBox)) + { + SelectableParts selBefore = mSelectedParts; + setSelectedParts(selectedParts() & ~spLegendBox); + if (selectionStateChanged) + *selectionStateChanged = mSelectedParts != selBefore; + } +} + +/* inherits documentation from base class */ +QCP::Interaction QCPLegend::selectionCategory() const +{ + return QCP::iSelectLegend; +} + +/* inherits documentation from base class */ +QCP::Interaction QCPAbstractLegendItem::selectionCategory() const +{ + return QCP::iSelectLegend; +} + +/* inherits documentation from base class */ +void QCPLegend::parentPlotInitialized(QCustomPlot *parentPlot) +{ + if (parentPlot && !parentPlot->legend) + parentPlot->legend = this; +} +/* end of 'src/layoutelements/layoutelement-legend.cpp' */ + + +/* including file 'src/layoutelements/layoutelement-textelement.cpp', size 12761 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPTextElement +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPTextElement + \brief A layout element displaying a text + + The text may be specified with \ref setText, the formatting can be controlled with \ref setFont, + \ref setTextColor, and \ref setTextFlags. + + A text element can be added as follows: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcptextelement-creation +*/ + +/* start documentation of signals */ + +/*! \fn void QCPTextElement::selectionChanged(bool selected) + + This signal is emitted when the selection state has changed to \a selected, either by user + interaction or by a direct call to \ref setSelected. + + \see setSelected, setSelectable +*/ + +/*! \fn void QCPTextElement::clicked(QMouseEvent *event) + + This signal is emitted when the text element is clicked. + + \see doubleClicked, selectTest +*/ + +/*! \fn void QCPTextElement::doubleClicked(QMouseEvent *event) + + This signal is emitted when the text element is double clicked. + + \see clicked, selectTest +*/ + +/* end documentation of signals */ + +/*! \overload + + Creates a new QCPTextElement instance and sets default values. The initial text is empty (\ref + setText). +*/ +QCPTextElement::QCPTextElement(QCustomPlot *parentPlot) : + QCPLayoutElement(parentPlot), + mText(), + mTextFlags(Qt::AlignCenter|Qt::TextWordWrap), + mFont(QFont(QLatin1String("sans serif"), 12)), // will be taken from parentPlot if available, see below + mTextColor(Qt::black), + mSelectedFont(QFont(QLatin1String("sans serif"), 12)), // will be taken from parentPlot if available, see below + mSelectedTextColor(Qt::blue), + mSelectable(false), + mSelected(false) +{ + if (parentPlot) + { + mFont = parentPlot->font(); + mSelectedFont = parentPlot->font(); + } + setMargins(QMargins(2, 2, 2, 2)); +} + +/*! \overload + + Creates a new QCPTextElement instance and sets default values. + + The initial text is set to \a text. +*/ +QCPTextElement::QCPTextElement(QCustomPlot *parentPlot, const QString &text) : + QCPLayoutElement(parentPlot), + mText(text), + mTextFlags(Qt::AlignCenter|Qt::TextWordWrap), + mFont(QFont(QLatin1String("sans serif"), 12)), // will be taken from parentPlot if available, see below + mTextColor(Qt::black), + mSelectedFont(QFont(QLatin1String("sans serif"), 12)), // will be taken from parentPlot if available, see below + mSelectedTextColor(Qt::blue), + mSelectable(false), + mSelected(false) +{ + if (parentPlot) + { + mFont = parentPlot->font(); + mSelectedFont = parentPlot->font(); + } + setMargins(QMargins(2, 2, 2, 2)); +} + +/*! \overload + + Creates a new QCPTextElement instance and sets default values. + + The initial text is set to \a text with \a pointSize. +*/ +QCPTextElement::QCPTextElement(QCustomPlot *parentPlot, const QString &text, double pointSize) : + QCPLayoutElement(parentPlot), + mText(text), + mTextFlags(Qt::AlignCenter|Qt::TextWordWrap), + mFont(QFont(QLatin1String("sans serif"), pointSize)), // will be taken from parentPlot if available, see below + mTextColor(Qt::black), + mSelectedFont(QFont(QLatin1String("sans serif"), pointSize)), // will be taken from parentPlot if available, see below + mSelectedTextColor(Qt::blue), + mSelectable(false), + mSelected(false) +{ + if (parentPlot) + { + mFont = parentPlot->font(); + mFont.setPointSizeF(pointSize); + mSelectedFont = parentPlot->font(); + mSelectedFont.setPointSizeF(pointSize); + } + setMargins(QMargins(2, 2, 2, 2)); +} + +/*! \overload + + Creates a new QCPTextElement instance and sets default values. + + The initial text is set to \a text with \a pointSize and the specified \a fontFamily. +*/ +QCPTextElement::QCPTextElement(QCustomPlot *parentPlot, const QString &text, const QString &fontFamily, double pointSize) : + QCPLayoutElement(parentPlot), + mText(text), + mTextFlags(Qt::AlignCenter|Qt::TextWordWrap), + mFont(QFont(fontFamily, pointSize)), + mTextColor(Qt::black), + mSelectedFont(QFont(fontFamily, pointSize)), + mSelectedTextColor(Qt::blue), + mSelectable(false), + mSelected(false) +{ + setMargins(QMargins(2, 2, 2, 2)); +} + +/*! \overload + + Creates a new QCPTextElement instance and sets default values. + + The initial text is set to \a text with the specified \a font. +*/ +QCPTextElement::QCPTextElement(QCustomPlot *parentPlot, const QString &text, const QFont &font) : + QCPLayoutElement(parentPlot), + mText(text), + mTextFlags(Qt::AlignCenter|Qt::TextWordWrap), + mFont(font), + mTextColor(Qt::black), + mSelectedFont(font), + mSelectedTextColor(Qt::blue), + mSelectable(false), + mSelected(false) +{ + setMargins(QMargins(2, 2, 2, 2)); +} + +/*! + Sets the text that will be displayed to \a text. Multiple lines can be created by insertion of "\n". + + \see setFont, setTextColor, setTextFlags +*/ +void QCPTextElement::setText(const QString &text) +{ + mText = text; +} + +/*! + Sets options for text alignment and wrapping behaviour. \a flags is a bitwise OR-combination of + \c Qt::AlignmentFlag and \c Qt::TextFlag enums. + + Possible enums are: + - Qt::AlignLeft + - Qt::AlignRight + - Qt::AlignHCenter + - Qt::AlignJustify + - Qt::AlignTop + - Qt::AlignBottom + - Qt::AlignVCenter + - Qt::AlignCenter + - Qt::TextDontClip + - Qt::TextSingleLine + - Qt::TextExpandTabs + - Qt::TextShowMnemonic + - Qt::TextWordWrap + - Qt::TextIncludeTrailingSpaces +*/ +void QCPTextElement::setTextFlags(int flags) +{ + mTextFlags = flags; +} + +/*! + Sets the \a font of the text. + + \see setTextColor, setSelectedFont +*/ +void QCPTextElement::setFont(const QFont &font) +{ + mFont = font; +} + +/*! + Sets the \a color of the text. + + \see setFont, setSelectedTextColor +*/ +void QCPTextElement::setTextColor(const QColor &color) +{ + mTextColor = color; +} + +/*! + Sets the \a font of the text that will be used if the text element is selected (\ref setSelected). + + \see setFont +*/ +void QCPTextElement::setSelectedFont(const QFont &font) +{ + mSelectedFont = font; +} + +/*! + Sets the \a color of the text that will be used if the text element is selected (\ref setSelected). + + \see setTextColor +*/ +void QCPTextElement::setSelectedTextColor(const QColor &color) +{ + mSelectedTextColor = color; +} + +/*! + Sets whether the user may select this text element. + + Note that even when \a selectable is set to <tt>false</tt>, the selection state may be changed + programmatically via \ref setSelected. +*/ +void QCPTextElement::setSelectable(bool selectable) +{ + if (mSelectable != selectable) + { + mSelectable = selectable; + emit selectableChanged(mSelectable); + } +} + +/*! + Sets the selection state of this text element to \a selected. If the selection has changed, \ref + selectionChanged is emitted. + + Note that this function can change the selection state independently of the current \ref + setSelectable state. +*/ +void QCPTextElement::setSelected(bool selected) +{ + if (mSelected != selected) + { + mSelected = selected; + emit selectionChanged(mSelected); + } +} + +/* inherits documentation from base class */ +void QCPTextElement::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + applyAntialiasingHint(painter, mAntialiased, QCP::aeOther); +} + +/* inherits documentation from base class */ +void QCPTextElement::draw(QCPPainter *painter) +{ + painter->setFont(mainFont()); + painter->setPen(QPen(mainTextColor())); + painter->drawText(mRect, Qt::AlignCenter, mText, &mTextBoundingRect); +} + +/* inherits documentation from base class */ +QSize QCPTextElement::minimumOuterSizeHint() const +{ + QFontMetrics metrics(mFont); + QSize result(metrics.boundingRect(0, 0, 0, 0, Qt::AlignCenter, mText).size()); + result.rwidth() += mMargins.left()+mMargins.right(); + result.rheight() += mMargins.top()+mMargins.bottom(); + return result; +} + +/* inherits documentation from base class */ +QSize QCPTextElement::maximumOuterSizeHint() const +{ + QFontMetrics metrics(mFont); + QSize result(metrics.boundingRect(0, 0, 0, 0, Qt::AlignCenter, mText).size()); + result.setWidth(QWIDGETSIZE_MAX); + result.rheight() += mMargins.top()+mMargins.bottom(); + return result; +} + +/* inherits documentation from base class */ +void QCPTextElement::selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) +{ + Q_UNUSED(event) + Q_UNUSED(details) + if (mSelectable) + { + bool selBefore = mSelected; + setSelected(additive ? !mSelected : true); + if (selectionStateChanged) + *selectionStateChanged = mSelected != selBefore; + } +} + +/* inherits documentation from base class */ +void QCPTextElement::deselectEvent(bool *selectionStateChanged) +{ + if (mSelectable) + { + bool selBefore = mSelected; + setSelected(false); + if (selectionStateChanged) + *selectionStateChanged = mSelected != selBefore; + } +} + +/*! + Returns 0.99*selectionTolerance (see \ref QCustomPlot::setSelectionTolerance) when \a pos is + within the bounding box of the text element's text. Note that this bounding box is updated in the + draw call. + + If \a pos is outside the text's bounding box or if \a onlySelectable is true and this text + element is not selectable (\ref setSelectable), returns -1. + + \seebaseclassmethod +*/ +double QCPTextElement::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + if (mTextBoundingRect.contains(pos.toPoint())) + return mParentPlot->selectionTolerance()*0.99; + else + return -1; +} + +/*! + Accepts the mouse event in order to emit the according click signal in the \ref + mouseReleaseEvent. + + \seebaseclassmethod +*/ +void QCPTextElement::mousePressEvent(QMouseEvent *event, const QVariant &details) +{ + Q_UNUSED(details) + event->accept(); +} + +/*! + Emits the \ref clicked signal if the cursor hasn't moved by more than a few pixels since the \ref + mousePressEvent. + + \seebaseclassmethod +*/ +void QCPTextElement::mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) +{ + if ((QPointF(event->pos())-startPos).manhattanLength() <= 3) + emit clicked(event); +} + +/*! + Emits the \ref doubleClicked signal. + + \seebaseclassmethod +*/ +void QCPTextElement::mouseDoubleClickEvent(QMouseEvent *event, const QVariant &details) +{ + Q_UNUSED(details) + emit doubleClicked(event); +} + +/*! \internal + + Returns the main font to be used. This is mSelectedFont if \ref setSelected is set to + <tt>true</tt>, else mFont is returned. +*/ +QFont QCPTextElement::mainFont() const +{ + return mSelected ? mSelectedFont : mFont; +} + +/*! \internal + + Returns the main color to be used. This is mSelectedTextColor if \ref setSelected is set to + <tt>true</tt>, else mTextColor is returned. +*/ +QColor QCPTextElement::mainTextColor() const +{ + return mSelected ? mSelectedTextColor : mTextColor; +} +/* end of 'src/layoutelements/layoutelement-textelement.cpp' */ + + +/* including file 'src/layoutelements/layoutelement-colorscale.cpp', size 25770 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPColorScale +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPColorScale + \brief A color scale for use with color coding data such as QCPColorMap + + This layout element can be placed on the plot to correlate a color gradient with data values. It + is usually used in combination with one or multiple \ref QCPColorMap "QCPColorMaps". + + \image html QCPColorScale.png + + The color scale can be either horizontal or vertical, as shown in the image above. The + orientation and the side where the numbers appear is controlled with \ref setType. + + Use \ref QCPColorMap::setColorScale to connect a color map with a color scale. Once they are + connected, they share their gradient, data range and data scale type (\ref setGradient, \ref + setDataRange, \ref setDataScaleType). Multiple color maps may be associated with a single color + scale, to make them all synchronize these properties. + + To have finer control over the number display and axis behaviour, you can directly access the + \ref axis. See the documentation of QCPAxis for details about configuring axes. For example, if + you want to change the number of automatically generated ticks, call + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcolorscale-tickcount + + Placing a color scale next to the main axis rect works like with any other layout element: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcolorscale-creation + In this case we have placed it to the right of the default axis rect, so it wasn't necessary to + call \ref setType, since \ref QCPAxis::atRight is already the default. The text next to the color + scale can be set with \ref setLabel. + + For optimum appearance (like in the image above), it may be desirable to line up the axis rect and + the borders of the color scale. Use a \ref QCPMarginGroup to achieve this: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcolorscale-margingroup + + Color scales are initialized with a non-zero minimum top and bottom margin (\ref + setMinimumMargins), because vertical color scales are most common and the minimum top/bottom + margin makes sure it keeps some distance to the top/bottom widget border. So if you change to a + horizontal color scale by setting \ref setType to \ref QCPAxis::atBottom or \ref QCPAxis::atTop, you + might want to also change the minimum margins accordingly, e.g. <tt>setMinimumMargins(QMargins(6, 0, 6, 0))</tt>. +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPAxis *QCPColorScale::axis() const + + Returns the internal \ref QCPAxis instance of this color scale. You can access it to alter the + appearance and behaviour of the axis. \ref QCPColorScale duplicates some properties in its + interface for convenience. Those are \ref setDataRange (\ref QCPAxis::setRange), \ref + setDataScaleType (\ref QCPAxis::setScaleType), and the method \ref setLabel (\ref + QCPAxis::setLabel). As they each are connected, it does not matter whether you use the method on + the QCPColorScale or on its QCPAxis. + + If the type of the color scale is changed with \ref setType, the axis returned by this method + will change, too, to either the left, right, bottom or top axis, depending on which type was set. +*/ + +/* end documentation of signals */ +/* start documentation of signals */ + +/*! \fn void QCPColorScale::dataRangeChanged(const QCPRange &newRange); + + This signal is emitted when the data range changes. + + \see setDataRange +*/ + +/*! \fn void QCPColorScale::dataScaleTypeChanged(QCPAxis::ScaleType scaleType); + + This signal is emitted when the data scale type changes. + + \see setDataScaleType +*/ + +/*! \fn void QCPColorScale::gradientChanged(const QCPColorGradient &newGradient); + + This signal is emitted when the gradient changes. + + \see setGradient +*/ + +/* end documentation of signals */ + +/*! + Constructs a new QCPColorScale. +*/ +QCPColorScale::QCPColorScale(QCustomPlot *parentPlot) : + QCPLayoutElement(parentPlot), + mType(QCPAxis::atTop), // set to atTop such that setType(QCPAxis::atRight) below doesn't skip work because it thinks it's already atRight + mDataScaleType(QCPAxis::stLinear), + mBarWidth(20), + mAxisRect(new QCPColorScaleAxisRectPrivate(this)) +{ + setMinimumMargins(QMargins(0, 6, 0, 6)); // for default right color scale types, keep some room at bottom and top (important if no margin group is used) + setType(QCPAxis::atRight); + setDataRange(QCPRange(0, 6)); +} + +QCPColorScale::~QCPColorScale() +{ + delete mAxisRect; +} + +/* undocumented getter */ +QString QCPColorScale::label() const +{ + if (!mColorAxis) + { + qDebug() << Q_FUNC_INFO << "internal color axis undefined"; + return QString(); + } + + return mColorAxis.data()->label(); +} + +/* undocumented getter */ +bool QCPColorScale::rangeDrag() const +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return false; + } + + return mAxisRect.data()->rangeDrag().testFlag(QCPAxis::orientation(mType)) && + mAxisRect.data()->rangeDragAxis(QCPAxis::orientation(mType)) && + mAxisRect.data()->rangeDragAxis(QCPAxis::orientation(mType))->orientation() == QCPAxis::orientation(mType); +} + +/* undocumented getter */ +bool QCPColorScale::rangeZoom() const +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return false; + } + + return mAxisRect.data()->rangeZoom().testFlag(QCPAxis::orientation(mType)) && + mAxisRect.data()->rangeZoomAxis(QCPAxis::orientation(mType)) && + mAxisRect.data()->rangeZoomAxis(QCPAxis::orientation(mType))->orientation() == QCPAxis::orientation(mType); +} + +/*! + Sets at which side of the color scale the axis is placed, and thus also its orientation. + + Note that after setting \a type to a different value, the axis returned by \ref axis() will + be a different one. The new axis will adopt the following properties from the previous axis: The + range, scale type, label and ticker (the latter will be shared and not copied). +*/ +void QCPColorScale::setType(QCPAxis::AxisType type) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + if (mType != type) + { + mType = type; + QCPRange rangeTransfer(0, 6); + QString labelTransfer; + QSharedPointer<QCPAxisTicker> tickerTransfer; + // transfer/revert some settings on old axis if it exists: + bool doTransfer = (bool)mColorAxis; + if (doTransfer) + { + rangeTransfer = mColorAxis.data()->range(); + labelTransfer = mColorAxis.data()->label(); + tickerTransfer = mColorAxis.data()->ticker(); + mColorAxis.data()->setLabel(QString()); + disconnect(mColorAxis.data(), SIGNAL(rangeChanged(QCPRange)), this, SLOT(setDataRange(QCPRange))); + disconnect(mColorAxis.data(), SIGNAL(scaleTypeChanged(QCPAxis::ScaleType)), this, SLOT(setDataScaleType(QCPAxis::ScaleType))); + } + QList<QCPAxis::AxisType> allAxisTypes = QList<QCPAxis::AxisType>() << QCPAxis::atLeft << QCPAxis::atRight << QCPAxis::atBottom << QCPAxis::atTop; + foreach (QCPAxis::AxisType atype, allAxisTypes) + { + mAxisRect.data()->axis(atype)->setTicks(atype == mType); + mAxisRect.data()->axis(atype)->setTickLabels(atype== mType); + } + // set new mColorAxis pointer: + mColorAxis = mAxisRect.data()->axis(mType); + // transfer settings to new axis: + if (doTransfer) + { + mColorAxis.data()->setRange(rangeTransfer); // range transfer necessary if axis changes from vertical to horizontal or vice versa (axes with same orientation are synchronized via signals) + mColorAxis.data()->setLabel(labelTransfer); + mColorAxis.data()->setTicker(tickerTransfer); + } + connect(mColorAxis.data(), SIGNAL(rangeChanged(QCPRange)), this, SLOT(setDataRange(QCPRange))); + connect(mColorAxis.data(), SIGNAL(scaleTypeChanged(QCPAxis::ScaleType)), this, SLOT(setDataScaleType(QCPAxis::ScaleType))); + mAxisRect.data()->setRangeDragAxes(QList<QCPAxis*>() << mColorAxis.data()); + } +} + +/*! + Sets the range spanned by the color gradient and that is shown by the axis in the color scale. + + It is equivalent to calling QCPColorMap::setDataRange on any of the connected color maps. It is + also equivalent to directly accessing the \ref axis and setting its range with \ref + QCPAxis::setRange. + + \see setDataScaleType, setGradient, rescaleDataRange +*/ +void QCPColorScale::setDataRange(const QCPRange &dataRange) +{ + if (mDataRange.lower != dataRange.lower || mDataRange.upper != dataRange.upper) + { + mDataRange = dataRange; + if (mColorAxis) + mColorAxis.data()->setRange(mDataRange); + emit dataRangeChanged(mDataRange); + } +} + +/*! + Sets the scale type of the color scale, i.e. whether values are linearly associated with colors + or logarithmically. + + It is equivalent to calling QCPColorMap::setDataScaleType on any of the connected color maps. It is + also equivalent to directly accessing the \ref axis and setting its scale type with \ref + QCPAxis::setScaleType. + + \see setDataRange, setGradient +*/ +void QCPColorScale::setDataScaleType(QCPAxis::ScaleType scaleType) +{ + if (mDataScaleType != scaleType) + { + mDataScaleType = scaleType; + if (mColorAxis) + mColorAxis.data()->setScaleType(mDataScaleType); + if (mDataScaleType == QCPAxis::stLogarithmic) + setDataRange(mDataRange.sanitizedForLogScale()); + emit dataScaleTypeChanged(mDataScaleType); + } +} + +/*! + Sets the color gradient that will be used to represent data values. + + It is equivalent to calling QCPColorMap::setGradient on any of the connected color maps. + + \see setDataRange, setDataScaleType +*/ +void QCPColorScale::setGradient(const QCPColorGradient &gradient) +{ + if (mGradient != gradient) + { + mGradient = gradient; + if (mAxisRect) + mAxisRect.data()->mGradientImageInvalidated = true; + emit gradientChanged(mGradient); + } +} + +/*! + Sets the axis label of the color scale. This is equivalent to calling \ref QCPAxis::setLabel on + the internal \ref axis. +*/ +void QCPColorScale::setLabel(const QString &str) +{ + if (!mColorAxis) + { + qDebug() << Q_FUNC_INFO << "internal color axis undefined"; + return; + } + + mColorAxis.data()->setLabel(str); +} + +/*! + Sets the width (or height, for horizontal color scales) the bar where the gradient is displayed + will have. +*/ +void QCPColorScale::setBarWidth(int width) +{ + mBarWidth = width; +} + +/*! + Sets whether the user can drag the data range (\ref setDataRange). + + Note that \ref QCP::iRangeDrag must be in the QCustomPlot's interactions (\ref + QCustomPlot::setInteractions) to allow range dragging. +*/ +void QCPColorScale::setRangeDrag(bool enabled) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + + if (enabled) + mAxisRect.data()->setRangeDrag(QCPAxis::orientation(mType)); + else + mAxisRect.data()->setRangeDrag(0); +} + +/*! + Sets whether the user can zoom the data range (\ref setDataRange) by scrolling the mouse wheel. + + Note that \ref QCP::iRangeZoom must be in the QCustomPlot's interactions (\ref + QCustomPlot::setInteractions) to allow range dragging. +*/ +void QCPColorScale::setRangeZoom(bool enabled) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + + if (enabled) + mAxisRect.data()->setRangeZoom(QCPAxis::orientation(mType)); + else + mAxisRect.data()->setRangeZoom(0); +} + +/*! + Returns a list of all the color maps associated with this color scale. +*/ +QList<QCPColorMap*> QCPColorScale::colorMaps() const +{ + QList<QCPColorMap*> result; + for (int i=0; i<mParentPlot->plottableCount(); ++i) + { + if (QCPColorMap *cm = qobject_cast<QCPColorMap*>(mParentPlot->plottable(i))) + if (cm->colorScale() == this) + result.append(cm); + } + return result; +} + +/*! + Changes the data range such that all color maps associated with this color scale are fully mapped + to the gradient in the data dimension. + + \see setDataRange +*/ +void QCPColorScale::rescaleDataRange(bool onlyVisibleMaps) +{ + QList<QCPColorMap*> maps = colorMaps(); + QCPRange newRange; + bool haveRange = false; + QCP::SignDomain sign = QCP::sdBoth; + if (mDataScaleType == QCPAxis::stLogarithmic) + sign = (mDataRange.upper < 0 ? QCP::sdNegative : QCP::sdPositive); + for (int i=0; i<maps.size(); ++i) + { + if (!maps.at(i)->realVisibility() && onlyVisibleMaps) + continue; + QCPRange mapRange; + if (maps.at(i)->colorScale() == this) + { + bool currentFoundRange = true; + mapRange = maps.at(i)->data()->dataBounds(); + if (sign == QCP::sdPositive) + { + if (mapRange.lower <= 0 && mapRange.upper > 0) + mapRange.lower = mapRange.upper*1e-3; + else if (mapRange.lower <= 0 && mapRange.upper <= 0) + currentFoundRange = false; + } else if (sign == QCP::sdNegative) + { + if (mapRange.upper >= 0 && mapRange.lower < 0) + mapRange.upper = mapRange.lower*1e-3; + else if (mapRange.upper >= 0 && mapRange.lower >= 0) + currentFoundRange = false; + } + if (currentFoundRange) + { + if (!haveRange) + newRange = mapRange; + else + newRange.expand(mapRange); + haveRange = true; + } + } + } + if (haveRange) + { + if (!QCPRange::validRange(newRange)) // likely due to range being zero (plottable has only constant data in this dimension), shift current range to at least center the data + { + double center = (newRange.lower+newRange.upper)*0.5; // upper and lower should be equal anyway, but just to make sure, incase validRange returned false for other reason + if (mDataScaleType == QCPAxis::stLinear) + { + newRange.lower = center-mDataRange.size()/2.0; + newRange.upper = center+mDataRange.size()/2.0; + } else // mScaleType == stLogarithmic + { + newRange.lower = center/qSqrt(mDataRange.upper/mDataRange.lower); + newRange.upper = center*qSqrt(mDataRange.upper/mDataRange.lower); + } + } + setDataRange(newRange); + } +} + +/* inherits documentation from base class */ +void QCPColorScale::update(UpdatePhase phase) +{ + QCPLayoutElement::update(phase); + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + + mAxisRect.data()->update(phase); + + switch (phase) + { + case upMargins: + { + if (mType == QCPAxis::atBottom || mType == QCPAxis::atTop) + { + setMaximumSize(QWIDGETSIZE_MAX, mBarWidth+mAxisRect.data()->margins().top()+mAxisRect.data()->margins().bottom()); + setMinimumSize(0, mBarWidth+mAxisRect.data()->margins().top()+mAxisRect.data()->margins().bottom()); + } else + { + setMaximumSize(mBarWidth+mAxisRect.data()->margins().left()+mAxisRect.data()->margins().right(), QWIDGETSIZE_MAX); + setMinimumSize(mBarWidth+mAxisRect.data()->margins().left()+mAxisRect.data()->margins().right(), 0); + } + break; + } + case upLayout: + { + mAxisRect.data()->setOuterRect(rect()); + break; + } + default: break; + } +} + +/* inherits documentation from base class */ +void QCPColorScale::applyDefaultAntialiasingHint(QCPPainter *painter) const +{ + painter->setAntialiasing(false); +} + +/* inherits documentation from base class */ +void QCPColorScale::mousePressEvent(QMouseEvent *event, const QVariant &details) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + mAxisRect.data()->mousePressEvent(event, details); +} + +/* inherits documentation from base class */ +void QCPColorScale::mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + mAxisRect.data()->mouseMoveEvent(event, startPos); +} + +/* inherits documentation from base class */ +void QCPColorScale::mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + mAxisRect.data()->mouseReleaseEvent(event, startPos); +} + +/* inherits documentation from base class */ +void QCPColorScale::wheelEvent(QWheelEvent *event) +{ + if (!mAxisRect) + { + qDebug() << Q_FUNC_INFO << "internal axis rect was deleted"; + return; + } + mAxisRect.data()->wheelEvent(event); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPColorScaleAxisRectPrivate +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPColorScaleAxisRectPrivate + + \internal + \brief An axis rect subclass for use in a QCPColorScale + + This is a private class and not part of the public QCustomPlot interface. + + It provides the axis rect functionality for the QCPColorScale class. +*/ + + +/*! + Creates a new instance, as a child of \a parentColorScale. +*/ +QCPColorScaleAxisRectPrivate::QCPColorScaleAxisRectPrivate(QCPColorScale *parentColorScale) : + QCPAxisRect(parentColorScale->parentPlot(), true), + mParentColorScale(parentColorScale), + mGradientImageInvalidated(true) +{ + setParentLayerable(parentColorScale); + setMinimumMargins(QMargins(0, 0, 0, 0)); + QList<QCPAxis::AxisType> allAxisTypes = QList<QCPAxis::AxisType>() << QCPAxis::atBottom << QCPAxis::atTop << QCPAxis::atLeft << QCPAxis::atRight; + foreach (QCPAxis::AxisType type, allAxisTypes) + { + axis(type)->setVisible(true); + axis(type)->grid()->setVisible(false); + axis(type)->setPadding(0); + connect(axis(type), SIGNAL(selectionChanged(QCPAxis::SelectableParts)), this, SLOT(axisSelectionChanged(QCPAxis::SelectableParts))); + connect(axis(type), SIGNAL(selectableChanged(QCPAxis::SelectableParts)), this, SLOT(axisSelectableChanged(QCPAxis::SelectableParts))); + } + + connect(axis(QCPAxis::atLeft), SIGNAL(rangeChanged(QCPRange)), axis(QCPAxis::atRight), SLOT(setRange(QCPRange))); + connect(axis(QCPAxis::atRight), SIGNAL(rangeChanged(QCPRange)), axis(QCPAxis::atLeft), SLOT(setRange(QCPRange))); + connect(axis(QCPAxis::atBottom), SIGNAL(rangeChanged(QCPRange)), axis(QCPAxis::atTop), SLOT(setRange(QCPRange))); + connect(axis(QCPAxis::atTop), SIGNAL(rangeChanged(QCPRange)), axis(QCPAxis::atBottom), SLOT(setRange(QCPRange))); + connect(axis(QCPAxis::atLeft), SIGNAL(scaleTypeChanged(QCPAxis::ScaleType)), axis(QCPAxis::atRight), SLOT(setScaleType(QCPAxis::ScaleType))); + connect(axis(QCPAxis::atRight), SIGNAL(scaleTypeChanged(QCPAxis::ScaleType)), axis(QCPAxis::atLeft), SLOT(setScaleType(QCPAxis::ScaleType))); + connect(axis(QCPAxis::atBottom), SIGNAL(scaleTypeChanged(QCPAxis::ScaleType)), axis(QCPAxis::atTop), SLOT(setScaleType(QCPAxis::ScaleType))); + connect(axis(QCPAxis::atTop), SIGNAL(scaleTypeChanged(QCPAxis::ScaleType)), axis(QCPAxis::atBottom), SLOT(setScaleType(QCPAxis::ScaleType))); + + // make layer transfers of color scale transfer to axis rect and axes + // the axes must be set after axis rect, such that they appear above color gradient drawn by axis rect: + connect(parentColorScale, SIGNAL(layerChanged(QCPLayer*)), this, SLOT(setLayer(QCPLayer*))); + foreach (QCPAxis::AxisType type, allAxisTypes) + connect(parentColorScale, SIGNAL(layerChanged(QCPLayer*)), axis(type), SLOT(setLayer(QCPLayer*))); +} + +/*! \internal + + Updates the color gradient image if necessary, by calling \ref updateGradientImage, then draws + it. Then the axes are drawn by calling the \ref QCPAxisRect::draw base class implementation. + + \seebaseclassmethod +*/ +void QCPColorScaleAxisRectPrivate::draw(QCPPainter *painter) +{ + if (mGradientImageInvalidated) + updateGradientImage(); + + bool mirrorHorz = false; + bool mirrorVert = false; + if (mParentColorScale->mColorAxis) + { + mirrorHorz = mParentColorScale->mColorAxis.data()->rangeReversed() && (mParentColorScale->type() == QCPAxis::atBottom || mParentColorScale->type() == QCPAxis::atTop); + mirrorVert = mParentColorScale->mColorAxis.data()->rangeReversed() && (mParentColorScale->type() == QCPAxis::atLeft || mParentColorScale->type() == QCPAxis::atRight); + } + + painter->drawImage(rect().adjusted(0, -1, 0, -1), mGradientImage.mirrored(mirrorHorz, mirrorVert)); + QCPAxisRect::draw(painter); +} + +/*! \internal + + Uses the current gradient of the parent \ref QCPColorScale (specified in the constructor) to + generate a gradient image. This gradient image will be used in the \ref draw method. +*/ +void QCPColorScaleAxisRectPrivate::updateGradientImage() +{ + if (rect().isEmpty()) + return; + + const QImage::Format format = QImage::Format_ARGB32_Premultiplied; + int n = mParentColorScale->mGradient.levelCount(); + int w, h; + QVector<double> data(n); + for (int i=0; i<n; ++i) + data[i] = i; + if (mParentColorScale->mType == QCPAxis::atBottom || mParentColorScale->mType == QCPAxis::atTop) + { + w = n; + h = rect().height(); + mGradientImage = QImage(w, h, format); + QVector<QRgb*> pixels; + for (int y=0; y<h; ++y) + pixels.append(reinterpret_cast<QRgb*>(mGradientImage.scanLine(y))); + mParentColorScale->mGradient.colorize(data.constData(), QCPRange(0, n-1), pixels.first(), n); + for (int y=1; y<h; ++y) + memcpy(pixels.at(y), pixels.first(), n*sizeof(QRgb)); + } else + { + w = rect().width(); + h = n; + mGradientImage = QImage(w, h, format); + for (int y=0; y<h; ++y) + { + QRgb *pixels = reinterpret_cast<QRgb*>(mGradientImage.scanLine(y)); + const QRgb lineColor = mParentColorScale->mGradient.color(data[h-1-y], QCPRange(0, n-1)); + for (int x=0; x<w; ++x) + pixels[x] = lineColor; + } + } + mGradientImageInvalidated = false; +} + +/*! \internal + + This slot is connected to the selectionChanged signals of the four axes in the constructor. It + synchronizes the selection state of the axes. +*/ +void QCPColorScaleAxisRectPrivate::axisSelectionChanged(QCPAxis::SelectableParts selectedParts) +{ + // axis bases of four axes shall always (de-)selected synchronously: + QList<QCPAxis::AxisType> allAxisTypes = QList<QCPAxis::AxisType>() << QCPAxis::atBottom << QCPAxis::atTop << QCPAxis::atLeft << QCPAxis::atRight; + foreach (QCPAxis::AxisType type, allAxisTypes) + { + if (QCPAxis *senderAxis = qobject_cast<QCPAxis*>(sender())) + if (senderAxis->axisType() == type) + continue; + + if (axis(type)->selectableParts().testFlag(QCPAxis::spAxis)) + { + if (selectedParts.testFlag(QCPAxis::spAxis)) + axis(type)->setSelectedParts(axis(type)->selectedParts() | QCPAxis::spAxis); + else + axis(type)->setSelectedParts(axis(type)->selectedParts() & ~QCPAxis::spAxis); + } + } +} + +/*! \internal + + This slot is connected to the selectableChanged signals of the four axes in the constructor. It + synchronizes the selectability of the axes. +*/ +void QCPColorScaleAxisRectPrivate::axisSelectableChanged(QCPAxis::SelectableParts selectableParts) +{ + // synchronize axis base selectability: + QList<QCPAxis::AxisType> allAxisTypes = QList<QCPAxis::AxisType>() << QCPAxis::atBottom << QCPAxis::atTop << QCPAxis::atLeft << QCPAxis::atRight; + foreach (QCPAxis::AxisType type, allAxisTypes) + { + if (QCPAxis *senderAxis = qobject_cast<QCPAxis*>(sender())) + if (senderAxis->axisType() == type) + continue; + + if (axis(type)->selectableParts().testFlag(QCPAxis::spAxis)) + { + if (selectableParts.testFlag(QCPAxis::spAxis)) + axis(type)->setSelectableParts(axis(type)->selectableParts() | QCPAxis::spAxis); + else + axis(type)->setSelectableParts(axis(type)->selectableParts() & ~QCPAxis::spAxis); + } + } +} +/* end of 'src/layoutelements/layoutelement-colorscale.cpp' */ + + +/* including file 'src/plottables/plottable-graph.cpp', size 73960 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPGraphData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPGraphData + \brief Holds the data of one single data point for QCPGraph. + + The stored data is: + \li \a key: coordinate on the key axis of this data point (this is the \a mainKey and the \a sortKey) + \li \a value: coordinate on the value axis of this data point (this is the \a mainValue) + + The container for storing multiple data points is \ref QCPGraphDataContainer. It is a typedef for + \ref QCPDataContainer with \ref QCPGraphData as the DataType template parameter. See the + documentation there for an explanation regarding the data type's generic methods. + + \see QCPGraphDataContainer +*/ + +/* start documentation of inline functions */ + +/*! \fn double QCPGraphData::sortKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static QCPGraphData QCPGraphData::fromSortKey(double sortKey) + + Returns a data point with the specified \a sortKey. All other members are set to zero. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static static bool QCPGraphData::sortKeyIsMainKey() + + Since the member \a key is both the data point key coordinate and the data ordering parameter, + this method returns true. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPGraphData::mainKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPGraphData::mainValue() const + + Returns the \a value member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn QCPRange QCPGraphData::valueRange() const + + Returns a QCPRange with both lower and upper boundary set to \a value of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a data point with key and value set to zero. +*/ +QCPGraphData::QCPGraphData() : + key(0), + value(0) +{ +} + +/*! + Constructs a data point with the specified \a key and \a value. +*/ +QCPGraphData::QCPGraphData(double key, double value) : + key(key), + value(value) +{ +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPGraph +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPGraph + \brief A plottable representing a graph in a plot. + + \image html QCPGraph.png + + Usually you create new graphs by calling QCustomPlot::addGraph. The resulting instance can be + accessed via QCustomPlot::graph. + + To plot data, assign it with the \ref setData or \ref addData functions. Alternatively, you can + also access and modify the data via the \ref data method, which returns a pointer to the internal + \ref QCPGraphDataContainer. + + Graphs are used to display single-valued data. Single-valued means that there should only be one + data point per unique key coordinate. In other words, the graph can't have \a loops. If you do + want to plot non-single-valued curves, rather use the QCPCurve plottable. + + Gaps in the graph line can be created by adding data points with NaN as value + (<tt>qQNaN()</tt> or <tt>std::numeric_limits<double>::quiet_NaN()</tt>) in between the two data points that shall be + separated. + + \section qcpgraph-appearance Changing the appearance + + The appearance of the graph is mainly determined by the line style, scatter style, brush and pen + of the graph (\ref setLineStyle, \ref setScatterStyle, \ref setBrush, \ref setPen). + + \subsection filling Filling under or between graphs + + QCPGraph knows two types of fills: Normal graph fills towards the zero-value-line parallel to + the key axis of the graph, and fills between two graphs, called channel fills. To enable a fill, + just set a brush with \ref setBrush which is neither Qt::NoBrush nor fully transparent. + + By default, a normal fill towards the zero-value-line will be drawn. To set up a channel fill + between this graph and another one, call \ref setChannelFillGraph with the other graph as + parameter. + + \see QCustomPlot::addGraph, QCustomPlot::graph +*/ + +/* start of documentation of inline functions */ + +/*! \fn QSharedPointer<QCPGraphDataContainer> QCPGraph::data() const + + Returns a shared pointer to the internal data storage of type \ref QCPGraphDataContainer. You may + use it to directly manipulate the data, which may be more convenient and faster than using the + regular \ref setData or \ref addData methods. +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs a graph which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value + axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have + the same orientation. If either of these restrictions is violated, a corresponding message is + printed to the debug output (qDebug), the construction is not aborted, though. + + The created QCPGraph is automatically registered with the QCustomPlot instance inferred from \a + keyAxis. This QCustomPlot instance takes ownership of the QCPGraph, so do not delete it manually + but use QCustomPlot::removePlottable() instead. + + To directly create a graph inside a plot, you can also use the simpler QCustomPlot::addGraph function. +*/ +QCPGraph::QCPGraph(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable1D<QCPGraphData>(keyAxis, valueAxis) +{ + // special handling for QCPGraphs to maintain the simple graph interface: + mParentPlot->registerGraph(this); + + setPen(QPen(Qt::blue, 0)); + setBrush(Qt::NoBrush); + + setLineStyle(lsLine); + setScatterSkip(0); + setChannelFillGraph(0); + setAdaptiveSampling(true); +} + +QCPGraph::~QCPGraph() +{ +} + +/*! \overload + + Replaces the current data container with the provided \a data container. + + Since a QSharedPointer is used, multiple QCPGraphs may share the same data container safely. + Modifying the data in the container will then affect all graphs that share the container. Sharing + can be achieved by simply exchanging the data containers wrapped in shared pointers: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpgraph-datasharing-1 + + If you do not wish to share containers, but create a copy from an existing container, rather use + the \ref QCPDataContainer<DataType>::set method on the graph's data container directly: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpgraph-datasharing-2 + + \see addData +*/ +void QCPGraph::setData(QSharedPointer<QCPGraphDataContainer> data) +{ + mDataContainer = data; +} + +/*! \overload + + Replaces the current data with the provided points in \a keys and \a values. The provided + vectors should have equal length. Else, the number of added points will be the size of the + smallest vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + \see addData +*/ +void QCPGraph::setData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted) +{ + mDataContainer->clear(); + addData(keys, values, alreadySorted); +} + +/*! + Sets how the single data points are connected in the plot. For scatter-only plots, set \a ls to + \ref lsNone and \ref setScatterStyle to the desired scatter style. + + \see setScatterStyle +*/ +void QCPGraph::setLineStyle(LineStyle ls) +{ + mLineStyle = ls; +} + +/*! + Sets the visual appearance of single data points in the plot. If set to \ref QCPScatterStyle::ssNone, no scatter points + are drawn (e.g. for line-only-plots with appropriate line style). + + \see QCPScatterStyle, setLineStyle +*/ +void QCPGraph::setScatterStyle(const QCPScatterStyle &style) +{ + mScatterStyle = style; +} + +/*! + If scatters are displayed (scatter style not \ref QCPScatterStyle::ssNone), \a skip number of + scatter points are skipped/not drawn after every drawn scatter point. + + This can be used to make the data appear sparser while for example still having a smooth line, + and to improve performance for very high density plots. + + If \a skip is set to 0 (default), all scatter points are drawn. + + \see setScatterStyle +*/ +void QCPGraph::setScatterSkip(int skip) +{ + mScatterSkip = qMax(0, skip); +} + +/*! + Sets the target graph for filling the area between this graph and \a targetGraph with the current + brush (\ref setBrush). + + When \a targetGraph is set to 0, a normal graph fill to the zero-value-line will be shown. To + disable any filling, set the brush to Qt::NoBrush. + + \see setBrush +*/ +void QCPGraph::setChannelFillGraph(QCPGraph *targetGraph) +{ + // prevent setting channel target to this graph itself: + if (targetGraph == this) + { + qDebug() << Q_FUNC_INFO << "targetGraph is this graph itself"; + mChannelFillGraph = 0; + return; + } + // prevent setting channel target to a graph not in the plot: + if (targetGraph && targetGraph->mParentPlot != mParentPlot) + { + qDebug() << Q_FUNC_INFO << "targetGraph not in same plot"; + mChannelFillGraph = 0; + return; + } + + mChannelFillGraph = targetGraph; +} + +/*! + Sets whether adaptive sampling shall be used when plotting this graph. QCustomPlot's adaptive + sampling technique can drastically improve the replot performance for graphs with a larger number + of points (e.g. above 10,000), without notably changing the appearance of the graph. + + By default, adaptive sampling is enabled. Even if enabled, QCustomPlot decides whether adaptive + sampling shall actually be used on a per-graph basis. So leaving adaptive sampling enabled has no + disadvantage in almost all cases. + + \image html adaptive-sampling-line.png "A line plot of 500,000 points without and with adaptive sampling" + + As can be seen, line plots experience no visual degradation from adaptive sampling. Outliers are + reproduced reliably, as well as the overall shape of the data set. The replot time reduces + dramatically though. This allows QCustomPlot to display large amounts of data in realtime. + + \image html adaptive-sampling-scatter.png "A scatter plot of 100,000 points without and with adaptive sampling" + + Care must be taken when using high-density scatter plots in combination with adaptive sampling. + The adaptive sampling algorithm treats scatter plots more carefully than line plots which still + gives a significant reduction of replot times, but not quite as much as for line plots. This is + because scatter plots inherently need more data points to be preserved in order to still resemble + the original, non-adaptive-sampling plot. As shown above, the results still aren't quite + identical, as banding occurs for the outer data points. This is in fact intentional, such that + the boundaries of the data cloud stay visible to the viewer. How strong the banding appears, + depends on the point density, i.e. the number of points in the plot. + + For some situations with scatter plots it might thus be desirable to manually turn adaptive + sampling off. For example, when saving the plot to disk. This can be achieved by setting \a + enabled to false before issuing a command like \ref QCustomPlot::savePng, and setting \a enabled + back to true afterwards. +*/ +void QCPGraph::setAdaptiveSampling(bool enabled) +{ + mAdaptiveSampling = enabled; +} + +/*! \overload + + Adds the provided points in \a keys and \a values to the current data. The provided vectors + should have equal length. Else, the number of added points will be the size of the smallest + vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPGraph::addData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted) +{ + if (keys.size() != values.size()) + qDebug() << Q_FUNC_INFO << "keys and values have different sizes:" << keys.size() << values.size(); + const int n = qMin(keys.size(), values.size()); + QVector<QCPGraphData> tempData(n); + QVector<QCPGraphData>::iterator it = tempData.begin(); + const QVector<QCPGraphData>::iterator itEnd = tempData.end(); + int i = 0; + while (it != itEnd) + { + it->key = keys[i]; + it->value = values[i]; + ++it; + ++i; + } + mDataContainer->add(tempData, alreadySorted); // don't modify tempData beyond this to prevent copy on write +} + +/*! \overload + + Adds the provided data point as \a key and \a value to the current data. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPGraph::addData(double key, double value) +{ + mDataContainer->add(QCPGraphData(key, value)); +} + +/* inherits documentation from base class */ +double QCPGraph::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis.data()->axisRect()->rect().contains(pos.toPoint())) + { + QCPGraphDataContainer::const_iterator closestDataPoint = mDataContainer->constEnd(); + double result = pointDistance(pos, closestDataPoint); + if (details) + { + int pointIndex = closestDataPoint-mDataContainer->constBegin(); + details->setValue(QCPDataSelection(QCPDataRange(pointIndex, pointIndex+1))); + } + return result; + } else + return -1; +} + +/* inherits documentation from base class */ +QCPRange QCPGraph::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + return mDataContainer->keyRange(foundRange, inSignDomain); +} + +/* inherits documentation from base class */ +QCPRange QCPGraph::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + return mDataContainer->valueRange(foundRange, inSignDomain, inKeyRange); +} + +/* inherits documentation from base class */ +void QCPGraph::draw(QCPPainter *painter) +{ + if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + if (mKeyAxis.data()->range().size() <= 0 || mDataContainer->isEmpty()) return; + if (mLineStyle == lsNone && mScatterStyle.isNone()) return; + + QVector<QPointF> lines, scatters; // line and (if necessary) scatter pixel coordinates will be stored here while iterating over segments + + // loop over and draw segments of unselected/selected data: + QList<QCPDataRange> selectedSegments, unselectedSegments, allSegments; + getDataSegments(selectedSegments, unselectedSegments); + allSegments << unselectedSegments << selectedSegments; + for (int i=0; i<allSegments.size(); ++i) + { + bool isSelectedSegment = i >= unselectedSegments.size(); + // get line pixel points appropriate to line style: + QCPDataRange lineDataRange = isSelectedSegment ? allSegments.at(i) : allSegments.at(i).adjusted(-1, 1); // unselected segments extend lines to bordering selected data point (safe to exceed total data bounds in first/last segment, getLines takes care) + getLines(&lines, lineDataRange); + + // check data validity if flag set: +#ifdef QCUSTOMPLOT_CHECK_DATA + QCPGraphDataContainer::const_iterator it; + for (it = mDataContainer->constBegin(); it != mDataContainer->constEnd(); ++it) + { + if (QCP::isInvalidData(it->key, it->value)) + qDebug() << Q_FUNC_INFO << "Data point at" << it->key << "invalid." << "Plottable name:" << name(); + } +#endif + + // draw fill of graph: + if (isSelectedSegment && mSelectionDecorator) + mSelectionDecorator->applyBrush(painter); + else + painter->setBrush(mBrush); + painter->setPen(Qt::NoPen); + drawFill(painter, &lines); + + // draw line: + if (mLineStyle != lsNone) + { + if (isSelectedSegment && mSelectionDecorator) + mSelectionDecorator->applyPen(painter); + else + painter->setPen(mPen); + painter->setBrush(Qt::NoBrush); + if (mLineStyle == lsImpulse) + drawImpulsePlot(painter, lines); + else + drawLinePlot(painter, lines); // also step plots can be drawn as a line plot + } + + // draw scatters: + QCPScatterStyle finalScatterStyle = mScatterStyle; + if (isSelectedSegment && mSelectionDecorator) + finalScatterStyle = mSelectionDecorator->getFinalScatterStyle(mScatterStyle); + if (!finalScatterStyle.isNone()) + { + getScatters(&scatters, allSegments.at(i)); + drawScatterPlot(painter, scatters, finalScatterStyle); + } + } + + // draw other selection decoration that isn't just line/scatter pens and brushes: + if (mSelectionDecorator) + mSelectionDecorator->drawDecoration(painter, selection()); +} + +/* inherits documentation from base class */ +void QCPGraph::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + // draw fill: + if (mBrush.style() != Qt::NoBrush) + { + applyFillAntialiasingHint(painter); + painter->fillRect(QRectF(rect.left(), rect.top()+rect.height()/2.0, rect.width(), rect.height()/3.0), mBrush); + } + // draw line vertically centered: + if (mLineStyle != lsNone) + { + applyDefaultAntialiasingHint(painter); + painter->setPen(mPen); + painter->drawLine(QLineF(rect.left(), rect.top()+rect.height()/2.0, rect.right()+5, rect.top()+rect.height()/2.0)); // +5 on x2 else last segment is missing from dashed/dotted pens + } + // draw scatter symbol: + if (!mScatterStyle.isNone()) + { + applyScattersAntialiasingHint(painter); + // scale scatter pixmap if it's too large to fit in legend icon rect: + if (mScatterStyle.shape() == QCPScatterStyle::ssPixmap && (mScatterStyle.pixmap().size().width() > rect.width() || mScatterStyle.pixmap().size().height() > rect.height())) + { + QCPScatterStyle scaledStyle(mScatterStyle); + scaledStyle.setPixmap(scaledStyle.pixmap().scaled(rect.size().toSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); + scaledStyle.applyTo(painter, mPen); + scaledStyle.drawShape(painter, QRectF(rect).center()); + } else + { + mScatterStyle.applyTo(painter, mPen); + mScatterStyle.drawShape(painter, QRectF(rect).center()); + } + } +} + +/*! \internal + + This method retrieves an optimized set of data points via \ref getOptimizedLineData, an branches + out to the line style specific functions such as \ref dataToLines, \ref dataToStepLeftLines, etc. + according to the line style of the graph. + + \a lines will be filled with points in pixel coordinates, that can be drawn with the according + draw functions like \ref drawLinePlot and \ref drawImpulsePlot. The points returned in \a lines + aren't necessarily the original data points. For example, step line styles require additional + points to form the steps when drawn. If the line style of the graph is \ref lsNone, the \a + lines vector will be empty. + + \a dataRange specifies the beginning and ending data indices that will be taken into account for + conversion. In this function, the specified range may exceed the total data bounds without harm: + a correspondingly trimmed data range will be used. This takes the burden off the user of this + function to check for valid indices in \a dataRange, e.g. when extending ranges coming from \ref + getDataSegments. + + \see getScatters +*/ +void QCPGraph::getLines(QVector<QPointF> *lines, const QCPDataRange &dataRange) const +{ + if (!lines) return; + QCPGraphDataContainer::const_iterator begin, end; + getVisibleDataBounds(begin, end, dataRange); + if (begin == end) + { + lines->clear(); + return; + } + + QVector<QCPGraphData> lineData; + if (mLineStyle != lsNone) + getOptimizedLineData(&lineData, begin, end); + + if (mKeyAxis->rangeReversed() != (mKeyAxis->orientation() == Qt::Vertical)) // make sure key pixels are sorted ascending in lineData (significantly simplifies following processing) + std::reverse(lineData.begin(), lineData.end()); + + switch (mLineStyle) + { + case lsNone: lines->clear(); break; + case lsLine: *lines = dataToLines(lineData); break; + case lsStepLeft: *lines = dataToStepLeftLines(lineData); break; + case lsStepRight: *lines = dataToStepRightLines(lineData); break; + case lsStepCenter: *lines = dataToStepCenterLines(lineData); break; + case lsImpulse: *lines = dataToImpulseLines(lineData); break; + } +} + +/*! \internal + + This method retrieves an optimized set of data points via \ref getOptimizedScatterData and then + converts them to pixel coordinates. The resulting points are returned in \a scatters, and can be + passed to \ref drawScatterPlot. + + \a dataRange specifies the beginning and ending data indices that will be taken into account for + conversion. In this function, the specified range may exceed the total data bounds without harm: + a correspondingly trimmed data range will be used. This takes the burden off the user of this + function to check for valid indices in \a dataRange, e.g. when extending ranges coming from \ref + getDataSegments. +*/ +void QCPGraph::getScatters(QVector<QPointF> *scatters, const QCPDataRange &dataRange) const +{ + if (!scatters) return; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; scatters->clear(); return; } + + QCPGraphDataContainer::const_iterator begin, end; + getVisibleDataBounds(begin, end, dataRange); + if (begin == end) + { + scatters->clear(); + return; + } + + QVector<QCPGraphData> data; + getOptimizedScatterData(&data, begin, end); + + if (mKeyAxis->rangeReversed() != (mKeyAxis->orientation() == Qt::Vertical)) // make sure key pixels are sorted ascending in data (significantly simplifies following processing) + std::reverse(data.begin(), data.end()); + + scatters->resize(data.size()); + if (keyAxis->orientation() == Qt::Vertical) + { + for (int i=0; i<data.size(); ++i) + { + if (!qIsNaN(data.at(i).value)) + { + (*scatters)[i].setX(valueAxis->coordToPixel(data.at(i).value)); + (*scatters)[i].setY(keyAxis->coordToPixel(data.at(i).key)); + } + } + } else + { + for (int i=0; i<data.size(); ++i) + { + if (!qIsNaN(data.at(i).value)) + { + (*scatters)[i].setX(keyAxis->coordToPixel(data.at(i).key)); + (*scatters)[i].setY(valueAxis->coordToPixel(data.at(i).value)); + } + } + } +} + +/*! \internal + + Takes raw data points in plot coordinates as \a data, and returns a vector containing pixel + coordinate points which are suitable for drawing the line style \ref lsLine. + + The source of \a data is usually \ref getOptimizedLineData, and this method is called in \a + getLines if the line style is set accordingly. + + \see dataToStepLeftLines, dataToStepRightLines, dataToStepCenterLines, dataToImpulseLines, getLines, drawLinePlot +*/ +QVector<QPointF> QCPGraph::dataToLines(const QVector<QCPGraphData> &data) const +{ + QVector<QPointF> result; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return result; } + + result.resize(data.size()); + + // transform data points to pixels: + if (keyAxis->orientation() == Qt::Vertical) + { + for (int i=0; i<data.size(); ++i) + { + result[i].setX(valueAxis->coordToPixel(data.at(i).value)); + result[i].setY(keyAxis->coordToPixel(data.at(i).key)); + } + } else // key axis is horizontal + { + for (int i=0; i<data.size(); ++i) + { + result[i].setX(keyAxis->coordToPixel(data.at(i).key)); + result[i].setY(valueAxis->coordToPixel(data.at(i).value)); + } + } + return result; +} + +/*! \internal + + Takes raw data points in plot coordinates as \a data, and returns a vector containing pixel + coordinate points which are suitable for drawing the line style \ref lsStepLeft. + + The source of \a data is usually \ref getOptimizedLineData, and this method is called in \a + getLines if the line style is set accordingly. + + \see dataToLines, dataToStepRightLines, dataToStepCenterLines, dataToImpulseLines, getLines, drawLinePlot +*/ +QVector<QPointF> QCPGraph::dataToStepLeftLines(const QVector<QCPGraphData> &data) const +{ + QVector<QPointF> result; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return result; } + + result.resize(data.size()*2); + + // calculate steps from data and transform to pixel coordinates: + if (keyAxis->orientation() == Qt::Vertical) + { + double lastValue = valueAxis->coordToPixel(data.first().value); + for (int i=0; i<data.size(); ++i) + { + const double key = keyAxis->coordToPixel(data.at(i).key); + result[i*2+0].setX(lastValue); + result[i*2+0].setY(key); + lastValue = valueAxis->coordToPixel(data.at(i).value); + result[i*2+1].setX(lastValue); + result[i*2+1].setY(key); + } + } else // key axis is horizontal + { + double lastValue = valueAxis->coordToPixel(data.first().value); + for (int i=0; i<data.size(); ++i) + { + const double key = keyAxis->coordToPixel(data.at(i).key); + result[i*2+0].setX(key); + result[i*2+0].setY(lastValue); + lastValue = valueAxis->coordToPixel(data.at(i).value); + result[i*2+1].setX(key); + result[i*2+1].setY(lastValue); + } + } + return result; +} + +/*! \internal + + Takes raw data points in plot coordinates as \a data, and returns a vector containing pixel + coordinate points which are suitable for drawing the line style \ref lsStepRight. + + The source of \a data is usually \ref getOptimizedLineData, and this method is called in \a + getLines if the line style is set accordingly. + + \see dataToLines, dataToStepLeftLines, dataToStepCenterLines, dataToImpulseLines, getLines, drawLinePlot +*/ +QVector<QPointF> QCPGraph::dataToStepRightLines(const QVector<QCPGraphData> &data) const +{ + QVector<QPointF> result; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return result; } + + result.resize(data.size()*2); + + // calculate steps from data and transform to pixel coordinates: + if (keyAxis->orientation() == Qt::Vertical) + { + double lastKey = keyAxis->coordToPixel(data.first().key); + for (int i=0; i<data.size(); ++i) + { + const double value = valueAxis->coordToPixel(data.at(i).value); + result[i*2+0].setX(value); + result[i*2+0].setY(lastKey); + lastKey = keyAxis->coordToPixel(data.at(i).key); + result[i*2+1].setX(value); + result[i*2+1].setY(lastKey); + } + } else // key axis is horizontal + { + double lastKey = keyAxis->coordToPixel(data.first().key); + for (int i=0; i<data.size(); ++i) + { + const double value = valueAxis->coordToPixel(data.at(i).value); + result[i*2+0].setX(lastKey); + result[i*2+0].setY(value); + lastKey = keyAxis->coordToPixel(data.at(i).key); + result[i*2+1].setX(lastKey); + result[i*2+1].setY(value); + } + } + return result; +} + +/*! \internal + + Takes raw data points in plot coordinates as \a data, and returns a vector containing pixel + coordinate points which are suitable for drawing the line style \ref lsStepCenter. + + The source of \a data is usually \ref getOptimizedLineData, and this method is called in \a + getLines if the line style is set accordingly. + + \see dataToLines, dataToStepLeftLines, dataToStepRightLines, dataToImpulseLines, getLines, drawLinePlot +*/ +QVector<QPointF> QCPGraph::dataToStepCenterLines(const QVector<QCPGraphData> &data) const +{ + QVector<QPointF> result; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return result; } + + result.resize(data.size()*2); + + // calculate steps from data and transform to pixel coordinates: + if (keyAxis->orientation() == Qt::Vertical) + { + double lastKey = keyAxis->coordToPixel(data.first().key); + double lastValue = valueAxis->coordToPixel(data.first().value); + result[0].setX(lastValue); + result[0].setY(lastKey); + for (int i=1; i<data.size(); ++i) + { + const double key = (keyAxis->coordToPixel(data.at(i).key)+lastKey)*0.5; + result[i*2-1].setX(lastValue); + result[i*2-1].setY(key); + lastValue = valueAxis->coordToPixel(data.at(i).value); + lastKey = keyAxis->coordToPixel(data.at(i).key); + result[i*2+0].setX(lastValue); + result[i*2+0].setY(key); + } + result[data.size()*2-1].setX(lastValue); + result[data.size()*2-1].setY(lastKey); + } else // key axis is horizontal + { + double lastKey = keyAxis->coordToPixel(data.first().key); + double lastValue = valueAxis->coordToPixel(data.first().value); + result[0].setX(lastKey); + result[0].setY(lastValue); + for (int i=1; i<data.size(); ++i) + { + const double key = (keyAxis->coordToPixel(data.at(i).key)+lastKey)*0.5; + result[i*2-1].setX(key); + result[i*2-1].setY(lastValue); + lastValue = valueAxis->coordToPixel(data.at(i).value); + lastKey = keyAxis->coordToPixel(data.at(i).key); + result[i*2+0].setX(key); + result[i*2+0].setY(lastValue); + } + result[data.size()*2-1].setX(lastKey); + result[data.size()*2-1].setY(lastValue); + } + return result; +} + +/*! \internal + + Takes raw data points in plot coordinates as \a data, and returns a vector containing pixel + coordinate points which are suitable for drawing the line style \ref lsImpulse. + + The source of \a data is usually \ref getOptimizedLineData, and this method is called in \a + getLines if the line style is set accordingly. + + \see dataToLines, dataToStepLeftLines, dataToStepRightLines, dataToStepCenterLines, getLines, drawImpulsePlot +*/ +QVector<QPointF> QCPGraph::dataToImpulseLines(const QVector<QCPGraphData> &data) const +{ + QVector<QPointF> result; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return result; } + + result.resize(data.size()*2); + + // transform data points to pixels: + if (keyAxis->orientation() == Qt::Vertical) + { + for (int i=0; i<data.size(); ++i) + { + const double key = keyAxis->coordToPixel(data.at(i).key); + result[i*2+0].setX(valueAxis->coordToPixel(0)); + result[i*2+0].setY(key); + result[i*2+1].setX(valueAxis->coordToPixel(data.at(i).value)); + result[i*2+1].setY(key); + } + } else // key axis is horizontal + { + for (int i=0; i<data.size(); ++i) + { + const double key = keyAxis->coordToPixel(data.at(i).key); + result[i*2+0].setX(key); + result[i*2+0].setY(valueAxis->coordToPixel(0)); + result[i*2+1].setX(key); + result[i*2+1].setY(valueAxis->coordToPixel(data.at(i).value)); + } + } + return result; +} + +/*! \internal + + Draws the fill of the graph using the specified \a painter, with the currently set brush. + + Depending on whether a normal fill or a channel fill (\ref setChannelFillGraph) is needed, \ref + getFillPolygon or \ref getChannelFillPolygon are used to find the according fill polygons. + + In order to handle NaN Data points correctly (the fill needs to be split into disjoint areas), + this method first determines a list of non-NaN segments with \ref getNonNanSegments, on which to + operate. In the channel fill case, \ref getOverlappingSegments is used to consolidate the non-NaN + segments of the two involved graphs, before passing the overlapping pairs to \ref + getChannelFillPolygon. + + Pass the points of this graph's line as \a lines, in pixel coordinates. + + \see drawLinePlot, drawImpulsePlot, drawScatterPlot +*/ +void QCPGraph::drawFill(QCPPainter *painter, QVector<QPointF> *lines) const +{ + if (mLineStyle == lsImpulse) return; // fill doesn't make sense for impulse plot + if (painter->brush().style() == Qt::NoBrush || painter->brush().color().alpha() == 0) return; + + applyFillAntialiasingHint(painter); + QVector<QCPDataRange> segments = getNonNanSegments(lines, keyAxis()->orientation()); + if (!mChannelFillGraph) + { + // draw base fill under graph, fill goes all the way to the zero-value-line: + for (int i=0; i<segments.size(); ++i) + painter->drawPolygon(getFillPolygon(lines, segments.at(i))); + } else + { + // draw fill between this graph and mChannelFillGraph: + QVector<QPointF> otherLines; + mChannelFillGraph->getLines(&otherLines, QCPDataRange(0, mChannelFillGraph->dataCount())); + if (!otherLines.isEmpty()) + { + QVector<QCPDataRange> otherSegments = getNonNanSegments(&otherLines, mChannelFillGraph->keyAxis()->orientation()); + QVector<QPair<QCPDataRange, QCPDataRange> > segmentPairs = getOverlappingSegments(segments, lines, otherSegments, &otherLines); + for (int i=0; i<segmentPairs.size(); ++i) + painter->drawPolygon(getChannelFillPolygon(lines, segmentPairs.at(i).first, &otherLines, segmentPairs.at(i).second)); + } + } +} + +/*! \internal + + Draws scatter symbols at every point passed in \a scatters, given in pixel coordinates. The + scatters will be drawn with \a painter and have the appearance as specified in \a style. + + \see drawLinePlot, drawImpulsePlot +*/ +void QCPGraph::drawScatterPlot(QCPPainter *painter, const QVector<QPointF> &scatters, const QCPScatterStyle &style) const +{ + applyScattersAntialiasingHint(painter); + style.applyTo(painter, mPen); + for (int i=0; i<scatters.size(); ++i) + style.drawShape(painter, scatters.at(i).x(), scatters.at(i).y()); +} + +/*! \internal + + Draws lines between the points in \a lines, given in pixel coordinates. + + \see drawScatterPlot, drawImpulsePlot, QCPAbstractPlottable1D::drawPolyline +*/ +void QCPGraph::drawLinePlot(QCPPainter *painter, const QVector<QPointF> &lines) const +{ + if (painter->pen().style() != Qt::NoPen && painter->pen().color().alpha() != 0) + { + applyDefaultAntialiasingHint(painter); + drawPolyline(painter, lines); + } +} + +/*! \internal + + Draws impulses from the provided data, i.e. it connects all line pairs in \a lines, given in + pixel coordinates. The \a lines necessary for impulses are generated by \ref dataToImpulseLines + from the regular graph data points. + + \see drawLinePlot, drawScatterPlot +*/ +void QCPGraph::drawImpulsePlot(QCPPainter *painter, const QVector<QPointF> &lines) const +{ + if (painter->pen().style() != Qt::NoPen && painter->pen().color().alpha() != 0) + { + applyDefaultAntialiasingHint(painter); + QPen oldPen = painter->pen(); + QPen newPen = painter->pen(); + newPen.setCapStyle(Qt::FlatCap); // so impulse line doesn't reach beyond zero-line + painter->setPen(newPen); + painter->drawLines(lines); + painter->setPen(oldPen); + } +} + +/*! \internal + + Returns via \a lineData the data points that need to be visualized for this graph when plotting + graph lines, taking into consideration the currently visible axis ranges and, if \ref + setAdaptiveSampling is enabled, local point densities. The considered data can be restricted + further by \a begin and \a end, e.g. to only plot a certain segment of the data (see \ref + getDataSegments). + + This method is used by \ref getLines to retrieve the basic working set of data. + + \see getOptimizedScatterData +*/ +void QCPGraph::getOptimizedLineData(QVector<QCPGraphData> *lineData, const QCPGraphDataContainer::const_iterator &begin, const QCPGraphDataContainer::const_iterator &end) const +{ + if (!lineData) return; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + if (begin == end) return; + + int dataCount = end-begin; + int maxCount = std::numeric_limits<int>::max(); + if (mAdaptiveSampling) + { + double keyPixelSpan = qAbs(keyAxis->coordToPixel(begin->key)-keyAxis->coordToPixel((end-1)->key)); + if (2*keyPixelSpan+2 < (double)std::numeric_limits<int>::max()) + maxCount = 2*keyPixelSpan+2; + } + + if (mAdaptiveSampling && dataCount >= maxCount) // use adaptive sampling only if there are at least two points per pixel on average + { + QCPGraphDataContainer::const_iterator it = begin; + double minValue = it->value; + double maxValue = it->value; + QCPGraphDataContainer::const_iterator currentIntervalFirstPoint = it; + int reversedFactor = keyAxis->pixelOrientation(); // is used to calculate keyEpsilon pixel into the correct direction + int reversedRound = reversedFactor==-1 ? 1 : 0; // is used to switch between floor (normal) and ceil (reversed) rounding of currentIntervalStartKey + double currentIntervalStartKey = keyAxis->pixelToCoord((int)(keyAxis->coordToPixel(begin->key)+reversedRound)); + double lastIntervalEndKey = currentIntervalStartKey; + double keyEpsilon = qAbs(currentIntervalStartKey-keyAxis->pixelToCoord(keyAxis->coordToPixel(currentIntervalStartKey)+1.0*reversedFactor)); // interval of one pixel on screen when mapped to plot key coordinates + bool keyEpsilonVariable = keyAxis->scaleType() == QCPAxis::stLogarithmic; // indicates whether keyEpsilon needs to be updated after every interval (for log axes) + int intervalDataCount = 1; + ++it; // advance iterator to second data point because adaptive sampling works in 1 point retrospect + while (it != end) + { + if (it->key < currentIntervalStartKey+keyEpsilon) // data point is still within same pixel, so skip it and expand value span of this cluster if necessary + { + if (it->value < minValue) + minValue = it->value; + else if (it->value > maxValue) + maxValue = it->value; + ++intervalDataCount; + } else // new pixel interval started + { + if (intervalDataCount >= 2) // last pixel had multiple data points, consolidate them to a cluster + { + if (lastIntervalEndKey < currentIntervalStartKey-keyEpsilon) // last point is further away, so first point of this cluster must be at a real data point + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.2, currentIntervalFirstPoint->value)); + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.25, minValue)); + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.75, maxValue)); + if (it->key > currentIntervalStartKey+keyEpsilon*2) // new pixel started further away from previous cluster, so make sure the last point of the cluster is at a real data point + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.8, (it-1)->value)); + } else + lineData->append(QCPGraphData(currentIntervalFirstPoint->key, currentIntervalFirstPoint->value)); + lastIntervalEndKey = (it-1)->key; + minValue = it->value; + maxValue = it->value; + currentIntervalFirstPoint = it; + currentIntervalStartKey = keyAxis->pixelToCoord((int)(keyAxis->coordToPixel(it->key)+reversedRound)); + if (keyEpsilonVariable) + keyEpsilon = qAbs(currentIntervalStartKey-keyAxis->pixelToCoord(keyAxis->coordToPixel(currentIntervalStartKey)+1.0*reversedFactor)); + intervalDataCount = 1; + } + ++it; + } + // handle last interval: + if (intervalDataCount >= 2) // last pixel had multiple data points, consolidate them to a cluster + { + if (lastIntervalEndKey < currentIntervalStartKey-keyEpsilon) // last point wasn't a cluster, so first point of this cluster must be at a real data point + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.2, currentIntervalFirstPoint->value)); + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.25, minValue)); + lineData->append(QCPGraphData(currentIntervalStartKey+keyEpsilon*0.75, maxValue)); + } else + lineData->append(QCPGraphData(currentIntervalFirstPoint->key, currentIntervalFirstPoint->value)); + + } else // don't use adaptive sampling algorithm, transfer points one-to-one from the data container into the output + { + lineData->resize(dataCount); + std::copy(begin, end, lineData->begin()); + } +} + +/*! \internal + + Returns via \a scatterData the data points that need to be visualized for this graph when + plotting scatter points, taking into consideration the currently visible axis ranges and, if \ref + setAdaptiveSampling is enabled, local point densities. The considered data can be restricted + further by \a begin and \a end, e.g. to only plot a certain segment of the data (see \ref + getDataSegments). + + This method is used by \ref getScatters to retrieve the basic working set of data. + + \see getOptimizedLineData +*/ +void QCPGraph::getOptimizedScatterData(QVector<QCPGraphData> *scatterData, QCPGraphDataContainer::const_iterator begin, QCPGraphDataContainer::const_iterator end) const +{ + if (!scatterData) return; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + const int scatterModulo = mScatterSkip+1; + const bool doScatterSkip = mScatterSkip > 0; + int beginIndex = begin-mDataContainer->constBegin(); + int endIndex = end-mDataContainer->constBegin(); + while (doScatterSkip && begin != end && beginIndex % scatterModulo != 0) // advance begin iterator to first non-skipped scatter + { + ++beginIndex; + ++begin; + } + if (begin == end) return; + int dataCount = end-begin; + int maxCount = std::numeric_limits<int>::max(); + if (mAdaptiveSampling) + { + int keyPixelSpan = qAbs(keyAxis->coordToPixel(begin->key)-keyAxis->coordToPixel((end-1)->key)); + maxCount = 2*keyPixelSpan+2; + } + + if (mAdaptiveSampling && dataCount >= maxCount) // use adaptive sampling only if there are at least two points per pixel on average + { + double valueMaxRange = valueAxis->range().upper; + double valueMinRange = valueAxis->range().lower; + QCPGraphDataContainer::const_iterator it = begin; + int itIndex = beginIndex; + double minValue = it->value; + double maxValue = it->value; + QCPGraphDataContainer::const_iterator minValueIt = it; + QCPGraphDataContainer::const_iterator maxValueIt = it; + QCPGraphDataContainer::const_iterator currentIntervalStart = it; + int reversedFactor = keyAxis->pixelOrientation(); // is used to calculate keyEpsilon pixel into the correct direction + int reversedRound = reversedFactor==-1 ? 1 : 0; // is used to switch between floor (normal) and ceil (reversed) rounding of currentIntervalStartKey + double currentIntervalStartKey = keyAxis->pixelToCoord((int)(keyAxis->coordToPixel(begin->key)+reversedRound)); + double keyEpsilon = qAbs(currentIntervalStartKey-keyAxis->pixelToCoord(keyAxis->coordToPixel(currentIntervalStartKey)+1.0*reversedFactor)); // interval of one pixel on screen when mapped to plot key coordinates + bool keyEpsilonVariable = keyAxis->scaleType() == QCPAxis::stLogarithmic; // indicates whether keyEpsilon needs to be updated after every interval (for log axes) + int intervalDataCount = 1; + // advance iterator to second (non-skipped) data point because adaptive sampling works in 1 point retrospect: + if (!doScatterSkip) + ++it; + else + { + itIndex += scatterModulo; + if (itIndex < endIndex) // make sure we didn't jump over end + it += scatterModulo; + else + { + it = end; + itIndex = endIndex; + } + } + // main loop over data points: + while (it != end) + { + if (it->key < currentIntervalStartKey+keyEpsilon) // data point is still within same pixel, so skip it and expand value span of this pixel if necessary + { + if (it->value < minValue && it->value > valueMinRange && it->value < valueMaxRange) + { + minValue = it->value; + minValueIt = it; + } else if (it->value > maxValue && it->value > valueMinRange && it->value < valueMaxRange) + { + maxValue = it->value; + maxValueIt = it; + } + ++intervalDataCount; + } else // new pixel started + { + if (intervalDataCount >= 2) // last pixel had multiple data points, consolidate them + { + // determine value pixel span and add as many points in interval to maintain certain vertical data density (this is specific to scatter plot): + double valuePixelSpan = qAbs(valueAxis->coordToPixel(minValue)-valueAxis->coordToPixel(maxValue)); + int dataModulo = qMax(1, qRound(intervalDataCount/(valuePixelSpan/4.0))); // approximately every 4 value pixels one data point on average + QCPGraphDataContainer::const_iterator intervalIt = currentIntervalStart; + int c = 0; + while (intervalIt != it) + { + if ((c % dataModulo == 0 || intervalIt == minValueIt || intervalIt == maxValueIt) && intervalIt->value > valueMinRange && intervalIt->value < valueMaxRange) + scatterData->append(*intervalIt); + ++c; + if (!doScatterSkip) + ++intervalIt; + else + intervalIt += scatterModulo; // since we know indices of "currentIntervalStart", "intervalIt" and "it" are multiples of scatterModulo, we can't accidentally jump over "it" here + } + } else if (currentIntervalStart->value > valueMinRange && currentIntervalStart->value < valueMaxRange) + scatterData->append(*currentIntervalStart); + minValue = it->value; + maxValue = it->value; + currentIntervalStart = it; + currentIntervalStartKey = keyAxis->pixelToCoord((int)(keyAxis->coordToPixel(it->key)+reversedRound)); + if (keyEpsilonVariable) + keyEpsilon = qAbs(currentIntervalStartKey-keyAxis->pixelToCoord(keyAxis->coordToPixel(currentIntervalStartKey)+1.0*reversedFactor)); + intervalDataCount = 1; + } + // advance to next data point: + if (!doScatterSkip) + ++it; + else + { + itIndex += scatterModulo; + if (itIndex < endIndex) // make sure we didn't jump over end + it += scatterModulo; + else + { + it = end; + itIndex = endIndex; + } + } + } + // handle last interval: + if (intervalDataCount >= 2) // last pixel had multiple data points, consolidate them + { + // determine value pixel span and add as many points in interval to maintain certain vertical data density (this is specific to scatter plot): + double valuePixelSpan = qAbs(valueAxis->coordToPixel(minValue)-valueAxis->coordToPixel(maxValue)); + int dataModulo = qMax(1, qRound(intervalDataCount/(valuePixelSpan/4.0))); // approximately every 4 value pixels one data point on average + QCPGraphDataContainer::const_iterator intervalIt = currentIntervalStart; + int intervalItIndex = intervalIt-mDataContainer->constBegin(); + int c = 0; + while (intervalIt != it) + { + if ((c % dataModulo == 0 || intervalIt == minValueIt || intervalIt == maxValueIt) && intervalIt->value > valueMinRange && intervalIt->value < valueMaxRange) + scatterData->append(*intervalIt); + ++c; + if (!doScatterSkip) + ++intervalIt; + else // here we can't guarantee that adding scatterModulo doesn't exceed "it" (because "it" is equal to "end" here, and "end" isn't scatterModulo-aligned), so check via index comparison: + { + intervalItIndex += scatterModulo; + if (intervalItIndex < itIndex) + intervalIt += scatterModulo; + else + { + intervalIt = it; + intervalItIndex = itIndex; + } + } + } + } else if (currentIntervalStart->value > valueMinRange && currentIntervalStart->value < valueMaxRange) + scatterData->append(*currentIntervalStart); + + } else // don't use adaptive sampling algorithm, transfer points one-to-one from the data container into the output + { + QCPGraphDataContainer::const_iterator it = begin; + int itIndex = beginIndex; + scatterData->reserve(dataCount); + while (it != end) + { + scatterData->append(*it); + // advance to next data point: + if (!doScatterSkip) + ++it; + else + { + itIndex += scatterModulo; + if (itIndex < endIndex) + it += scatterModulo; + else + { + it = end; + itIndex = endIndex; + } + } + } + } +} + +/*! + This method outputs the currently visible data range via \a begin and \a end. The returned range + will also never exceed \a rangeRestriction. + + This method takes into account that the drawing of data lines at the axis rect border always + requires the points just outside the visible axis range. So \a begin and \a end may actually + indicate a range that contains one additional data point to the left and right of the visible + axis range. +*/ +void QCPGraph::getVisibleDataBounds(QCPGraphDataContainer::const_iterator &begin, QCPGraphDataContainer::const_iterator &end, const QCPDataRange &rangeRestriction) const +{ + if (rangeRestriction.isEmpty()) + { + end = mDataContainer->constEnd(); + begin = end; + } else + { + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + // get visible data range: + begin = mDataContainer->findBegin(keyAxis->range().lower); + end = mDataContainer->findEnd(keyAxis->range().upper); + // limit lower/upperEnd to rangeRestriction: + mDataContainer->limitIteratorsToDataRange(begin, end, rangeRestriction); // this also ensures rangeRestriction outside data bounds doesn't break anything + } +} + +/*! \internal + + This method goes through the passed points in \a lineData and returns a list of the segments + which don't contain NaN data points. + + \a keyOrientation defines whether the \a x or \a y member of the passed QPointF is used to check + for NaN. If \a keyOrientation is \c Qt::Horizontal, the \a y member is checked, if it is \c + Qt::Vertical, the \a x member is checked. + + \see getOverlappingSegments, drawFill +*/ +QVector<QCPDataRange> QCPGraph::getNonNanSegments(const QVector<QPointF> *lineData, Qt::Orientation keyOrientation) const +{ + QVector<QCPDataRange> result; + const int n = lineData->size(); + + QCPDataRange currentSegment(-1, -1); + int i = 0; + + if (keyOrientation == Qt::Horizontal) + { + while (i < n) + { + while (i < n && qIsNaN(lineData->at(i).y())) // seek next non-NaN data point + ++i; + if (i == n) + break; + currentSegment.setBegin(i++); + while (i < n && !qIsNaN(lineData->at(i).y())) // seek next NaN data point or end of data + ++i; + currentSegment.setEnd(i++); + result.append(currentSegment); + } + } else // keyOrientation == Qt::Vertical + { + while (i < n) + { + while (i < n && qIsNaN(lineData->at(i).x())) // seek next non-NaN data point + ++i; + if (i == n) + break; + currentSegment.setBegin(i++); + while (i < n && !qIsNaN(lineData->at(i).x())) // seek next NaN data point or end of data + ++i; + currentSegment.setEnd(i++); + result.append(currentSegment); + } + } + return result; +} + +/*! \internal + + This method takes two segment lists (e.g. created by \ref getNonNanSegments) \a thisSegments and + \a otherSegments, and their associated point data \a thisData and \a otherData. + + It returns all pairs of segments (the first from \a thisSegments, the second from \a + otherSegments), which overlap in plot coordinates. + + This method is useful in the case of a channel fill between two graphs, when only those non-NaN + segments which actually overlap in their key coordinate shall be considered for drawing a channel + fill polygon. + + It is assumed that the passed segments in \a thisSegments are ordered ascending by index, and + that the segments don't overlap themselves. The same is assumed for the segments in \a + otherSegments. This is fulfilled when the segments are obtained via \ref getNonNanSegments. + + \see getNonNanSegments, segmentsIntersect, drawFill, getChannelFillPolygon +*/ +QVector<QPair<QCPDataRange, QCPDataRange> > QCPGraph::getOverlappingSegments(QVector<QCPDataRange> thisSegments, const QVector<QPointF> *thisData, QVector<QCPDataRange> otherSegments, const QVector<QPointF> *otherData) const +{ + QVector<QPair<QCPDataRange, QCPDataRange> > result; + if (thisData->isEmpty() || otherData->isEmpty() || thisSegments.isEmpty() || otherSegments.isEmpty()) + return result; + + int thisIndex = 0; + int otherIndex = 0; + const bool verticalKey = mKeyAxis->orientation() == Qt::Vertical; + while (thisIndex < thisSegments.size() && otherIndex < otherSegments.size()) + { + if (thisSegments.at(thisIndex).size() < 2) // segments with fewer than two points won't have a fill anyhow + { + ++thisIndex; + continue; + } + if (otherSegments.at(otherIndex).size() < 2) // segments with fewer than two points won't have a fill anyhow + { + ++otherIndex; + continue; + } + double thisLower, thisUpper, otherLower, otherUpper; + if (!verticalKey) + { + thisLower = thisData->at(thisSegments.at(thisIndex).begin()).x(); + thisUpper = thisData->at(thisSegments.at(thisIndex).end()-1).x(); + otherLower = otherData->at(otherSegments.at(otherIndex).begin()).x(); + otherUpper = otherData->at(otherSegments.at(otherIndex).end()-1).x(); + } else + { + thisLower = thisData->at(thisSegments.at(thisIndex).begin()).y(); + thisUpper = thisData->at(thisSegments.at(thisIndex).end()-1).y(); + otherLower = otherData->at(otherSegments.at(otherIndex).begin()).y(); + otherUpper = otherData->at(otherSegments.at(otherIndex).end()-1).y(); + } + + int bPrecedence; + if (segmentsIntersect(thisLower, thisUpper, otherLower, otherUpper, bPrecedence)) + result.append(QPair<QCPDataRange, QCPDataRange>(thisSegments.at(thisIndex), otherSegments.at(otherIndex))); + + if (bPrecedence <= 0) // otherSegment doesn't reach as far as thisSegment, so continue with next otherSegment, keeping current thisSegment + ++otherIndex; + else // otherSegment reaches further than thisSegment, so continue with next thisSegment, keeping current otherSegment + ++thisIndex; + } + + return result; +} + +/*! \internal + + Returns whether the segments defined by the coordinates (aLower, aUpper) and (bLower, bUpper) + have overlap. + + The output parameter \a bPrecedence indicates whether the \a b segment reaches farther than the + \a a segment or not. If \a bPrecedence returns 1, segment \a b reaches the farthest to higher + coordinates (i.e. bUpper > aUpper). If it returns -1, segment \a a reaches the farthest. Only if + both segment's upper bounds are identical, 0 is returned as \a bPrecedence. + + It is assumed that the lower bounds always have smaller or equal values than the upper bounds. + + \see getOverlappingSegments +*/ +bool QCPGraph::segmentsIntersect(double aLower, double aUpper, double bLower, double bUpper, int &bPrecedence) const +{ + bPrecedence = 0; + if (aLower > bUpper) + { + bPrecedence = -1; + return false; + } else if (bLower > aUpper) + { + bPrecedence = 1; + return false; + } else + { + if (aUpper > bUpper) + bPrecedence = -1; + else if (aUpper < bUpper) + bPrecedence = 1; + + return true; + } +} + +/*! \internal + + Returns the point which closes the fill polygon on the zero-value-line parallel to the key axis. + The logarithmic axis scale case is a bit special, since the zero-value-line in pixel coordinates + is in positive or negative infinity. So this case is handled separately by just closing the fill + polygon on the axis which lies in the direction towards the zero value. + + \a matchingDataPoint will provide the key (in pixels) of the returned point. Depending on whether + the key axis of this graph is horizontal or vertical, \a matchingDataPoint will provide the x or + y value of the returned point, respectively. +*/ +QPointF QCPGraph::getFillBasePoint(QPointF matchingDataPoint) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(); } + + QPointF result; + if (valueAxis->scaleType() == QCPAxis::stLinear) + { + if (keyAxis->orientation() == Qt::Horizontal) + { + result.setX(matchingDataPoint.x()); + result.setY(valueAxis->coordToPixel(0)); + } else // keyAxis->orientation() == Qt::Vertical + { + result.setX(valueAxis->coordToPixel(0)); + result.setY(matchingDataPoint.y()); + } + } else // valueAxis->mScaleType == QCPAxis::stLogarithmic + { + // In logarithmic scaling we can't just draw to value 0 so we just fill all the way + // to the axis which is in the direction towards 0 + if (keyAxis->orientation() == Qt::Vertical) + { + if ((valueAxis->range().upper < 0 && !valueAxis->rangeReversed()) || + (valueAxis->range().upper > 0 && valueAxis->rangeReversed())) // if range is negative, zero is on opposite side of key axis + result.setX(keyAxis->axisRect()->right()); + else + result.setX(keyAxis->axisRect()->left()); + result.setY(matchingDataPoint.y()); + } else if (keyAxis->axisType() == QCPAxis::atTop || keyAxis->axisType() == QCPAxis::atBottom) + { + result.setX(matchingDataPoint.x()); + if ((valueAxis->range().upper < 0 && !valueAxis->rangeReversed()) || + (valueAxis->range().upper > 0 && valueAxis->rangeReversed())) // if range is negative, zero is on opposite side of key axis + result.setY(keyAxis->axisRect()->top()); + else + result.setY(keyAxis->axisRect()->bottom()); + } + } + return result; +} + +/*! \internal + + Returns the polygon needed for drawing normal fills between this graph and the key axis. + + Pass the graph's data points (in pixel coordinates) as \a lineData, and specify the \a segment + which shall be used for the fill. The collection of \a lineData points described by \a segment + must not contain NaN data points (see \ref getNonNanSegments). + + The returned fill polygon will be closed at the key axis (the zero-value line) for linear value + axes. For logarithmic value axes the polygon will reach just beyond the corresponding axis rect + side (see \ref getFillBasePoint). + + For increased performance (due to implicit sharing), keep the returned QPolygonF const. + + \see drawFill, getNonNanSegments +*/ +const QPolygonF QCPGraph::getFillPolygon(const QVector<QPointF> *lineData, QCPDataRange segment) const +{ + if (segment.size() < 2) + return QPolygonF(); + QPolygonF result(segment.size()+2); + + result[0] = getFillBasePoint(lineData->at(segment.begin())); + std::copy(lineData->constBegin()+segment.begin(), lineData->constBegin()+segment.end(), result.begin()+1); + result[result.size()-1] = getFillBasePoint(lineData->at(segment.end()-1)); + + return result; +} + +/*! \internal + + Returns the polygon needed for drawing (partial) channel fills between this graph and the graph + specified by \ref setChannelFillGraph. + + The data points of this graph are passed as pixel coordinates via \a thisData, the data of the + other graph as \a otherData. The returned polygon will be calculated for the specified data + segments \a thisSegment and \a otherSegment, pertaining to the respective \a thisData and \a + otherData, respectively. + + The passed \a thisSegment and \a otherSegment should correspond to the segment pairs returned by + \ref getOverlappingSegments, to make sure only segments that actually have key coordinate overlap + need to be processed here. + + For increased performance due to implicit sharing, keep the returned QPolygonF const. + + \see drawFill, getOverlappingSegments, getNonNanSegments +*/ +const QPolygonF QCPGraph::getChannelFillPolygon(const QVector<QPointF> *thisData, QCPDataRange thisSegment, const QVector<QPointF> *otherData, QCPDataRange otherSegment) const +{ + if (!mChannelFillGraph) + return QPolygonF(); + + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPolygonF(); } + if (!mChannelFillGraph.data()->mKeyAxis) { qDebug() << Q_FUNC_INFO << "channel fill target key axis invalid"; return QPolygonF(); } + + if (mChannelFillGraph.data()->mKeyAxis.data()->orientation() != keyAxis->orientation()) + return QPolygonF(); // don't have same axis orientation, can't fill that (Note: if keyAxis fits, valueAxis will fit too, because it's always orthogonal to keyAxis) + + if (thisData->isEmpty()) return QPolygonF(); + QVector<QPointF> thisSegmentData(thisSegment.size()); + QVector<QPointF> otherSegmentData(otherSegment.size()); + std::copy(thisData->constBegin()+thisSegment.begin(), thisData->constBegin()+thisSegment.end(), thisSegmentData.begin()); + std::copy(otherData->constBegin()+otherSegment.begin(), otherData->constBegin()+otherSegment.end(), otherSegmentData.begin()); + // pointers to be able to swap them, depending which data range needs cropping: + QVector<QPointF> *staticData = &thisSegmentData; + QVector<QPointF> *croppedData = &otherSegmentData; + + // crop both vectors to ranges in which the keys overlap (which coord is key, depends on axisType): + if (keyAxis->orientation() == Qt::Horizontal) + { + // x is key + // crop lower bound: + if (staticData->first().x() < croppedData->first().x()) // other one must be cropped + qSwap(staticData, croppedData); + const int lowBound = findIndexBelowX(croppedData, staticData->first().x()); + if (lowBound == -1) return QPolygonF(); // key ranges have no overlap + croppedData->remove(0, lowBound); + // set lowest point of cropped data to fit exactly key position of first static data point via linear interpolation: + if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation + double slope; + if (!qFuzzyCompare(croppedData->at(1).x(), croppedData->at(0).x())) + slope = (croppedData->at(1).y()-croppedData->at(0).y())/(croppedData->at(1).x()-croppedData->at(0).x()); + else + slope = 0; + (*croppedData)[0].setY(croppedData->at(0).y()+slope*(staticData->first().x()-croppedData->at(0).x())); + (*croppedData)[0].setX(staticData->first().x()); + + // crop upper bound: + if (staticData->last().x() > croppedData->last().x()) // other one must be cropped + qSwap(staticData, croppedData); + int highBound = findIndexAboveX(croppedData, staticData->last().x()); + if (highBound == -1) return QPolygonF(); // key ranges have no overlap + croppedData->remove(highBound+1, croppedData->size()-(highBound+1)); + // set highest point of cropped data to fit exactly key position of last static data point via linear interpolation: + if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation + const int li = croppedData->size()-1; // last index + if (!qFuzzyCompare(croppedData->at(li).x(), croppedData->at(li-1).x())) + slope = (croppedData->at(li).y()-croppedData->at(li-1).y())/(croppedData->at(li).x()-croppedData->at(li-1).x()); + else + slope = 0; + (*croppedData)[li].setY(croppedData->at(li-1).y()+slope*(staticData->last().x()-croppedData->at(li-1).x())); + (*croppedData)[li].setX(staticData->last().x()); + } else // mKeyAxis->orientation() == Qt::Vertical + { + // y is key + // crop lower bound: + if (staticData->first().y() < croppedData->first().y()) // other one must be cropped + qSwap(staticData, croppedData); + int lowBound = findIndexBelowY(croppedData, staticData->first().y()); + if (lowBound == -1) return QPolygonF(); // key ranges have no overlap + croppedData->remove(0, lowBound); + // set lowest point of cropped data to fit exactly key position of first static data point via linear interpolation: + if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation + double slope; + if (!qFuzzyCompare(croppedData->at(1).y(), croppedData->at(0).y())) // avoid division by zero in step plots + slope = (croppedData->at(1).x()-croppedData->at(0).x())/(croppedData->at(1).y()-croppedData->at(0).y()); + else + slope = 0; + (*croppedData)[0].setX(croppedData->at(0).x()+slope*(staticData->first().y()-croppedData->at(0).y())); + (*croppedData)[0].setY(staticData->first().y()); + + // crop upper bound: + if (staticData->last().y() > croppedData->last().y()) // other one must be cropped + qSwap(staticData, croppedData); + int highBound = findIndexAboveY(croppedData, staticData->last().y()); + if (highBound == -1) return QPolygonF(); // key ranges have no overlap + croppedData->remove(highBound+1, croppedData->size()-(highBound+1)); + // set highest point of cropped data to fit exactly key position of last static data point via linear interpolation: + if (croppedData->size() < 2) return QPolygonF(); // need at least two points for interpolation + int li = croppedData->size()-1; // last index + if (!qFuzzyCompare(croppedData->at(li).y(), croppedData->at(li-1).y())) // avoid division by zero in step plots + slope = (croppedData->at(li).x()-croppedData->at(li-1).x())/(croppedData->at(li).y()-croppedData->at(li-1).y()); + else + slope = 0; + (*croppedData)[li].setX(croppedData->at(li-1).x()+slope*(staticData->last().y()-croppedData->at(li-1).y())); + (*croppedData)[li].setY(staticData->last().y()); + } + + // return joined: + for (int i=otherSegmentData.size()-1; i>=0; --i) // insert reversed, otherwise the polygon will be twisted + thisSegmentData << otherSegmentData.at(i); + return QPolygonF(thisSegmentData); +} + +/*! \internal + + Finds the smallest index of \a data, whose points x value is just above \a x. Assumes x values in + \a data points are ordered ascending, as is ensured by \ref getLines/\ref getScatters if the key + axis is horizontal. + + Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. +*/ +int QCPGraph::findIndexAboveX(const QVector<QPointF> *data, double x) const +{ + for (int i=data->size()-1; i>=0; --i) + { + if (data->at(i).x() < x) + { + if (i<data->size()-1) + return i+1; + else + return data->size()-1; + } + } + return -1; +} + +/*! \internal + + Finds the highest index of \a data, whose points x value is just below \a x. Assumes x values in + \a data points are ordered ascending, as is ensured by \ref getLines/\ref getScatters if the key + axis is horizontal. + + Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. +*/ +int QCPGraph::findIndexBelowX(const QVector<QPointF> *data, double x) const +{ + for (int i=0; i<data->size(); ++i) + { + if (data->at(i).x() > x) + { + if (i>0) + return i-1; + else + return 0; + } + } + return -1; +} + +/*! \internal + + Finds the smallest index of \a data, whose points y value is just above \a y. Assumes y values in + \a data points are ordered ascending, as is ensured by \ref getLines/\ref getScatters if the key + axis is vertical. + + Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. +*/ +int QCPGraph::findIndexAboveY(const QVector<QPointF> *data, double y) const +{ + for (int i=data->size()-1; i>=0; --i) + { + if (data->at(i).y() < y) + { + if (i<data->size()-1) + return i+1; + else + return data->size()-1; + } + } + return -1; +} + +/*! \internal + + Calculates the minimum distance in pixels the graph's representation has from the given \a + pixelPoint. This is used to determine whether the graph was clicked or not, e.g. in \ref + selectTest. The closest data point to \a pixelPoint is returned in \a closestData. Note that if + the graph has a line representation, the returned distance may be smaller than the distance to + the \a closestData point, since the distance to the graph line is also taken into account. + + If either the graph has no data or if the line style is \ref lsNone and the scatter style's shape + is \ref QCPScatterStyle::ssNone (i.e. there is no visual representation of the graph), returns -1.0. +*/ +double QCPGraph::pointDistance(const QPointF &pixelPoint, QCPGraphDataContainer::const_iterator &closestData) const +{ + closestData = mDataContainer->constEnd(); + if (mDataContainer->isEmpty()) + return -1.0; + if (mLineStyle == lsNone && mScatterStyle.isNone()) + return -1.0; + + // calculate minimum distances to graph data points and find closestData iterator: + double minDistSqr = std::numeric_limits<double>::max(); + // determine which key range comes into question, taking selection tolerance around pos into account: + double posKeyMin, posKeyMax, dummy; + pixelsToCoords(pixelPoint-QPointF(mParentPlot->selectionTolerance(), mParentPlot->selectionTolerance()), posKeyMin, dummy); + pixelsToCoords(pixelPoint+QPointF(mParentPlot->selectionTolerance(), mParentPlot->selectionTolerance()), posKeyMax, dummy); + if (posKeyMin > posKeyMax) + qSwap(posKeyMin, posKeyMax); + // iterate over found data points and then choose the one with the shortest distance to pos: + QCPGraphDataContainer::const_iterator begin = mDataContainer->findBegin(posKeyMin, true); + QCPGraphDataContainer::const_iterator end = mDataContainer->findEnd(posKeyMax, true); + for (QCPGraphDataContainer::const_iterator it=begin; it!=end; ++it) + { + const double currentDistSqr = QCPVector2D(coordsToPixels(it->key, it->value)-pixelPoint).lengthSquared(); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestData = it; + } + } + + // calculate distance to graph line if there is one (if so, will probably be smaller than distance to closest data point): + if (mLineStyle != lsNone) + { + // line displayed, calculate distance to line segments: + QVector<QPointF> lineData; + getLines(&lineData, QCPDataRange(0, dataCount())); + QCPVector2D p(pixelPoint); + const int step = mLineStyle==lsImpulse ? 2 : 1; // impulse plot differs from other line styles in that the lineData points are only pairwise connected + for (int i=0; i<lineData.size()-1; i+=step) + { + const double currentDistSqr = p.distanceSquaredToLine(lineData.at(i), lineData.at(i+1)); + if (currentDistSqr < minDistSqr) + minDistSqr = currentDistSqr; + } + } + + return qSqrt(minDistSqr); +} + +/*! \internal + + Finds the highest index of \a data, whose points y value is just below \a y. Assumes y values in + \a data points are ordered ascending, as is ensured by \ref getLines/\ref getScatters if the key + axis is vertical. + + Used to calculate the channel fill polygon, see \ref getChannelFillPolygon. +*/ +int QCPGraph::findIndexBelowY(const QVector<QPointF> *data, double y) const +{ + for (int i=0; i<data->size(); ++i) + { + if (data->at(i).y() > y) + { + if (i>0) + return i-1; + else + return 0; + } + } + return -1; +} +/* end of 'src/plottables/plottable-graph.cpp' */ + + +/* including file 'src/plottables/plottable-curve.cpp', size 63527 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPCurveData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPCurveData + \brief Holds the data of one single data point for QCPCurve. + + The stored data is: + \li \a t: the free ordering parameter of this curve point, like in the mathematical vector <em>(x(t), y(t))</em>. (This is the \a sortKey) + \li \a key: coordinate on the key axis of this curve point (this is the \a mainKey) + \li \a value: coordinate on the value axis of this curve point (this is the \a mainValue) + + The container for storing multiple data points is \ref QCPCurveDataContainer. It is a typedef for + \ref QCPDataContainer with \ref QCPCurveData as the DataType template parameter. See the + documentation there for an explanation regarding the data type's generic methods. + + \see QCPCurveDataContainer +*/ + +/* start documentation of inline functions */ + +/*! \fn double QCPCurveData::sortKey() const + + Returns the \a t member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static QCPCurveData QCPCurveData::fromSortKey(double sortKey) + + Returns a data point with the specified \a sortKey (assigned to the data point's \a t member). + All other members are set to zero. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static static bool QCPCurveData::sortKeyIsMainKey() + + Since the member \a key is the data point key coordinate and the member \a t is the data ordering + parameter, this method returns false. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPCurveData::mainKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPCurveData::mainValue() const + + Returns the \a value member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn QCPRange QCPCurveData::valueRange() const + + Returns a QCPRange with both lower and upper boundary set to \a value of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a curve data point with t, key and value set to zero. +*/ +QCPCurveData::QCPCurveData() : + t(0), + key(0), + value(0) +{ +} + +/*! + Constructs a curve data point with the specified \a t, \a key and \a value. +*/ +QCPCurveData::QCPCurveData(double t, double key, double value) : + t(t), + key(key), + value(value) +{ +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPCurve +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPCurve + \brief A plottable representing a parametric curve in a plot. + + \image html QCPCurve.png + + Unlike QCPGraph, plottables of this type may have multiple points with the same key coordinate, + so their visual representation can have \a loops. This is realized by introducing a third + coordinate \a t, which defines the order of the points described by the other two coordinates \a + x and \a y. + + To plot data, assign it with the \ref setData or \ref addData functions. Alternatively, you can + also access and modify the curve's data via the \ref data method, which returns a pointer to the + internal \ref QCPCurveDataContainer. + + Gaps in the curve can be created by adding data points with NaN as key and value + (<tt>qQNaN()</tt> or <tt>std::numeric_limits<double>::quiet_NaN()</tt>) in between the two data points that shall be + separated. + + \section qcpcurve-appearance Changing the appearance + + The appearance of the curve is determined by the pen and the brush (\ref setPen, \ref setBrush). + + \section qcpcurve-usage Usage + + Like all data representing objects in QCustomPlot, the QCPCurve is a plottable + (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies + (QCustomPlot::plottable, QCustomPlot::removePlottable, etc.) + + Usually, you first create an instance: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcurve-creation-1 + which registers it with the QCustomPlot instance of the passed axes. Note that this QCustomPlot instance takes + ownership of the plottable, so do not delete it manually but use QCustomPlot::removePlottable() instead. + The newly created plottable can be modified, e.g.: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcurve-creation-2 +*/ + +/* start of documentation of inline functions */ + +/*! \fn QSharedPointer<QCPCurveDataContainer> QCPCurve::data() const + + Returns a shared pointer to the internal data storage of type \ref QCPCurveDataContainer. You may + use it to directly manipulate the data, which may be more convenient and faster than using the + regular \ref setData or \ref addData methods. +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs a curve which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value + axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have + the same orientation. If either of these restrictions is violated, a corresponding message is + printed to the debug output (qDebug), the construction is not aborted, though. + + The created QCPCurve is automatically registered with the QCustomPlot instance inferred from \a + keyAxis. This QCustomPlot instance takes ownership of the QCPCurve, so do not delete it manually + but use QCustomPlot::removePlottable() instead. +*/ +QCPCurve::QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable1D<QCPCurveData>(keyAxis, valueAxis) +{ + // modify inherited properties from abstract plottable: + setPen(QPen(Qt::blue, 0)); + setBrush(Qt::NoBrush); + + setScatterStyle(QCPScatterStyle()); + setLineStyle(lsLine); + setScatterSkip(0); +} + +QCPCurve::~QCPCurve() +{ +} + +/*! \overload + + Replaces the current data container with the provided \a data container. + + Since a QSharedPointer is used, multiple QCPCurves may share the same data container safely. + Modifying the data in the container will then affect all curves that share the container. Sharing + can be achieved by simply exchanging the data containers wrapped in shared pointers: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcurve-datasharing-1 + + If you do not wish to share containers, but create a copy from an existing container, rather use + the \ref QCPDataContainer<DataType>::set method on the curve's data container directly: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcurve-datasharing-2 + + \see addData +*/ +void QCPCurve::setData(QSharedPointer<QCPCurveDataContainer> data) +{ + mDataContainer = data; +} + +/*! \overload + + Replaces the current data with the provided points in \a t, \a keys and \a values. The provided + vectors should have equal length. Else, the number of added points will be the size of the + smallest vector. + + If you can guarantee that the passed data points are sorted by \a t in ascending order, you can + set \a alreadySorted to true, to improve performance by saving a sorting run. + + \see addData +*/ +void QCPCurve::setData(const QVector<double> &t, const QVector<double> &keys, const QVector<double> &values, bool alreadySorted) +{ + mDataContainer->clear(); + addData(t, keys, values, alreadySorted); +} + + +/*! \overload + + Replaces the current data with the provided points in \a keys and \a values. The provided vectors + should have equal length. Else, the number of added points will be the size of the smallest + vector. + + The t parameter of each data point will be set to the integer index of the respective key/value + pair. + + \see addData +*/ +void QCPCurve::setData(const QVector<double> &keys, const QVector<double> &values) +{ + mDataContainer->clear(); + addData(keys, values); +} + +/*! + Sets the visual appearance of single data points in the plot. If set to \ref + QCPScatterStyle::ssNone, no scatter points are drawn (e.g. for line-only plots with appropriate + line style). + + \see QCPScatterStyle, setLineStyle +*/ +void QCPCurve::setScatterStyle(const QCPScatterStyle &style) +{ + mScatterStyle = style; +} + +/*! + If scatters are displayed (scatter style not \ref QCPScatterStyle::ssNone), \a skip number of + scatter points are skipped/not drawn after every drawn scatter point. + + This can be used to make the data appear sparser while for example still having a smooth line, + and to improve performance for very high density plots. + + If \a skip is set to 0 (default), all scatter points are drawn. + + \see setScatterStyle +*/ +void QCPCurve::setScatterSkip(int skip) +{ + mScatterSkip = qMax(0, skip); +} + +/*! + Sets how the single data points are connected in the plot or how they are represented visually + apart from the scatter symbol. For scatter-only plots, set \a style to \ref lsNone and \ref + setScatterStyle to the desired scatter style. + + \see setScatterStyle +*/ +void QCPCurve::setLineStyle(QCPCurve::LineStyle style) +{ + mLineStyle = style; +} + +/*! \overload + + Adds the provided points in \a t, \a keys and \a values to the current data. The provided vectors + should have equal length. Else, the number of added points will be the size of the smallest + vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPCurve::addData(const QVector<double> &t, const QVector<double> &keys, const QVector<double> &values, bool alreadySorted) +{ + if (t.size() != keys.size() || t.size() != values.size()) + qDebug() << Q_FUNC_INFO << "ts, keys and values have different sizes:" << t.size() << keys.size() << values.size(); + const int n = qMin(qMin(t.size(), keys.size()), values.size()); + QVector<QCPCurveData> tempData(n); + QVector<QCPCurveData>::iterator it = tempData.begin(); + const QVector<QCPCurveData>::iterator itEnd = tempData.end(); + int i = 0; + while (it != itEnd) + { + it->t = t[i]; + it->key = keys[i]; + it->value = values[i]; + ++it; + ++i; + } + mDataContainer->add(tempData, alreadySorted); // don't modify tempData beyond this to prevent copy on write +} + +/*! \overload + + Adds the provided points in \a keys and \a values to the current data. The provided vectors + should have equal length. Else, the number of added points will be the size of the smallest + vector. + + The t parameter of each data point will be set to the integer index of the respective key/value + pair. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPCurve::addData(const QVector<double> &keys, const QVector<double> &values) +{ + if (keys.size() != values.size()) + qDebug() << Q_FUNC_INFO << "keys and values have different sizes:" << keys.size() << values.size(); + const int n = qMin(keys.size(), values.size()); + double tStart; + if (!mDataContainer->isEmpty()) + tStart = (mDataContainer->constEnd()-1)->t + 1.0; + else + tStart = 0; + QVector<QCPCurveData> tempData(n); + QVector<QCPCurveData>::iterator it = tempData.begin(); + const QVector<QCPCurveData>::iterator itEnd = tempData.end(); + int i = 0; + while (it != itEnd) + { + it->t = tStart + i; + it->key = keys[i]; + it->value = values[i]; + ++it; + ++i; + } + mDataContainer->add(tempData, true); // don't modify tempData beyond this to prevent copy on write +} + +/*! \overload + Adds the provided data point as \a t, \a key and \a value to the current data. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPCurve::addData(double t, double key, double value) +{ + mDataContainer->add(QCPCurveData(t, key, value)); +} + +/*! \overload + + Adds the provided data point as \a key and \a value to the current data. + + The t parameter is generated automatically by increments of 1 for each point, starting at the + highest t of previously existing data or 0, if the curve data is empty. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPCurve::addData(double key, double value) +{ + if (!mDataContainer->isEmpty()) + mDataContainer->add(QCPCurveData((mDataContainer->constEnd()-1)->t + 1.0, key, value)); + else + mDataContainer->add(QCPCurveData(0.0, key, value)); +} + +/* inherits documentation from base class */ +double QCPCurve::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis.data()->axisRect()->rect().contains(pos.toPoint())) + { + QCPCurveDataContainer::const_iterator closestDataPoint = mDataContainer->constEnd(); + double result = pointDistance(pos, closestDataPoint); + if (details) + { + int pointIndex = closestDataPoint-mDataContainer->constBegin(); + details->setValue(QCPDataSelection(QCPDataRange(pointIndex, pointIndex+1))); + } + return result; + } else + return -1; +} + +/* inherits documentation from base class */ +QCPRange QCPCurve::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + return mDataContainer->keyRange(foundRange, inSignDomain); +} + +/* inherits documentation from base class */ +QCPRange QCPCurve::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + return mDataContainer->valueRange(foundRange, inSignDomain, inKeyRange); +} + +/* inherits documentation from base class */ +void QCPCurve::draw(QCPPainter *painter) +{ + if (mDataContainer->isEmpty()) return; + + // allocate line vector: + QVector<QPointF> lines, scatters; + + // loop over and draw segments of unselected/selected data: + QList<QCPDataRange> selectedSegments, unselectedSegments, allSegments; + getDataSegments(selectedSegments, unselectedSegments); + allSegments << unselectedSegments << selectedSegments; + for (int i=0; i<allSegments.size(); ++i) + { + bool isSelectedSegment = i >= unselectedSegments.size(); + + // fill with curve data: + QPen finalCurvePen = mPen; // determine the final pen already here, because the line optimization depends on its stroke width + if (isSelectedSegment && mSelectionDecorator) + finalCurvePen = mSelectionDecorator->pen(); + + QCPDataRange lineDataRange = isSelectedSegment ? allSegments.at(i) : allSegments.at(i).adjusted(-1, 1); // unselected segments extend lines to bordering selected data point (safe to exceed total data bounds in first/last segment, getCurveLines takes care) + getCurveLines(&lines, lineDataRange, finalCurvePen.widthF()); + + // check data validity if flag set: + #ifdef QCUSTOMPLOT_CHECK_DATA + for (QCPCurveDataContainer::const_iterator it = mDataContainer->constBegin(); it != mDataContainer->constEnd(); ++it) + { + if (QCP::isInvalidData(it->t) || + QCP::isInvalidData(it->key, it->value)) + qDebug() << Q_FUNC_INFO << "Data point at" << it->key << "invalid." << "Plottable name:" << name(); + } + #endif + + // draw curve fill: + applyFillAntialiasingHint(painter); + if (isSelectedSegment && mSelectionDecorator) + mSelectionDecorator->applyBrush(painter); + else + painter->setBrush(mBrush); + painter->setPen(Qt::NoPen); + if (painter->brush().style() != Qt::NoBrush && painter->brush().color().alpha() != 0) + painter->drawPolygon(QPolygonF(lines)); + + // draw curve line: + if (mLineStyle != lsNone) + { + painter->setPen(finalCurvePen); + painter->setBrush(Qt::NoBrush); + drawCurveLine(painter, lines); + } + + // draw scatters: + QCPScatterStyle finalScatterStyle = mScatterStyle; + if (isSelectedSegment && mSelectionDecorator) + finalScatterStyle = mSelectionDecorator->getFinalScatterStyle(mScatterStyle); + if (!finalScatterStyle.isNone()) + { + getScatters(&scatters, allSegments.at(i), finalScatterStyle.size()); + drawScatterPlot(painter, scatters, finalScatterStyle); + } + } + + // draw other selection decoration that isn't just line/scatter pens and brushes: + if (mSelectionDecorator) + mSelectionDecorator->drawDecoration(painter, selection()); +} + +/* inherits documentation from base class */ +void QCPCurve::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + // draw fill: + if (mBrush.style() != Qt::NoBrush) + { + applyFillAntialiasingHint(painter); + painter->fillRect(QRectF(rect.left(), rect.top()+rect.height()/2.0, rect.width(), rect.height()/3.0), mBrush); + } + // draw line vertically centered: + if (mLineStyle != lsNone) + { + applyDefaultAntialiasingHint(painter); + painter->setPen(mPen); + painter->drawLine(QLineF(rect.left(), rect.top()+rect.height()/2.0, rect.right()+5, rect.top()+rect.height()/2.0)); // +5 on x2 else last segment is missing from dashed/dotted pens + } + // draw scatter symbol: + if (!mScatterStyle.isNone()) + { + applyScattersAntialiasingHint(painter); + // scale scatter pixmap if it's too large to fit in legend icon rect: + if (mScatterStyle.shape() == QCPScatterStyle::ssPixmap && (mScatterStyle.pixmap().size().width() > rect.width() || mScatterStyle.pixmap().size().height() > rect.height())) + { + QCPScatterStyle scaledStyle(mScatterStyle); + scaledStyle.setPixmap(scaledStyle.pixmap().scaled(rect.size().toSize(), Qt::KeepAspectRatio, Qt::SmoothTransformation)); + scaledStyle.applyTo(painter, mPen); + scaledStyle.drawShape(painter, QRectF(rect).center()); + } else + { + mScatterStyle.applyTo(painter, mPen); + mScatterStyle.drawShape(painter, QRectF(rect).center()); + } + } +} + +/*! \internal + + Draws lines between the points in \a lines, given in pixel coordinates. + + \see drawScatterPlot, getCurveLines +*/ +void QCPCurve::drawCurveLine(QCPPainter *painter, const QVector<QPointF> &lines) const +{ + if (painter->pen().style() != Qt::NoPen && painter->pen().color().alpha() != 0) + { + applyDefaultAntialiasingHint(painter); + drawPolyline(painter, lines); + } +} + +/*! \internal + + Draws scatter symbols at every point passed in \a points, given in pixel coordinates. The + scatters will be drawn with \a painter and have the appearance as specified in \a style. + + \see drawCurveLine, getCurveLines +*/ +void QCPCurve::drawScatterPlot(QCPPainter *painter, const QVector<QPointF> &points, const QCPScatterStyle &style) const +{ + // draw scatter point symbols: + applyScattersAntialiasingHint(painter); + style.applyTo(painter, mPen); + for (int i=0; i<points.size(); ++i) + if (!qIsNaN(points.at(i).x()) && !qIsNaN(points.at(i).y())) + style.drawShape(painter, points.at(i)); +} + +/*! \internal + + Called by \ref draw to generate points in pixel coordinates which represent the line of the + curve. + + Line segments that aren't visible in the current axis rect are handled in an optimized way. They + are projected onto a rectangle slightly larger than the visible axis rect and simplified + regarding point count. The algorithm makes sure to preserve appearance of lines and fills inside + the visible axis rect by generating new temporary points on the outer rect if necessary. + + \a lines will be filled with points in pixel coordinates, that can be drawn with \ref + drawCurveLine. + + \a dataRange specifies the beginning and ending data indices that will be taken into account for + conversion. In this function, the specified range may exceed the total data bounds without harm: + a correspondingly trimmed data range will be used. This takes the burden off the user of this + function to check for valid indices in \a dataRange, e.g. when extending ranges coming from \ref + getDataSegments. + + \a penWidth specifies the pen width that will be used to later draw the lines generated by this + function. This is needed here to calculate an accordingly wider margin around the axis rect when + performing the line optimization. + + Methods that are also involved in the algorithm are: \ref getRegion, \ref getOptimizedPoint, \ref + getOptimizedCornerPoints \ref mayTraverse, \ref getTraverse, \ref getTraverseCornerPoints. + + \see drawCurveLine, drawScatterPlot +*/ +void QCPCurve::getCurveLines(QVector<QPointF> *lines, const QCPDataRange &dataRange, double penWidth) const +{ + if (!lines) return; + lines->clear(); + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + // add margins to rect to compensate for stroke width + const double strokeMargin = qMax(qreal(1.0), qreal(penWidth*0.75)); // stroke radius + 50% safety + const double keyMin = keyAxis->pixelToCoord(keyAxis->coordToPixel(keyAxis->range().lower)-strokeMargin*keyAxis->pixelOrientation()); + const double keyMax = keyAxis->pixelToCoord(keyAxis->coordToPixel(keyAxis->range().upper)+strokeMargin*keyAxis->pixelOrientation()); + const double valueMin = valueAxis->pixelToCoord(valueAxis->coordToPixel(valueAxis->range().lower)-strokeMargin*valueAxis->pixelOrientation()); + const double valueMax = valueAxis->pixelToCoord(valueAxis->coordToPixel(valueAxis->range().upper)+strokeMargin*valueAxis->pixelOrientation()); + QCPCurveDataContainer::const_iterator itBegin = mDataContainer->constBegin(); + QCPCurveDataContainer::const_iterator itEnd = mDataContainer->constEnd(); + mDataContainer->limitIteratorsToDataRange(itBegin, itEnd, dataRange); + if (itBegin == itEnd) + return; + QCPCurveDataContainer::const_iterator it = itBegin; + QCPCurveDataContainer::const_iterator prevIt = itEnd-1; + int prevRegion = getRegion(prevIt->key, prevIt->value, keyMin, valueMax, keyMax, valueMin); + QVector<QPointF> trailingPoints; // points that must be applied after all other points (are generated only when handling first point to get virtual segment between last and first point right) + while (it != itEnd) + { + const int currentRegion = getRegion(it->key, it->value, keyMin, valueMax, keyMax, valueMin); + if (currentRegion != prevRegion) // changed region, possibly need to add some optimized edge points or original points if entering R + { + if (currentRegion != 5) // segment doesn't end in R, so it's a candidate for removal + { + QPointF crossA, crossB; + if (prevRegion == 5) // we're coming from R, so add this point optimized + { + lines->append(getOptimizedPoint(currentRegion, it->key, it->value, prevIt->key, prevIt->value, keyMin, valueMax, keyMax, valueMin)); + // in the situations 5->1/7/9/3 the segment may leave R and directly cross through two outer regions. In these cases we need to add an additional corner point + *lines << getOptimizedCornerPoints(prevRegion, currentRegion, prevIt->key, prevIt->value, it->key, it->value, keyMin, valueMax, keyMax, valueMin); + } else if (mayTraverse(prevRegion, currentRegion) && + getTraverse(prevIt->key, prevIt->value, it->key, it->value, keyMin, valueMax, keyMax, valueMin, crossA, crossB)) + { + // add the two cross points optimized if segment crosses R and if segment isn't virtual zeroth segment between last and first curve point: + QVector<QPointF> beforeTraverseCornerPoints, afterTraverseCornerPoints; + getTraverseCornerPoints(prevRegion, currentRegion, keyMin, valueMax, keyMax, valueMin, beforeTraverseCornerPoints, afterTraverseCornerPoints); + if (it != itBegin) + { + *lines << beforeTraverseCornerPoints; + lines->append(crossA); + lines->append(crossB); + *lines << afterTraverseCornerPoints; + } else + { + lines->append(crossB); + *lines << afterTraverseCornerPoints; + trailingPoints << beforeTraverseCornerPoints << crossA ; + } + } else // doesn't cross R, line is just moving around in outside regions, so only need to add optimized point(s) at the boundary corner(s) + { + *lines << getOptimizedCornerPoints(prevRegion, currentRegion, prevIt->key, prevIt->value, it->key, it->value, keyMin, valueMax, keyMax, valueMin); + } + } else // segment does end in R, so we add previous point optimized and this point at original position + { + if (it == itBegin) // it is first point in curve and prevIt is last one. So save optimized point for adding it to the lineData in the end + trailingPoints << getOptimizedPoint(prevRegion, prevIt->key, prevIt->value, it->key, it->value, keyMin, valueMax, keyMax, valueMin); + else + lines->append(getOptimizedPoint(prevRegion, prevIt->key, prevIt->value, it->key, it->value, keyMin, valueMax, keyMax, valueMin)); + lines->append(coordsToPixels(it->key, it->value)); + } + } else // region didn't change + { + if (currentRegion == 5) // still in R, keep adding original points + { + lines->append(coordsToPixels(it->key, it->value)); + } else // still outside R, no need to add anything + { + // see how this is not doing anything? That's the main optimization... + } + } + prevIt = it; + prevRegion = currentRegion; + ++it; + } + *lines << trailingPoints; +} + +/*! \internal + + Called by \ref draw to generate points in pixel coordinates which represent the scatters of the + curve. If a scatter skip is configured (\ref setScatterSkip), the returned points are accordingly + sparser. + + Scatters that aren't visible in the current axis rect are optimized away. + + \a scatters will be filled with points in pixel coordinates, that can be drawn with \ref + drawScatterPlot. + + \a dataRange specifies the beginning and ending data indices that will be taken into account for + conversion. + + \a scatterWidth specifies the scatter width that will be used to later draw the scatters at pixel + coordinates generated by this function. This is needed here to calculate an accordingly wider + margin around the axis rect when performing the data point reduction. + + \see draw, drawScatterPlot +*/ +void QCPCurve::getScatters(QVector<QPointF> *scatters, const QCPDataRange &dataRange, double scatterWidth) const +{ + if (!scatters) return; + scatters->clear(); + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + QCPCurveDataContainer::const_iterator begin = mDataContainer->constBegin(); + QCPCurveDataContainer::const_iterator end = mDataContainer->constEnd(); + mDataContainer->limitIteratorsToDataRange(begin, end, dataRange); + if (begin == end) + return; + const int scatterModulo = mScatterSkip+1; + const bool doScatterSkip = mScatterSkip > 0; + int endIndex = end-mDataContainer->constBegin(); + + QCPRange keyRange = keyAxis->range(); + QCPRange valueRange = valueAxis->range(); + // extend range to include width of scatter symbols: + keyRange.lower = keyAxis->pixelToCoord(keyAxis->coordToPixel(keyRange.lower)-scatterWidth*keyAxis->pixelOrientation()); + keyRange.upper = keyAxis->pixelToCoord(keyAxis->coordToPixel(keyRange.upper)+scatterWidth*keyAxis->pixelOrientation()); + valueRange.lower = valueAxis->pixelToCoord(valueAxis->coordToPixel(valueRange.lower)-scatterWidth*valueAxis->pixelOrientation()); + valueRange.upper = valueAxis->pixelToCoord(valueAxis->coordToPixel(valueRange.upper)+scatterWidth*valueAxis->pixelOrientation()); + + QCPCurveDataContainer::const_iterator it = begin; + int itIndex = begin-mDataContainer->constBegin(); + while (doScatterSkip && it != end && itIndex % scatterModulo != 0) // advance begin iterator to first non-skipped scatter + { + ++itIndex; + ++it; + } + if (keyAxis->orientation() == Qt::Vertical) + { + while (it != end) + { + if (!qIsNaN(it->value) && keyRange.contains(it->key) && valueRange.contains(it->value)) + scatters->append(QPointF(valueAxis->coordToPixel(it->value), keyAxis->coordToPixel(it->key))); + + // advance iterator to next (non-skipped) data point: + if (!doScatterSkip) + ++it; + else + { + itIndex += scatterModulo; + if (itIndex < endIndex) // make sure we didn't jump over end + it += scatterModulo; + else + { + it = end; + itIndex = endIndex; + } + } + } + } else + { + while (it != end) + { + if (!qIsNaN(it->value) && keyRange.contains(it->key) && valueRange.contains(it->value)) + scatters->append(QPointF(keyAxis->coordToPixel(it->key), valueAxis->coordToPixel(it->value))); + + // advance iterator to next (non-skipped) data point: + if (!doScatterSkip) + ++it; + else + { + itIndex += scatterModulo; + if (itIndex < endIndex) // make sure we didn't jump over end + it += scatterModulo; + else + { + it = end; + itIndex = endIndex; + } + } + } + } +} + +/*! \internal + + This function is part of the curve optimization algorithm of \ref getCurveLines. + + It returns the region of the given point (\a key, \a value) with respect to a rectangle defined + by \a keyMin, \a keyMax, \a valueMin, and \a valueMax. + + The regions are enumerated from top to bottom (\a valueMin to \a valueMax) and left to right (\a + keyMin to \a keyMax): + + <table style="width:10em; text-align:center"> + <tr><td>1</td><td>4</td><td>7</td></tr> + <tr><td>2</td><td style="border:1px solid black">5</td><td>8</td></tr> + <tr><td>3</td><td>6</td><td>9</td></tr> + </table> + + With the rectangle being region 5, and the outer regions extending infinitely outwards. In the + curve optimization algorithm, region 5 is considered to be the visible portion of the plot. +*/ +int QCPCurve::getRegion(double key, double value, double keyMin, double valueMax, double keyMax, double valueMin) const +{ + if (key < keyMin) // region 123 + { + if (value > valueMax) + return 1; + else if (value < valueMin) + return 3; + else + return 2; + } else if (key > keyMax) // region 789 + { + if (value > valueMax) + return 7; + else if (value < valueMin) + return 9; + else + return 8; + } else // region 456 + { + if (value > valueMax) + return 4; + else if (value < valueMin) + return 6; + else + return 5; + } +} + +/*! \internal + + This function is part of the curve optimization algorithm of \ref getCurveLines. + + This method is used in case the current segment passes from inside the visible rect (region 5, + see \ref getRegion) to any of the outer regions (\a otherRegion). The current segment is given by + the line connecting (\a key, \a value) with (\a otherKey, \a otherValue). + + It returns the intersection point of the segment with the border of region 5. + + For this function it doesn't matter whether (\a key, \a value) is the point inside region 5 or + whether it's (\a otherKey, \a otherValue), i.e. whether the segment is coming from region 5 or + leaving it. It is important though that \a otherRegion correctly identifies the other region not + equal to 5. +*/ +QPointF QCPCurve::getOptimizedPoint(int otherRegion, double otherKey, double otherValue, double key, double value, double keyMin, double valueMax, double keyMax, double valueMin) const +{ + // The intersection point interpolation here is done in pixel coordinates, so we don't need to + // differentiate between different axis scale types. Note that the nomenclature + // top/left/bottom/right/min/max is with respect to the rect in plot coordinates, wich may be + // different in pixel coordinates (horz/vert key axes, reversed ranges) + + const double keyMinPx = mKeyAxis->coordToPixel(keyMin); + const double keyMaxPx = mKeyAxis->coordToPixel(keyMax); + const double valueMinPx = mValueAxis->coordToPixel(valueMin); + const double valueMaxPx = mValueAxis->coordToPixel(valueMax); + const double otherValuePx = mValueAxis->coordToPixel(otherValue); + const double valuePx = mValueAxis->coordToPixel(value); + const double otherKeyPx = mKeyAxis->coordToPixel(otherKey); + const double keyPx = mKeyAxis->coordToPixel(key); + double intersectKeyPx = keyMinPx; // initial key just a fail-safe + double intersectValuePx = valueMinPx; // initial value just a fail-safe + switch (otherRegion) + { + case 1: // top and left edge + { + intersectValuePx = valueMaxPx; + intersectKeyPx = otherKeyPx + (keyPx-otherKeyPx)/(valuePx-otherValuePx)*(intersectValuePx-otherValuePx); + if (intersectKeyPx < qMin(keyMinPx, keyMaxPx) || intersectKeyPx > qMax(keyMinPx, keyMaxPx)) // check whether top edge is not intersected, then it must be left edge (qMin/qMax necessary since axes may be reversed) + { + intersectKeyPx = keyMinPx; + intersectValuePx = otherValuePx + (valuePx-otherValuePx)/(keyPx-otherKeyPx)*(intersectKeyPx-otherKeyPx); + } + break; + } + case 2: // left edge + { + intersectKeyPx = keyMinPx; + intersectValuePx = otherValuePx + (valuePx-otherValuePx)/(keyPx-otherKeyPx)*(intersectKeyPx-otherKeyPx); + break; + } + case 3: // bottom and left edge + { + intersectValuePx = valueMinPx; + intersectKeyPx = otherKeyPx + (keyPx-otherKeyPx)/(valuePx-otherValuePx)*(intersectValuePx-otherValuePx); + if (intersectKeyPx < qMin(keyMinPx, keyMaxPx) || intersectKeyPx > qMax(keyMinPx, keyMaxPx)) // check whether bottom edge is not intersected, then it must be left edge (qMin/qMax necessary since axes may be reversed) + { + intersectKeyPx = keyMinPx; + intersectValuePx = otherValuePx + (valuePx-otherValuePx)/(keyPx-otherKeyPx)*(intersectKeyPx-otherKeyPx); + } + break; + } + case 4: // top edge + { + intersectValuePx = valueMaxPx; + intersectKeyPx = otherKeyPx + (keyPx-otherKeyPx)/(valuePx-otherValuePx)*(intersectValuePx-otherValuePx); + break; + } + case 5: + { + break; // case 5 shouldn't happen for this function but we add it anyway to prevent potential discontinuity in branch table + } + case 6: // bottom edge + { + intersectValuePx = valueMinPx; + intersectKeyPx = otherKeyPx + (keyPx-otherKeyPx)/(valuePx-otherValuePx)*(intersectValuePx-otherValuePx); + break; + } + case 7: // top and right edge + { + intersectValuePx = valueMaxPx; + intersectKeyPx = otherKeyPx + (keyPx-otherKeyPx)/(valuePx-otherValuePx)*(intersectValuePx-otherValuePx); + if (intersectKeyPx < qMin(keyMinPx, keyMaxPx) || intersectKeyPx > qMax(keyMinPx, keyMaxPx)) // check whether top edge is not intersected, then it must be right edge (qMin/qMax necessary since axes may be reversed) + { + intersectKeyPx = keyMaxPx; + intersectValuePx = otherValuePx + (valuePx-otherValuePx)/(keyPx-otherKeyPx)*(intersectKeyPx-otherKeyPx); + } + break; + } + case 8: // right edge + { + intersectKeyPx = keyMaxPx; + intersectValuePx = otherValuePx + (valuePx-otherValuePx)/(keyPx-otherKeyPx)*(intersectKeyPx-otherKeyPx); + break; + } + case 9: // bottom and right edge + { + intersectValuePx = valueMinPx; + intersectKeyPx = otherKeyPx + (keyPx-otherKeyPx)/(valuePx-otherValuePx)*(intersectValuePx-otherValuePx); + if (intersectKeyPx < qMin(keyMinPx, keyMaxPx) || intersectKeyPx > qMax(keyMinPx, keyMaxPx)) // check whether bottom edge is not intersected, then it must be right edge (qMin/qMax necessary since axes may be reversed) + { + intersectKeyPx = keyMaxPx; + intersectValuePx = otherValuePx + (valuePx-otherValuePx)/(keyPx-otherKeyPx)*(intersectKeyPx-otherKeyPx); + } + break; + } + } + if (mKeyAxis->orientation() == Qt::Horizontal) + return QPointF(intersectKeyPx, intersectValuePx); + else + return QPointF(intersectValuePx, intersectKeyPx); +} + +/*! \internal + + This function is part of the curve optimization algorithm of \ref getCurveLines. + + In situations where a single segment skips over multiple regions it might become necessary to add + extra points at the corners of region 5 (see \ref getRegion) such that the optimized segment + doesn't unintentionally cut through the visible area of the axis rect and create plot artifacts. + This method provides these points that must be added, assuming the original segment doesn't + start, end, or traverse region 5. (Corner points where region 5 is traversed are calculated by + \ref getTraverseCornerPoints.) + + For example, consider a segment which directly goes from region 4 to 2 but originally is far out + to the top left such that it doesn't cross region 5. Naively optimizing these points by + projecting them on the top and left borders of region 5 will create a segment that surely crosses + 5, creating a visual artifact in the plot. This method prevents this by providing extra points at + the top left corner, making the optimized curve correctly pass from region 4 to 1 to 2 without + traversing 5. +*/ +QVector<QPointF> QCPCurve::getOptimizedCornerPoints(int prevRegion, int currentRegion, double prevKey, double prevValue, double key, double value, double keyMin, double valueMax, double keyMax, double valueMin) const +{ + QVector<QPointF> result; + switch (prevRegion) + { + case 1: + { + switch (currentRegion) + { + case 2: { result << coordsToPixels(keyMin, valueMax); break; } + case 4: { result << coordsToPixels(keyMin, valueMax); break; } + case 3: { result << coordsToPixels(keyMin, valueMax) << coordsToPixels(keyMin, valueMin); break; } + case 7: { result << coordsToPixels(keyMin, valueMax) << coordsToPixels(keyMax, valueMax); break; } + case 6: { result << coordsToPixels(keyMin, valueMax) << coordsToPixels(keyMin, valueMin); result.append(result.last()); break; } + case 8: { result << coordsToPixels(keyMin, valueMax) << coordsToPixels(keyMax, valueMax); result.append(result.last()); break; } + case 9: { // in this case we need another distinction of cases: segment may pass below or above rect, requiring either bottom right or top left corner points + if ((value-prevValue)/(key-prevKey)*(keyMin-key)+value < valueMin) // segment passes below R + { result << coordsToPixels(keyMin, valueMax) << coordsToPixels(keyMin, valueMin); result.append(result.last()); result << coordsToPixels(keyMax, valueMin); } + else + { result << coordsToPixels(keyMin, valueMax) << coordsToPixels(keyMax, valueMax); result.append(result.last()); result << coordsToPixels(keyMax, valueMin); } + break; + } + } + break; + } + case 2: + { + switch (currentRegion) + { + case 1: { result << coordsToPixels(keyMin, valueMax); break; } + case 3: { result << coordsToPixels(keyMin, valueMin); break; } + case 4: { result << coordsToPixels(keyMin, valueMax); result.append(result.last()); break; } + case 6: { result << coordsToPixels(keyMin, valueMin); result.append(result.last()); break; } + case 7: { result << coordsToPixels(keyMin, valueMax); result.append(result.last()); result << coordsToPixels(keyMax, valueMax); break; } + case 9: { result << coordsToPixels(keyMin, valueMin); result.append(result.last()); result << coordsToPixels(keyMax, valueMin); break; } + } + break; + } + case 3: + { + switch (currentRegion) + { + case 2: { result << coordsToPixels(keyMin, valueMin); break; } + case 6: { result << coordsToPixels(keyMin, valueMin); break; } + case 1: { result << coordsToPixels(keyMin, valueMin) << coordsToPixels(keyMin, valueMax); break; } + case 9: { result << coordsToPixels(keyMin, valueMin) << coordsToPixels(keyMax, valueMin); break; } + case 4: { result << coordsToPixels(keyMin, valueMin) << coordsToPixels(keyMin, valueMax); result.append(result.last()); break; } + case 8: { result << coordsToPixels(keyMin, valueMin) << coordsToPixels(keyMax, valueMin); result.append(result.last()); break; } + case 7: { // in this case we need another distinction of cases: segment may pass below or above rect, requiring either bottom right or top left corner points + if ((value-prevValue)/(key-prevKey)*(keyMax-key)+value < valueMin) // segment passes below R + { result << coordsToPixels(keyMin, valueMin) << coordsToPixels(keyMax, valueMin); result.append(result.last()); result << coordsToPixels(keyMax, valueMax); } + else + { result << coordsToPixels(keyMin, valueMin) << coordsToPixels(keyMin, valueMax); result.append(result.last()); result << coordsToPixels(keyMax, valueMax); } + break; + } + } + break; + } + case 4: + { + switch (currentRegion) + { + case 1: { result << coordsToPixels(keyMin, valueMax); break; } + case 7: { result << coordsToPixels(keyMax, valueMax); break; } + case 2: { result << coordsToPixels(keyMin, valueMax); result.append(result.last()); break; } + case 8: { result << coordsToPixels(keyMax, valueMax); result.append(result.last()); break; } + case 3: { result << coordsToPixels(keyMin, valueMax); result.append(result.last()); result << coordsToPixels(keyMin, valueMin); break; } + case 9: { result << coordsToPixels(keyMax, valueMax); result.append(result.last()); result << coordsToPixels(keyMax, valueMin); break; } + } + break; + } + case 5: + { + switch (currentRegion) + { + case 1: { result << coordsToPixels(keyMin, valueMax); break; } + case 7: { result << coordsToPixels(keyMax, valueMax); break; } + case 9: { result << coordsToPixels(keyMax, valueMin); break; } + case 3: { result << coordsToPixels(keyMin, valueMin); break; } + } + break; + } + case 6: + { + switch (currentRegion) + { + case 3: { result << coordsToPixels(keyMin, valueMin); break; } + case 9: { result << coordsToPixels(keyMax, valueMin); break; } + case 2: { result << coordsToPixels(keyMin, valueMin); result.append(result.last()); break; } + case 8: { result << coordsToPixels(keyMax, valueMin); result.append(result.last()); break; } + case 1: { result << coordsToPixels(keyMin, valueMin); result.append(result.last()); result << coordsToPixels(keyMin, valueMax); break; } + case 7: { result << coordsToPixels(keyMax, valueMin); result.append(result.last()); result << coordsToPixels(keyMax, valueMax); break; } + } + break; + } + case 7: + { + switch (currentRegion) + { + case 4: { result << coordsToPixels(keyMax, valueMax); break; } + case 8: { result << coordsToPixels(keyMax, valueMax); break; } + case 1: { result << coordsToPixels(keyMax, valueMax) << coordsToPixels(keyMin, valueMax); break; } + case 9: { result << coordsToPixels(keyMax, valueMax) << coordsToPixels(keyMax, valueMin); break; } + case 2: { result << coordsToPixels(keyMax, valueMax) << coordsToPixels(keyMin, valueMax); result.append(result.last()); break; } + case 6: { result << coordsToPixels(keyMax, valueMax) << coordsToPixels(keyMax, valueMin); result.append(result.last()); break; } + case 3: { // in this case we need another distinction of cases: segment may pass below or above rect, requiring either bottom right or top left corner points + if ((value-prevValue)/(key-prevKey)*(keyMax-key)+value < valueMin) // segment passes below R + { result << coordsToPixels(keyMax, valueMax) << coordsToPixels(keyMax, valueMin); result.append(result.last()); result << coordsToPixels(keyMin, valueMin); } + else + { result << coordsToPixels(keyMax, valueMax) << coordsToPixels(keyMin, valueMax); result.append(result.last()); result << coordsToPixels(keyMin, valueMin); } + break; + } + } + break; + } + case 8: + { + switch (currentRegion) + { + case 7: { result << coordsToPixels(keyMax, valueMax); break; } + case 9: { result << coordsToPixels(keyMax, valueMin); break; } + case 4: { result << coordsToPixels(keyMax, valueMax); result.append(result.last()); break; } + case 6: { result << coordsToPixels(keyMax, valueMin); result.append(result.last()); break; } + case 1: { result << coordsToPixels(keyMax, valueMax); result.append(result.last()); result << coordsToPixels(keyMin, valueMax); break; } + case 3: { result << coordsToPixels(keyMax, valueMin); result.append(result.last()); result << coordsToPixels(keyMin, valueMin); break; } + } + break; + } + case 9: + { + switch (currentRegion) + { + case 6: { result << coordsToPixels(keyMax, valueMin); break; } + case 8: { result << coordsToPixels(keyMax, valueMin); break; } + case 3: { result << coordsToPixels(keyMax, valueMin) << coordsToPixels(keyMin, valueMin); break; } + case 7: { result << coordsToPixels(keyMax, valueMin) << coordsToPixels(keyMax, valueMax); break; } + case 2: { result << coordsToPixels(keyMax, valueMin) << coordsToPixels(keyMin, valueMin); result.append(result.last()); break; } + case 4: { result << coordsToPixels(keyMax, valueMin) << coordsToPixels(keyMax, valueMax); result.append(result.last()); break; } + case 1: { // in this case we need another distinction of cases: segment may pass below or above rect, requiring either bottom right or top left corner points + if ((value-prevValue)/(key-prevKey)*(keyMin-key)+value < valueMin) // segment passes below R + { result << coordsToPixels(keyMax, valueMin) << coordsToPixels(keyMin, valueMin); result.append(result.last()); result << coordsToPixels(keyMin, valueMax); } + else + { result << coordsToPixels(keyMax, valueMin) << coordsToPixels(keyMax, valueMax); result.append(result.last()); result << coordsToPixels(keyMin, valueMax); } + break; + } + } + break; + } + } + return result; +} + +/*! \internal + + This function is part of the curve optimization algorithm of \ref getCurveLines. + + This method returns whether a segment going from \a prevRegion to \a currentRegion (see \ref + getRegion) may traverse the visible region 5. This function assumes that neither \a prevRegion + nor \a currentRegion is 5 itself. + + If this method returns false, the segment for sure doesn't pass region 5. If it returns true, the + segment may or may not pass region 5 and a more fine-grained calculation must be used (\ref + getTraverse). +*/ +bool QCPCurve::mayTraverse(int prevRegion, int currentRegion) const +{ + switch (prevRegion) + { + case 1: + { + switch (currentRegion) + { + case 4: + case 7: + case 2: + case 3: return false; + default: return true; + } + } + case 2: + { + switch (currentRegion) + { + case 1: + case 3: return false; + default: return true; + } + } + case 3: + { + switch (currentRegion) + { + case 1: + case 2: + case 6: + case 9: return false; + default: return true; + } + } + case 4: + { + switch (currentRegion) + { + case 1: + case 7: return false; + default: return true; + } + } + case 5: return false; // should never occur + case 6: + { + switch (currentRegion) + { + case 3: + case 9: return false; + default: return true; + } + } + case 7: + { + switch (currentRegion) + { + case 1: + case 4: + case 8: + case 9: return false; + default: return true; + } + } + case 8: + { + switch (currentRegion) + { + case 7: + case 9: return false; + default: return true; + } + } + case 9: + { + switch (currentRegion) + { + case 3: + case 6: + case 8: + case 7: return false; + default: return true; + } + } + default: return true; + } +} + + +/*! \internal + + This function is part of the curve optimization algorithm of \ref getCurveLines. + + This method assumes that the \ref mayTraverse test has returned true, so there is a chance the + segment defined by (\a prevKey, \a prevValue) and (\a key, \a value) goes through the visible + region 5. + + The return value of this method indicates whether the segment actually traverses region 5 or not. + + If the segment traverses 5, the output parameters \a crossA and \a crossB indicate the entry and + exit points of region 5. They will become the optimized points for that segment. +*/ +bool QCPCurve::getTraverse(double prevKey, double prevValue, double key, double value, double keyMin, double valueMax, double keyMax, double valueMin, QPointF &crossA, QPointF &crossB) const +{ + // The intersection point interpolation here is done in pixel coordinates, so we don't need to + // differentiate between different axis scale types. Note that the nomenclature + // top/left/bottom/right/min/max is with respect to the rect in plot coordinates, wich may be + // different in pixel coordinates (horz/vert key axes, reversed ranges) + + QList<QPointF> intersections; + const double valueMinPx = mValueAxis->coordToPixel(valueMin); + const double valueMaxPx = mValueAxis->coordToPixel(valueMax); + const double keyMinPx = mKeyAxis->coordToPixel(keyMin); + const double keyMaxPx = mKeyAxis->coordToPixel(keyMax); + const double keyPx = mKeyAxis->coordToPixel(key); + const double valuePx = mValueAxis->coordToPixel(value); + const double prevKeyPx = mKeyAxis->coordToPixel(prevKey); + const double prevValuePx = mValueAxis->coordToPixel(prevValue); + if (qFuzzyIsNull(key-prevKey)) // line is parallel to value axis + { + // due to region filter in mayTraverse(), if line is parallel to value or key axis, region 5 is traversed here + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(keyPx, valueMinPx) : QPointF(valueMinPx, keyPx)); // direction will be taken care of at end of method + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(keyPx, valueMaxPx) : QPointF(valueMaxPx, keyPx)); + } else if (qFuzzyIsNull(value-prevValue)) // line is parallel to key axis + { + // due to region filter in mayTraverse(), if line is parallel to value or key axis, region 5 is traversed here + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(keyMinPx, valuePx) : QPointF(valuePx, keyMinPx)); // direction will be taken care of at end of method + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(keyMaxPx, valuePx) : QPointF(valuePx, keyMaxPx)); + } else // line is skewed + { + double gamma; + double keyPerValuePx = (keyPx-prevKeyPx)/(valuePx-prevValuePx); + // check top of rect: + gamma = prevKeyPx + (valueMaxPx-prevValuePx)*keyPerValuePx; + if (gamma >= qMin(keyMinPx, keyMaxPx) && gamma <= qMax(keyMinPx, keyMaxPx)) // qMin/qMax necessary since axes may be reversed + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(gamma, valueMaxPx) : QPointF(valueMaxPx, gamma)); + // check bottom of rect: + gamma = prevKeyPx + (valueMinPx-prevValuePx)*keyPerValuePx; + if (gamma >= qMin(keyMinPx, keyMaxPx) && gamma <= qMax(keyMinPx, keyMaxPx)) // qMin/qMax necessary since axes may be reversed + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(gamma, valueMinPx) : QPointF(valueMinPx, gamma)); + const double valuePerKeyPx = 1.0/keyPerValuePx; + // check left of rect: + gamma = prevValuePx + (keyMinPx-prevKeyPx)*valuePerKeyPx; + if (gamma >= qMin(valueMinPx, valueMaxPx) && gamma <= qMax(valueMinPx, valueMaxPx)) // qMin/qMax necessary since axes may be reversed + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(keyMinPx, gamma) : QPointF(gamma, keyMinPx)); + // check right of rect: + gamma = prevValuePx + (keyMaxPx-prevKeyPx)*valuePerKeyPx; + if (gamma >= qMin(valueMinPx, valueMaxPx) && gamma <= qMax(valueMinPx, valueMaxPx)) // qMin/qMax necessary since axes may be reversed + intersections.append(mKeyAxis->orientation() == Qt::Horizontal ? QPointF(keyMaxPx, gamma) : QPointF(gamma, keyMaxPx)); + } + + // handle cases where found points isn't exactly 2: + if (intersections.size() > 2) + { + // line probably goes through corner of rect, and we got duplicate points there. single out the point pair with greatest distance in between: + double distSqrMax = 0; + QPointF pv1, pv2; + for (int i=0; i<intersections.size()-1; ++i) + { + for (int k=i+1; k<intersections.size(); ++k) + { + QPointF distPoint = intersections.at(i)-intersections.at(k); + double distSqr = distPoint.x()*distPoint.x()+distPoint.y()+distPoint.y(); + if (distSqr > distSqrMax) + { + pv1 = intersections.at(i); + pv2 = intersections.at(k); + distSqrMax = distSqr; + } + } + } + intersections = QList<QPointF>() << pv1 << pv2; + } else if (intersections.size() != 2) + { + // one or even zero points found (shouldn't happen unless line perfectly tangent to corner), no need to draw segment + return false; + } + + // possibly re-sort points so optimized point segment has same direction as original segment: + double xDelta = keyPx-prevKeyPx; + double yDelta = valuePx-prevValuePx; + if (mKeyAxis->orientation() != Qt::Horizontal) + qSwap(xDelta, yDelta); + if (xDelta*(intersections.at(1).x()-intersections.at(0).x()) + yDelta*(intersections.at(1).y()-intersections.at(0).y()) < 0) // scalar product of both segments < 0 -> opposite direction + intersections.move(0, 1); + crossA = intersections.at(0); + crossB = intersections.at(1); + return true; +} + +/*! \internal + + This function is part of the curve optimization algorithm of \ref getCurveLines. + + This method assumes that the \ref getTraverse test has returned true, so the segment definitely + traverses the visible region 5 when going from \a prevRegion to \a currentRegion. + + In certain situations it is not sufficient to merely generate the entry and exit points of the + segment into/out of region 5, as \ref getTraverse provides. It may happen that a single segment, in + addition to traversing region 5, skips another region outside of region 5, which makes it + necessary to add an optimized corner point there (very similar to the job \ref + getOptimizedCornerPoints does for segments that are completely in outside regions and don't + traverse 5). + + As an example, consider a segment going from region 1 to region 6, traversing the lower left + corner of region 5. In this configuration, the segment additionally crosses the border between + region 1 and 2 before entering region 5. This makes it necessary to add an additional point in + the top left corner, before adding the optimized traverse points. So in this case, the output + parameter \a beforeTraverse will contain the top left corner point, and \a afterTraverse will be + empty. + + In some cases, such as when going from region 1 to 9, it may even be necessary to add additional + corner points before and after the traverse. Then both \a beforeTraverse and \a afterTraverse + return the respective corner points. +*/ +void QCPCurve::getTraverseCornerPoints(int prevRegion, int currentRegion, double keyMin, double valueMax, double keyMax, double valueMin, QVector<QPointF> &beforeTraverse, QVector<QPointF> &afterTraverse) const +{ + switch (prevRegion) + { + case 1: + { + switch (currentRegion) + { + case 6: { beforeTraverse << coordsToPixels(keyMin, valueMax); break; } + case 9: { beforeTraverse << coordsToPixels(keyMin, valueMax); afterTraverse << coordsToPixels(keyMax, valueMin); break; } + case 8: { beforeTraverse << coordsToPixels(keyMin, valueMax); break; } + } + break; + } + case 2: + { + switch (currentRegion) + { + case 7: { afterTraverse << coordsToPixels(keyMax, valueMax); break; } + case 9: { afterTraverse << coordsToPixels(keyMax, valueMin); break; } + } + break; + } + case 3: + { + switch (currentRegion) + { + case 4: { beforeTraverse << coordsToPixels(keyMin, valueMin); break; } + case 7: { beforeTraverse << coordsToPixels(keyMin, valueMin); afterTraverse << coordsToPixels(keyMax, valueMax); break; } + case 8: { beforeTraverse << coordsToPixels(keyMin, valueMin); break; } + } + break; + } + case 4: + { + switch (currentRegion) + { + case 3: { afterTraverse << coordsToPixels(keyMin, valueMin); break; } + case 9: { afterTraverse << coordsToPixels(keyMax, valueMin); break; } + } + break; + } + case 5: { break; } // shouldn't happen because this method only handles full traverses + case 6: + { + switch (currentRegion) + { + case 1: { afterTraverse << coordsToPixels(keyMin, valueMax); break; } + case 7: { afterTraverse << coordsToPixels(keyMax, valueMax); break; } + } + break; + } + case 7: + { + switch (currentRegion) + { + case 2: { beforeTraverse << coordsToPixels(keyMax, valueMax); break; } + case 3: { beforeTraverse << coordsToPixels(keyMax, valueMax); afterTraverse << coordsToPixels(keyMin, valueMin); break; } + case 6: { beforeTraverse << coordsToPixels(keyMax, valueMax); break; } + } + break; + } + case 8: + { + switch (currentRegion) + { + case 1: { afterTraverse << coordsToPixels(keyMin, valueMax); break; } + case 3: { afterTraverse << coordsToPixels(keyMin, valueMin); break; } + } + break; + } + case 9: + { + switch (currentRegion) + { + case 2: { beforeTraverse << coordsToPixels(keyMax, valueMin); break; } + case 1: { beforeTraverse << coordsToPixels(keyMax, valueMin); afterTraverse << coordsToPixels(keyMin, valueMax); break; } + case 4: { beforeTraverse << coordsToPixels(keyMax, valueMin); break; } + } + break; + } + } +} + +/*! \internal + + Calculates the (minimum) distance (in pixels) the curve's representation has from the given \a + pixelPoint in pixels. This is used to determine whether the curve was clicked or not, e.g. in + \ref selectTest. The closest data point to \a pixelPoint is returned in \a closestData. Note that + if the curve has a line representation, the returned distance may be smaller than the distance to + the \a closestData point, since the distance to the curve line is also taken into account. + + If either the curve has no data or if the line style is \ref lsNone and the scatter style's shape + is \ref QCPScatterStyle::ssNone (i.e. there is no visual representation of the curve), returns + -1.0. +*/ +double QCPCurve::pointDistance(const QPointF &pixelPoint, QCPCurveDataContainer::const_iterator &closestData) const +{ + closestData = mDataContainer->constEnd(); + if (mDataContainer->isEmpty()) + return -1.0; + if (mLineStyle == lsNone && mScatterStyle.isNone()) + return -1.0; + + if (mDataContainer->size() == 1) + { + QPointF dataPoint = coordsToPixels(mDataContainer->constBegin()->key, mDataContainer->constBegin()->value); + closestData = mDataContainer->constBegin(); + return QCPVector2D(dataPoint-pixelPoint).length(); + } + + // calculate minimum distances to curve data points and find closestData iterator: + double minDistSqr = std::numeric_limits<double>::max(); + // iterate over found data points and then choose the one with the shortest distance to pos: + QCPCurveDataContainer::const_iterator begin = mDataContainer->constBegin(); + QCPCurveDataContainer::const_iterator end = mDataContainer->constEnd(); + for (QCPCurveDataContainer::const_iterator it=begin; it!=end; ++it) + { + const double currentDistSqr = QCPVector2D(coordsToPixels(it->key, it->value)-pixelPoint).lengthSquared(); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestData = it; + } + } + + // calculate distance to line if there is one (if so, will probably be smaller than distance to closest data point): + if (mLineStyle != lsNone) + { + QVector<QPointF> lines; + getCurveLines(&lines, QCPDataRange(0, dataCount()), mParentPlot->selectionTolerance()*1.2); // optimized lines outside axis rect shouldn't respond to clicks at the edge, so use 1.2*tolerance as pen width + for (int i=0; i<lines.size()-1; ++i) + { + double currentDistSqr = QCPVector2D(pixelPoint).distanceSquaredToLine(lines.at(i), lines.at(i+1)); + if (currentDistSqr < minDistSqr) + minDistSqr = currentDistSqr; + } + } + + return qSqrt(minDistSqr); +} +/* end of 'src/plottables/plottable-curve.cpp' */ + + +/* including file 'src/plottables/plottable-bars.cpp', size 43512 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPBarsGroup +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPBarsGroup + \brief Groups multiple QCPBars together so they appear side by side + + \image html QCPBarsGroup.png + + When showing multiple QCPBars in one plot which have bars at identical keys, it may be desirable + to have them appearing next to each other at each key. This is what adding the respective QCPBars + plottables to a QCPBarsGroup achieves. (An alternative approach is to stack them on top of each + other, see \ref QCPBars::moveAbove.) + + \section qcpbarsgroup-usage Usage + + To add a QCPBars plottable to the group, create a new group and then add the respective bars + intances: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpbarsgroup-creation + Alternatively to appending to the group like shown above, you can also set the group on the + QCPBars plottable via \ref QCPBars::setBarsGroup. + + The spacing between the bars can be configured via \ref setSpacingType and \ref setSpacing. The + bars in this group appear in the plot in the order they were appended. To insert a bars plottable + at a certain index position, or to reposition a bars plottable which is already in the group, use + \ref insert. + + To remove specific bars from the group, use either \ref remove or call \ref + QCPBars::setBarsGroup "QCPBars::setBarsGroup(0)" on the respective bars plottable. + + To clear the entire group, call \ref clear, or simply delete the group. + + \section qcpbarsgroup-example Example + + The image above is generated with the following code: + \snippet documentation/doc-image-generator/mainwindow.cpp qcpbarsgroup-example +*/ + +/* start of documentation of inline functions */ + +/*! \fn QList<QCPBars*> QCPBarsGroup::bars() const + + Returns all bars currently in this group. + + \see bars(int index) +*/ + +/*! \fn int QCPBarsGroup::size() const + + Returns the number of QCPBars plottables that are part of this group. + +*/ + +/*! \fn bool QCPBarsGroup::isEmpty() const + + Returns whether this bars group is empty. + + \see size +*/ + +/*! \fn bool QCPBarsGroup::contains(QCPBars *bars) + + Returns whether the specified \a bars plottable is part of this group. + +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs a new bars group for the specified QCustomPlot instance. +*/ +QCPBarsGroup::QCPBarsGroup(QCustomPlot *parentPlot) : + QObject(parentPlot), + mParentPlot(parentPlot), + mSpacingType(stAbsolute), + mSpacing(4) +{ +} + +QCPBarsGroup::~QCPBarsGroup() +{ + clear(); +} + +/*! + Sets how the spacing between adjacent bars is interpreted. See \ref SpacingType. + + The actual spacing can then be specified with \ref setSpacing. + + \see setSpacing +*/ +void QCPBarsGroup::setSpacingType(SpacingType spacingType) +{ + mSpacingType = spacingType; +} + +/*! + Sets the spacing between adjacent bars. What the number passed as \a spacing actually means, is + defined by the current \ref SpacingType, which can be set with \ref setSpacingType. + + \see setSpacingType +*/ +void QCPBarsGroup::setSpacing(double spacing) +{ + mSpacing = spacing; +} + +/*! + Returns the QCPBars instance with the specified \a index in this group. If no such QCPBars + exists, returns 0. + + \see bars(), size +*/ +QCPBars *QCPBarsGroup::bars(int index) const +{ + if (index >= 0 && index < mBars.size()) + { + return mBars.at(index); + } else + { + qDebug() << Q_FUNC_INFO << "index out of bounds:" << index; + return 0; + } +} + +/*! + Removes all QCPBars plottables from this group. + + \see isEmpty +*/ +void QCPBarsGroup::clear() +{ + foreach (QCPBars *bars, mBars) // since foreach takes a copy, removing bars in the loop is okay + bars->setBarsGroup(0); // removes itself via removeBars +} + +/*! + Adds the specified \a bars plottable to this group. Alternatively, you can also use \ref + QCPBars::setBarsGroup on the \a bars instance. + + \see insert, remove +*/ +void QCPBarsGroup::append(QCPBars *bars) +{ + if (!bars) + { + qDebug() << Q_FUNC_INFO << "bars is 0"; + return; + } + + if (!mBars.contains(bars)) + bars->setBarsGroup(this); + else + qDebug() << Q_FUNC_INFO << "bars plottable is already in this bars group:" << reinterpret_cast<quintptr>(bars); +} + +/*! + Inserts the specified \a bars plottable into this group at the specified index position \a i. + This gives you full control over the ordering of the bars. + + \a bars may already be part of this group. In that case, \a bars is just moved to the new index + position. + + \see append, remove +*/ +void QCPBarsGroup::insert(int i, QCPBars *bars) +{ + if (!bars) + { + qDebug() << Q_FUNC_INFO << "bars is 0"; + return; + } + + // first append to bars list normally: + if (!mBars.contains(bars)) + bars->setBarsGroup(this); + // then move to according position: + mBars.move(mBars.indexOf(bars), qBound(0, i, mBars.size()-1)); +} + +/*! + Removes the specified \a bars plottable from this group. + + \see contains, clear +*/ +void QCPBarsGroup::remove(QCPBars *bars) +{ + if (!bars) + { + qDebug() << Q_FUNC_INFO << "bars is 0"; + return; + } + + if (mBars.contains(bars)) + bars->setBarsGroup(0); + else + qDebug() << Q_FUNC_INFO << "bars plottable is not in this bars group:" << reinterpret_cast<quintptr>(bars); +} + +/*! \internal + + Adds the specified \a bars to the internal mBars list of bars. This method does not change the + barsGroup property on \a bars. + + \see unregisterBars +*/ +void QCPBarsGroup::registerBars(QCPBars *bars) +{ + if (!mBars.contains(bars)) + mBars.append(bars); +} + +/*! \internal + + Removes the specified \a bars from the internal mBars list of bars. This method does not change + the barsGroup property on \a bars. + + \see registerBars +*/ +void QCPBarsGroup::unregisterBars(QCPBars *bars) +{ + mBars.removeOne(bars); +} + +/*! \internal + + Returns the pixel offset in the key dimension the specified \a bars plottable should have at the + given key coordinate \a keyCoord. The offset is relative to the pixel position of the key + coordinate \a keyCoord. +*/ +double QCPBarsGroup::keyPixelOffset(const QCPBars *bars, double keyCoord) +{ + // find list of all base bars in case some mBars are stacked: + QList<const QCPBars*> baseBars; + foreach (const QCPBars *b, mBars) + { + while (b->barBelow()) + b = b->barBelow(); + if (!baseBars.contains(b)) + baseBars.append(b); + } + // find base bar this "bars" is stacked on: + const QCPBars *thisBase = bars; + while (thisBase->barBelow()) + thisBase = thisBase->barBelow(); + + // determine key pixel offset of this base bars considering all other base bars in this barsgroup: + double result = 0; + int index = baseBars.indexOf(thisBase); + if (index >= 0) + { + if (baseBars.size() % 2 == 1 && index == (baseBars.size()-1)/2) // is center bar (int division on purpose) + { + return result; + } else + { + double lowerPixelWidth, upperPixelWidth; + int startIndex; + int dir = (index <= (baseBars.size()-1)/2) ? -1 : 1; // if bar is to lower keys of center, dir is negative + if (baseBars.size() % 2 == 0) // even number of bars + { + startIndex = baseBars.size()/2 + (dir < 0 ? -1 : 0); + result += getPixelSpacing(baseBars.at(startIndex), keyCoord)*0.5; // half of middle spacing + } else // uneven number of bars + { + startIndex = (baseBars.size()-1)/2+dir; + baseBars.at((baseBars.size()-1)/2)->getPixelWidth(keyCoord, lowerPixelWidth, upperPixelWidth); + result += qAbs(upperPixelWidth-lowerPixelWidth)*0.5; // half of center bar + result += getPixelSpacing(baseBars.at((baseBars.size()-1)/2), keyCoord); // center bar spacing + } + for (int i = startIndex; i != index; i += dir) // add widths and spacings of bars in between center and our bars + { + baseBars.at(i)->getPixelWidth(keyCoord, lowerPixelWidth, upperPixelWidth); + result += qAbs(upperPixelWidth-lowerPixelWidth); + result += getPixelSpacing(baseBars.at(i), keyCoord); + } + // finally half of our bars width: + baseBars.at(index)->getPixelWidth(keyCoord, lowerPixelWidth, upperPixelWidth); + result += qAbs(upperPixelWidth-lowerPixelWidth)*0.5; + // correct sign of result depending on orientation and direction of key axis: + result *= dir*thisBase->keyAxis()->pixelOrientation(); + } + } + return result; +} + +/*! \internal + + Returns the spacing in pixels which is between this \a bars and the following one, both at the + key coordinate \a keyCoord. + + \note Typically the returned value doesn't depend on \a bars or \a keyCoord. \a bars is only + needed to get access to the key axis transformation and axis rect for the modes \ref + stAxisRectRatio and \ref stPlotCoords. The \a keyCoord is only relevant for spacings given in + \ref stPlotCoords on a logarithmic axis. +*/ +double QCPBarsGroup::getPixelSpacing(const QCPBars *bars, double keyCoord) +{ + switch (mSpacingType) + { + case stAbsolute: + { + return mSpacing; + } + case stAxisRectRatio: + { + if (bars->keyAxis()->orientation() == Qt::Horizontal) + return bars->keyAxis()->axisRect()->width()*mSpacing; + else + return bars->keyAxis()->axisRect()->height()*mSpacing; + } + case stPlotCoords: + { + double keyPixel = bars->keyAxis()->coordToPixel(keyCoord); + return qAbs(bars->keyAxis()->coordToPixel(keyCoord+mSpacing)-keyPixel); + } + } + return 0; +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPBarsData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPBarsData + \brief Holds the data of one single data point (one bar) for QCPBars. + + The stored data is: + \li \a key: coordinate on the key axis of this bar (this is the \a mainKey and the \a sortKey) + \li \a value: height coordinate on the value axis of this bar (this is the \a mainValue) + + The container for storing multiple data points is \ref QCPBarsDataContainer. It is a typedef for + \ref QCPDataContainer with \ref QCPBarsData as the DataType template parameter. See the + documentation there for an explanation regarding the data type's generic methods. + + \see QCPBarsDataContainer +*/ + +/* start documentation of inline functions */ + +/*! \fn double QCPBarsData::sortKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static QCPBarsData QCPBarsData::fromSortKey(double sortKey) + + Returns a data point with the specified \a sortKey. All other members are set to zero. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static static bool QCPBarsData::sortKeyIsMainKey() + + Since the member \a key is both the data point key coordinate and the data ordering parameter, + this method returns true. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPBarsData::mainKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPBarsData::mainValue() const + + Returns the \a value member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn QCPRange QCPBarsData::valueRange() const + + Returns a QCPRange with both lower and upper boundary set to \a value of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a bar data point with key and value set to zero. +*/ +QCPBarsData::QCPBarsData() : + key(0), + value(0) +{ +} + +/*! + Constructs a bar data point with the specified \a key and \a value. +*/ +QCPBarsData::QCPBarsData(double key, double value) : + key(key), + value(value) +{ +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPBars +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPBars + \brief A plottable representing a bar chart in a plot. + + \image html QCPBars.png + + To plot data, assign it with the \ref setData or \ref addData functions. + + \section qcpbars-appearance Changing the appearance + + The appearance of the bars is determined by the pen and the brush (\ref setPen, \ref setBrush). + The width of the individual bars can be controlled with \ref setWidthType and \ref setWidth. + + Bar charts are stackable. This means, two QCPBars plottables can be placed on top of each other + (see \ref QCPBars::moveAbove). So when two bars are at the same key position, they will appear + stacked. + + If you would like to group multiple QCPBars plottables together so they appear side by side as + shown below, use QCPBarsGroup. + + \image html QCPBarsGroup.png + + \section qcpbars-usage Usage + + Like all data representing objects in QCustomPlot, the QCPBars is a plottable + (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies + (QCustomPlot::plottable, QCustomPlot::removePlottable, etc.) + + Usually, you first create an instance: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpbars-creation-1 + which registers it with the QCustomPlot instance of the passed axes. Note that this QCustomPlot instance takes + ownership of the plottable, so do not delete it manually but use QCustomPlot::removePlottable() instead. + The newly created plottable can be modified, e.g.: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpbars-creation-2 +*/ + +/* start of documentation of inline functions */ + +/*! \fn QSharedPointer<QCPBarsDataContainer> QCPBars::data() const + + Returns a shared pointer to the internal data storage of type \ref QCPBarsDataContainer. You may + use it to directly manipulate the data, which may be more convenient and faster than using the + regular \ref setData or \ref addData methods. +*/ + +/*! \fn QCPBars *QCPBars::barBelow() const + Returns the bars plottable that is directly below this bars plottable. + If there is no such plottable, returns 0. + + \see barAbove, moveBelow, moveAbove +*/ + +/*! \fn QCPBars *QCPBars::barAbove() const + Returns the bars plottable that is directly above this bars plottable. + If there is no such plottable, returns 0. + + \see barBelow, moveBelow, moveAbove +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs a bar chart which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value + axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have + the same orientation. If either of these restrictions is violated, a corresponding message is + printed to the debug output (qDebug), the construction is not aborted, though. + + The created QCPBars is automatically registered with the QCustomPlot instance inferred from \a + keyAxis. This QCustomPlot instance takes ownership of the QCPBars, so do not delete it manually + but use QCustomPlot::removePlottable() instead. +*/ +QCPBars::QCPBars(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable1D<QCPBarsData>(keyAxis, valueAxis), + mWidth(0.75), + mWidthType(wtPlotCoords), + mBarsGroup(0), + mBaseValue(0), + mStackingGap(0) +{ + // modify inherited properties from abstract plottable: + mPen.setColor(Qt::blue); + mPen.setStyle(Qt::SolidLine); + mBrush.setColor(QColor(40, 50, 255, 30)); + mBrush.setStyle(Qt::SolidPattern); + mSelectionDecorator->setBrush(QBrush(QColor(160, 160, 255))); +} + +QCPBars::~QCPBars() +{ + setBarsGroup(0); + if (mBarBelow || mBarAbove) + connectBars(mBarBelow.data(), mBarAbove.data()); // take this bar out of any stacking +} + +/*! \overload + + Replaces the current data container with the provided \a data container. + + Since a QSharedPointer is used, multiple QCPBars may share the same data container safely. + Modifying the data in the container will then affect all bars that share the container. Sharing + can be achieved by simply exchanging the data containers wrapped in shared pointers: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpbars-datasharing-1 + + If you do not wish to share containers, but create a copy from an existing container, rather use + the \ref QCPDataContainer<DataType>::set method on the bar's data container directly: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpbars-datasharing-2 + + \see addData +*/ +void QCPBars::setData(QSharedPointer<QCPBarsDataContainer> data) +{ + mDataContainer = data; +} + +/*! \overload + + Replaces the current data with the provided points in \a keys and \a values. The provided + vectors should have equal length. Else, the number of added points will be the size of the + smallest vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + \see addData +*/ +void QCPBars::setData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted) +{ + mDataContainer->clear(); + addData(keys, values, alreadySorted); +} + +/*! + Sets the width of the bars. + + How the number passed as \a width is interpreted (e.g. screen pixels, plot coordinates,...), + depends on the currently set width type, see \ref setWidthType and \ref WidthType. +*/ +void QCPBars::setWidth(double width) +{ + mWidth = width; +} + +/*! + Sets how the width of the bars is defined. See the documentation of \ref WidthType for an + explanation of the possible values for \a widthType. + + The default value is \ref wtPlotCoords. + + \see setWidth +*/ +void QCPBars::setWidthType(QCPBars::WidthType widthType) +{ + mWidthType = widthType; +} + +/*! + Sets to which QCPBarsGroup this QCPBars instance belongs to. Alternatively, you can also use \ref + QCPBarsGroup::append. + + To remove this QCPBars from any group, set \a barsGroup to 0. +*/ +void QCPBars::setBarsGroup(QCPBarsGroup *barsGroup) +{ + // deregister at old group: + if (mBarsGroup) + mBarsGroup->unregisterBars(this); + mBarsGroup = barsGroup; + // register at new group: + if (mBarsGroup) + mBarsGroup->registerBars(this); +} + +/*! + Sets the base value of this bars plottable. + + The base value defines where on the value coordinate the bars start. How far the bars extend from + the base value is given by their individual value data. For example, if the base value is set to + 1, a bar with data value 2 will have its lowest point at value coordinate 1 and highest point at + 3. + + For stacked bars, only the base value of the bottom-most QCPBars has meaning. + + The default base value is 0. +*/ +void QCPBars::setBaseValue(double baseValue) +{ + mBaseValue = baseValue; +} + +/*! + If this bars plottable is stacked on top of another bars plottable (\ref moveAbove), this method + allows specifying a distance in \a pixels, by which the drawn bar rectangles will be separated by + the bars below it. +*/ +void QCPBars::setStackingGap(double pixels) +{ + mStackingGap = pixels; +} + +/*! \overload + + Adds the provided points in \a keys and \a values to the current data. The provided vectors + should have equal length. Else, the number of added points will be the size of the smallest + vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPBars::addData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted) +{ + if (keys.size() != values.size()) + qDebug() << Q_FUNC_INFO << "keys and values have different sizes:" << keys.size() << values.size(); + const int n = qMin(keys.size(), values.size()); + QVector<QCPBarsData> tempData(n); + QVector<QCPBarsData>::iterator it = tempData.begin(); + const QVector<QCPBarsData>::iterator itEnd = tempData.end(); + int i = 0; + while (it != itEnd) + { + it->key = keys[i]; + it->value = values[i]; + ++it; + ++i; + } + mDataContainer->add(tempData, alreadySorted); // don't modify tempData beyond this to prevent copy on write +} + +/*! \overload + Adds the provided data point as \a key and \a value to the current data. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPBars::addData(double key, double value) +{ + mDataContainer->add(QCPBarsData(key, value)); +} + +/*! + Moves this bars plottable below \a bars. In other words, the bars of this plottable will appear + below the bars of \a bars. The move target \a bars must use the same key and value axis as this + plottable. + + Inserting into and removing from existing bar stacking is handled gracefully. If \a bars already + has a bars object below itself, this bars object is inserted between the two. If this bars object + is already between two other bars, the two other bars will be stacked on top of each other after + the operation. + + To remove this bars plottable from any stacking, set \a bars to 0. + + \see moveBelow, barAbove, barBelow +*/ +void QCPBars::moveBelow(QCPBars *bars) +{ + if (bars == this) return; + if (bars && (bars->keyAxis() != mKeyAxis.data() || bars->valueAxis() != mValueAxis.data())) + { + qDebug() << Q_FUNC_INFO << "passed QCPBars* doesn't have same key and value axis as this QCPBars"; + return; + } + // remove from stacking: + connectBars(mBarBelow.data(), mBarAbove.data()); // Note: also works if one (or both) of them is 0 + // if new bar given, insert this bar below it: + if (bars) + { + if (bars->mBarBelow) + connectBars(bars->mBarBelow.data(), this); + connectBars(this, bars); + } +} + +/*! + Moves this bars plottable above \a bars. In other words, the bars of this plottable will appear + above the bars of \a bars. The move target \a bars must use the same key and value axis as this + plottable. + + Inserting into and removing from existing bar stacking is handled gracefully. If \a bars already + has a bars object above itself, this bars object is inserted between the two. If this bars object + is already between two other bars, the two other bars will be stacked on top of each other after + the operation. + + To remove this bars plottable from any stacking, set \a bars to 0. + + \see moveBelow, barBelow, barAbove +*/ +void QCPBars::moveAbove(QCPBars *bars) +{ + if (bars == this) return; + if (bars && (bars->keyAxis() != mKeyAxis.data() || bars->valueAxis() != mValueAxis.data())) + { + qDebug() << Q_FUNC_INFO << "passed QCPBars* doesn't have same key and value axis as this QCPBars"; + return; + } + // remove from stacking: + connectBars(mBarBelow.data(), mBarAbove.data()); // Note: also works if one (or both) of them is 0 + // if new bar given, insert this bar above it: + if (bars) + { + if (bars->mBarAbove) + connectBars(this, bars->mBarAbove.data()); + connectBars(bars, this); + } +} + +/*! + \copydoc QCPPlottableInterface1D::selectTestRect +*/ +QCPDataSelection QCPBars::selectTestRect(const QRectF &rect, bool onlySelectable) const +{ + QCPDataSelection result; + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return result; + if (!mKeyAxis || !mValueAxis) + return result; + + QCPBarsDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + + for (QCPBarsDataContainer::const_iterator it=visibleBegin; it!=visibleEnd; ++it) + { + if (rect.intersects(getBarRect(it->key, it->value))) + result.addDataRange(QCPDataRange(it-mDataContainer->constBegin(), it-mDataContainer->constBegin()+1), false); + } + result.simplify(); + return result; +} + +/* inherits documentation from base class */ +double QCPBars::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis.data()->axisRect()->rect().contains(pos.toPoint())) + { + // get visible data range: + QCPBarsDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + for (QCPBarsDataContainer::const_iterator it=visibleBegin; it!=visibleEnd; ++it) + { + if (getBarRect(it->key, it->value).contains(pos)) + { + if (details) + { + int pointIndex = it-mDataContainer->constBegin(); + details->setValue(QCPDataSelection(QCPDataRange(pointIndex, pointIndex+1))); + } + return mParentPlot->selectionTolerance()*0.99; + } + } + } + return -1; +} + +/* inherits documentation from base class */ +QCPRange QCPBars::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + /* Note: If this QCPBars uses absolute pixels as width (or is in a QCPBarsGroup with spacing in + absolute pixels), using this method to adapt the key axis range to fit the bars into the + currently visible axis range will not work perfectly. Because in the moment the axis range is + changed to the new range, the fixed pixel widths/spacings will represent different coordinate + spans than before, which in turn would require a different key range to perfectly fit, and so on. + The only solution would be to iteratively approach the perfect fitting axis range, but the + mismatch isn't large enough in most applications, to warrant this here. If a user does need a + better fit, he should call the corresponding axis rescale multiple times in a row. + */ + QCPRange range; + range = mDataContainer->keyRange(foundRange, inSignDomain); + + // determine exact range of bars by including bar width and barsgroup offset: + if (foundRange && mKeyAxis) + { + double lowerPixelWidth, upperPixelWidth, keyPixel; + // lower range bound: + getPixelWidth(range.lower, lowerPixelWidth, upperPixelWidth); + keyPixel = mKeyAxis.data()->coordToPixel(range.lower) + lowerPixelWidth; + if (mBarsGroup) + keyPixel += mBarsGroup->keyPixelOffset(this, range.lower); + const double lowerCorrected = mKeyAxis.data()->pixelToCoord(keyPixel); + if (!qIsNaN(lowerCorrected) && qIsFinite(lowerCorrected) && range.lower > lowerCorrected) + range.lower = lowerCorrected; + // upper range bound: + getPixelWidth(range.upper, lowerPixelWidth, upperPixelWidth); + keyPixel = mKeyAxis.data()->coordToPixel(range.upper) + upperPixelWidth; + if (mBarsGroup) + keyPixel += mBarsGroup->keyPixelOffset(this, range.upper); + const double upperCorrected = mKeyAxis.data()->pixelToCoord(keyPixel); + if (!qIsNaN(upperCorrected) && qIsFinite(upperCorrected) && range.upper < upperCorrected) + range.upper = upperCorrected; + } + return range; +} + +/* inherits documentation from base class */ +QCPRange QCPBars::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + // Note: can't simply use mDataContainer->valueRange here because we need to + // take into account bar base value and possible stacking of multiple bars + QCPRange range; + range.lower = mBaseValue; + range.upper = mBaseValue; + bool haveLower = true; // set to true, because baseValue should always be visible in bar charts + bool haveUpper = true; // set to true, because baseValue should always be visible in bar charts + QCPBarsDataContainer::const_iterator itBegin = mDataContainer->constBegin(); + QCPBarsDataContainer::const_iterator itEnd = mDataContainer->constEnd(); + if (inKeyRange != QCPRange()) + { + itBegin = mDataContainer->findBegin(inKeyRange.lower); + itEnd = mDataContainer->findEnd(inKeyRange.upper); + } + for (QCPBarsDataContainer::const_iterator it = itBegin; it != itEnd; ++it) + { + const double current = it->value + getStackedBaseValue(it->key, it->value >= 0); + if (qIsNaN(current)) continue; + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current < range.lower || !haveLower) + { + range.lower = current; + haveLower = true; + } + if (current > range.upper || !haveUpper) + { + range.upper = current; + haveUpper = true; + } + } + } + + foundRange = true; // return true because bar charts always have the 0-line visible + return range; +} + +/* inherits documentation from base class */ +QPointF QCPBars::dataPixelPosition(int index) const +{ + if (index >= 0 && index < mDataContainer->size()) + { + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QPointF(); } + + const QCPDataContainer<QCPBarsData>::const_iterator it = mDataContainer->constBegin()+index; + const double valuePixel = valueAxis->coordToPixel(getStackedBaseValue(it->key, it->value >= 0) + it->value); + const double keyPixel = keyAxis->coordToPixel(it->key) + (mBarsGroup ? mBarsGroup->keyPixelOffset(this, it->key) : 0); + if (keyAxis->orientation() == Qt::Horizontal) + return QPointF(keyPixel, valuePixel); + else + return QPointF(valuePixel, keyPixel); + } else + { + qDebug() << Q_FUNC_INFO << "Index out of bounds" << index; + return QPointF(); + } +} + +/* inherits documentation from base class */ +void QCPBars::draw(QCPPainter *painter) +{ + if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + if (mDataContainer->isEmpty()) return; + + QCPBarsDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + + // loop over and draw segments of unselected/selected data: + QList<QCPDataRange> selectedSegments, unselectedSegments, allSegments; + getDataSegments(selectedSegments, unselectedSegments); + allSegments << unselectedSegments << selectedSegments; + for (int i=0; i<allSegments.size(); ++i) + { + bool isSelectedSegment = i >= unselectedSegments.size(); + QCPBarsDataContainer::const_iterator begin = visibleBegin; + QCPBarsDataContainer::const_iterator end = visibleEnd; + mDataContainer->limitIteratorsToDataRange(begin, end, allSegments.at(i)); + if (begin == end) + continue; + + for (QCPBarsDataContainer::const_iterator it=begin; it!=end; ++it) + { + // check data validity if flag set: +#ifdef QCUSTOMPLOT_CHECK_DATA + if (QCP::isInvalidData(it->key, it->value)) + qDebug() << Q_FUNC_INFO << "Data point at" << it->key << "of drawn range invalid." << "Plottable name:" << name(); +#endif + // draw bar: + if (isSelectedSegment && mSelectionDecorator) + { + mSelectionDecorator->applyBrush(painter); + mSelectionDecorator->applyPen(painter); + } else + { + painter->setBrush(mBrush); + painter->setPen(mPen); + } + applyDefaultAntialiasingHint(painter); + painter->drawPolygon(getBarRect(it->key, it->value)); + } + } + + // draw other selection decoration that isn't just line/scatter pens and brushes: + if (mSelectionDecorator) + mSelectionDecorator->drawDecoration(painter, selection()); +} + +/* inherits documentation from base class */ +void QCPBars::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + // draw filled rect: + applyDefaultAntialiasingHint(painter); + painter->setBrush(mBrush); + painter->setPen(mPen); + QRectF r = QRectF(0, 0, rect.width()*0.67, rect.height()*0.67); + r.moveCenter(rect.center()); + painter->drawRect(r); +} + +/*! \internal + + called by \ref draw to determine which data (key) range is visible at the current key axis range + setting, so only that needs to be processed. It also takes into account the bar width. + + \a begin returns an iterator to the lowest data point that needs to be taken into account when + plotting. Note that in order to get a clean plot all the way to the edge of the axis rect, \a + lower may still be just outside the visible range. + + \a end returns an iterator one higher than the highest visible data point. Same as before, \a end + may also lie just outside of the visible range. + + if the plottable contains no data, both \a begin and \a end point to constEnd. +*/ +void QCPBars::getVisibleDataBounds(QCPBarsDataContainer::const_iterator &begin, QCPBarsDataContainer::const_iterator &end) const +{ + if (!mKeyAxis) + { + qDebug() << Q_FUNC_INFO << "invalid key axis"; + begin = mDataContainer->constEnd(); + end = mDataContainer->constEnd(); + return; + } + if (mDataContainer->isEmpty()) + { + begin = mDataContainer->constEnd(); + end = mDataContainer->constEnd(); + return; + } + + // get visible data range as QMap iterators + begin = mDataContainer->findBegin(mKeyAxis.data()->range().lower); + end = mDataContainer->findEnd(mKeyAxis.data()->range().upper); + double lowerPixelBound = mKeyAxis.data()->coordToPixel(mKeyAxis.data()->range().lower); + double upperPixelBound = mKeyAxis.data()->coordToPixel(mKeyAxis.data()->range().upper); + bool isVisible = false; + // walk left from begin to find lower bar that actually is completely outside visible pixel range: + QCPBarsDataContainer::const_iterator it = begin; + while (it != mDataContainer->constBegin()) + { + --it; + const QRectF barRect = getBarRect(it->key, it->value); + if (mKeyAxis.data()->orientation() == Qt::Horizontal) + isVisible = ((!mKeyAxis.data()->rangeReversed() && barRect.right() >= lowerPixelBound) || (mKeyAxis.data()->rangeReversed() && barRect.left() <= lowerPixelBound)); + else // keyaxis is vertical + isVisible = ((!mKeyAxis.data()->rangeReversed() && barRect.top() <= lowerPixelBound) || (mKeyAxis.data()->rangeReversed() && barRect.bottom() >= lowerPixelBound)); + if (isVisible) + begin = it; + else + break; + } + // walk right from ubound to find upper bar that actually is completely outside visible pixel range: + it = end; + while (it != mDataContainer->constEnd()) + { + const QRectF barRect = getBarRect(it->key, it->value); + if (mKeyAxis.data()->orientation() == Qt::Horizontal) + isVisible = ((!mKeyAxis.data()->rangeReversed() && barRect.left() <= upperPixelBound) || (mKeyAxis.data()->rangeReversed() && barRect.right() >= upperPixelBound)); + else // keyaxis is vertical + isVisible = ((!mKeyAxis.data()->rangeReversed() && barRect.bottom() >= upperPixelBound) || (mKeyAxis.data()->rangeReversed() && barRect.top() <= upperPixelBound)); + if (isVisible) + end = it+1; + else + break; + ++it; + } +} + +/*! \internal + + Returns the rect in pixel coordinates of a single bar with the specified \a key and \a value. The + rect is shifted according to the bar stacking (see \ref moveAbove) and base value (see \ref + setBaseValue), and to have non-overlapping border lines with the bars stacked below. +*/ +QRectF QCPBars::getBarRect(double key, double value) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QRectF(); } + + double lowerPixelWidth, upperPixelWidth; + getPixelWidth(key, lowerPixelWidth, upperPixelWidth); + double base = getStackedBaseValue(key, value >= 0); + double basePixel = valueAxis->coordToPixel(base); + double valuePixel = valueAxis->coordToPixel(base+value); + double keyPixel = keyAxis->coordToPixel(key); + if (mBarsGroup) + keyPixel += mBarsGroup->keyPixelOffset(this, key); + double bottomOffset = (mBarBelow && mPen != Qt::NoPen ? 1 : 0)*(mPen.isCosmetic() ? 1 : mPen.widthF()); + bottomOffset += mBarBelow ? mStackingGap : 0; + bottomOffset *= (value<0 ? -1 : 1)*valueAxis->pixelOrientation(); + if (qAbs(valuePixel-basePixel) <= qAbs(bottomOffset)) + bottomOffset = valuePixel-basePixel; + if (keyAxis->orientation() == Qt::Horizontal) + { + return QRectF(QPointF(keyPixel+lowerPixelWidth, valuePixel), QPointF(keyPixel+upperPixelWidth, basePixel+bottomOffset)).normalized(); + } else + { + return QRectF(QPointF(basePixel+bottomOffset, keyPixel+lowerPixelWidth), QPointF(valuePixel, keyPixel+upperPixelWidth)).normalized(); + } +} + +/*! \internal + + This function is used to determine the width of the bar at coordinate \a key, according to the + specified width (\ref setWidth) and width type (\ref setWidthType). + + The output parameters \a lower and \a upper return the number of pixels the bar extends to lower + and higher keys, relative to the \a key coordinate (so with a non-reversed horizontal axis, \a + lower is negative and \a upper positive). +*/ +void QCPBars::getPixelWidth(double key, double &lower, double &upper) const +{ + lower = 0; + upper = 0; + switch (mWidthType) + { + case wtAbsolute: + { + upper = mWidth*0.5*mKeyAxis.data()->pixelOrientation(); + lower = -upper; + break; + } + case wtAxisRectRatio: + { + if (mKeyAxis && mKeyAxis.data()->axisRect()) + { + if (mKeyAxis.data()->orientation() == Qt::Horizontal) + upper = mKeyAxis.data()->axisRect()->width()*mWidth*0.5*mKeyAxis.data()->pixelOrientation(); + else + upper = mKeyAxis.data()->axisRect()->height()*mWidth*0.5*mKeyAxis.data()->pixelOrientation(); + lower = -upper; + } else + qDebug() << Q_FUNC_INFO << "No key axis or axis rect defined"; + break; + } + case wtPlotCoords: + { + if (mKeyAxis) + { + double keyPixel = mKeyAxis.data()->coordToPixel(key); + upper = mKeyAxis.data()->coordToPixel(key+mWidth*0.5)-keyPixel; + lower = mKeyAxis.data()->coordToPixel(key-mWidth*0.5)-keyPixel; + // no need to qSwap(lower, higher) when range reversed, because higher/lower are gained by + // coordinate transform which includes range direction + } else + qDebug() << Q_FUNC_INFO << "No key axis defined"; + break; + } + } +} + +/*! \internal + + This function is called to find at which value to start drawing the base of a bar at \a key, when + it is stacked on top of another QCPBars (e.g. with \ref moveAbove). + + positive and negative bars are separated per stack (positive are stacked above baseValue upwards, + negative are stacked below baseValue downwards). This can be indicated with \a positive. So if the + bar for which we need the base value is negative, set \a positive to false. +*/ +double QCPBars::getStackedBaseValue(double key, bool positive) const +{ + if (mBarBelow) + { + double max = 0; // don't initialize with mBaseValue here because only base value of bottom-most bar has meaning in a bar stack + // find bars of mBarBelow that are approximately at key and find largest one: + double epsilon = qAbs(key)*(sizeof(key)==4 ? 1e-6 : 1e-14); // should be safe even when changed to use float at some point + if (key == 0) + epsilon = (sizeof(key)==4 ? 1e-6 : 1e-14); + QCPBarsDataContainer::const_iterator it = mBarBelow.data()->mDataContainer->findBegin(key-epsilon); + QCPBarsDataContainer::const_iterator itEnd = mBarBelow.data()->mDataContainer->findEnd(key+epsilon); + while (it != itEnd) + { + if (it->key > key-epsilon && it->key < key+epsilon) + { + if ((positive && it->value > max) || + (!positive && it->value < max)) + max = it->value; + } + ++it; + } + // recurse down the bar-stack to find the total height: + return max + mBarBelow.data()->getStackedBaseValue(key, positive); + } else + return mBaseValue; +} + +/*! \internal + + Connects \a below and \a above to each other via their mBarAbove/mBarBelow properties. The bar(s) + currently above lower and below upper will become disconnected to lower/upper. + + If lower is zero, upper will be disconnected at the bottom. + If upper is zero, lower will be disconnected at the top. +*/ +void QCPBars::connectBars(QCPBars *lower, QCPBars *upper) +{ + if (!lower && !upper) return; + + if (!lower) // disconnect upper at bottom + { + // disconnect old bar below upper: + if (upper->mBarBelow && upper->mBarBelow.data()->mBarAbove.data() == upper) + upper->mBarBelow.data()->mBarAbove = 0; + upper->mBarBelow = 0; + } else if (!upper) // disconnect lower at top + { + // disconnect old bar above lower: + if (lower->mBarAbove && lower->mBarAbove.data()->mBarBelow.data() == lower) + lower->mBarAbove.data()->mBarBelow = 0; + lower->mBarAbove = 0; + } else // connect lower and upper + { + // disconnect old bar above lower: + if (lower->mBarAbove && lower->mBarAbove.data()->mBarBelow.data() == lower) + lower->mBarAbove.data()->mBarBelow = 0; + // disconnect old bar below upper: + if (upper->mBarBelow && upper->mBarBelow.data()->mBarAbove.data() == upper) + upper->mBarBelow.data()->mBarAbove = 0; + lower->mBarAbove = upper; + upper->mBarBelow = lower; + } +} +/* end of 'src/plottables/plottable-bars.cpp' */ + + +/* including file 'src/plottables/plottable-statisticalbox.cpp', size 28622 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPStatisticalBoxData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPStatisticalBoxData + \brief Holds the data of one single data point for QCPStatisticalBox. + + The stored data is: + + \li \a key: coordinate on the key axis of this data point (this is the \a mainKey and the \a sortKey) + + \li \a minimum: the position of the lower whisker, typically the minimum measurement of the + sample that's not considered an outlier. + + \li \a lowerQuartile: the lower end of the box. The lower and the upper quartiles are the two + statistical quartiles around the median of the sample, they should contain 50% of the sample + data. + + \li \a median: the value of the median mark inside the quartile box. The median separates the + sample data in half (50% of the sample data is below/above the median). (This is the \a mainValue) + + \li \a upperQuartile: the upper end of the box. The lower and the upper quartiles are the two + statistical quartiles around the median of the sample, they should contain 50% of the sample + data. + + \li \a maximum: the position of the upper whisker, typically the maximum measurement of the + sample that's not considered an outlier. + + \li \a outliers: a QVector of outlier values that will be drawn as scatter points at the \a key + coordinate of this data point (see \ref QCPStatisticalBox::setOutlierStyle) + + The container for storing multiple data points is \ref QCPStatisticalBoxDataContainer. It is a + typedef for \ref QCPDataContainer with \ref QCPStatisticalBoxData as the DataType template + parameter. See the documentation there for an explanation regarding the data type's generic + methods. + + \see QCPStatisticalBoxDataContainer +*/ + +/* start documentation of inline functions */ + +/*! \fn double QCPStatisticalBoxData::sortKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static QCPStatisticalBoxData QCPStatisticalBoxData::fromSortKey(double sortKey) + + Returns a data point with the specified \a sortKey. All other members are set to zero. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static static bool QCPStatisticalBoxData::sortKeyIsMainKey() + + Since the member \a key is both the data point key coordinate and the data ordering parameter, + this method returns true. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPStatisticalBoxData::mainKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPStatisticalBoxData::mainValue() const + + Returns the \a median member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn QCPRange QCPStatisticalBoxData::valueRange() const + + Returns a QCPRange spanning from the \a minimum to the \a maximum member of this statistical box + data point, possibly further expanded by outliers. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a data point with key and all values set to zero. +*/ +QCPStatisticalBoxData::QCPStatisticalBoxData() : + key(0), + minimum(0), + lowerQuartile(0), + median(0), + upperQuartile(0), + maximum(0) +{ +} + +/*! + Constructs a data point with the specified \a key, \a minimum, \a lowerQuartile, \a median, \a + upperQuartile, \a maximum and optionally a number of \a outliers. +*/ +QCPStatisticalBoxData::QCPStatisticalBoxData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum, const QVector<double> &outliers) : + key(key), + minimum(minimum), + lowerQuartile(lowerQuartile), + median(median), + upperQuartile(upperQuartile), + maximum(maximum), + outliers(outliers) +{ +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPStatisticalBox +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPStatisticalBox + \brief A plottable representing a single statistical box in a plot. + + \image html QCPStatisticalBox.png + + To plot data, assign it with the \ref setData or \ref addData functions. Alternatively, you can + also access and modify the data via the \ref data method, which returns a pointer to the internal + \ref QCPStatisticalBoxDataContainer. + + Additionally each data point can itself have a list of outliers, drawn as scatter points at the + key coordinate of the respective statistical box data point. They can either be set by using the + respective \ref addData(double,double,double,double,double,double,const QVector<double>&) + "addData" method or accessing the individual data points through \ref data, and setting the + <tt>QVector<double> outliers</tt> of the data points directly. + + \section qcpstatisticalbox-appearance Changing the appearance + + The appearance of each data point box, ranging from the lower to the upper quartile, is + controlled via \ref setPen and \ref setBrush. You may change the width of the boxes with \ref + setWidth in plot coordinates. + + Each data point's visual representation also consists of two whiskers. Whiskers are the lines + which reach from the upper quartile to the maximum, and from the lower quartile to the minimum. + The appearance of the whiskers can be modified with: \ref setWhiskerPen, \ref setWhiskerBarPen, + \ref setWhiskerWidth. The whisker width is the width of the bar perpendicular to the whisker at + the top (for maximum) and bottom (for minimum). If the whisker pen is changed, make sure to set + the \c capStyle to \c Qt::FlatCap. Otherwise the backbone line might exceed the whisker bars by a + few pixels due to the pen cap being not perfectly flat. + + The median indicator line inside the box has its own pen, \ref setMedianPen. + + The outlier data points are drawn as normal scatter points. Their look can be controlled with + \ref setOutlierStyle + + \section qcpstatisticalbox-usage Usage + + Like all data representing objects in QCustomPlot, the QCPStatisticalBox is a plottable + (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies + (QCustomPlot::plottable, QCustomPlot::removePlottable, etc.) + + Usually, you first create an instance: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpstatisticalbox-creation-1 + which registers it with the QCustomPlot instance of the passed axes. Note that this QCustomPlot instance takes + ownership of the plottable, so do not delete it manually but use QCustomPlot::removePlottable() instead. + The newly created plottable can be modified, e.g.: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpstatisticalbox-creation-2 +*/ + +/* start documentation of inline functions */ + +/*! \fn QSharedPointer<QCPStatisticalBoxDataContainer> QCPStatisticalBox::data() const + + Returns a shared pointer to the internal data storage of type \ref + QCPStatisticalBoxDataContainer. You may use it to directly manipulate the data, which may be more + convenient and faster than using the regular \ref setData or \ref addData methods. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a statistical box which uses \a keyAxis as its key axis ("x") and \a valueAxis as its + value axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and + not have the same orientation. If either of these restrictions is violated, a corresponding + message is printed to the debug output (qDebug), the construction is not aborted, though. + + The created QCPStatisticalBox is automatically registered with the QCustomPlot instance inferred + from \a keyAxis. This QCustomPlot instance takes ownership of the QCPStatisticalBox, so do not + delete it manually but use QCustomPlot::removePlottable() instead. +*/ +QCPStatisticalBox::QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable1D<QCPStatisticalBoxData>(keyAxis, valueAxis), + mWidth(0.5), + mWhiskerWidth(0.2), + mWhiskerPen(Qt::black, 0, Qt::DashLine, Qt::FlatCap), + mWhiskerBarPen(Qt::black), + mWhiskerAntialiased(false), + mMedianPen(Qt::black, 3, Qt::SolidLine, Qt::FlatCap), + mOutlierStyle(QCPScatterStyle::ssCircle, Qt::blue, 6) +{ + setPen(QPen(Qt::black)); + setBrush(Qt::NoBrush); +} + +/*! \overload + + Replaces the current data container with the provided \a data container. + + Since a QSharedPointer is used, multiple QCPStatisticalBoxes may share the same data container + safely. Modifying the data in the container will then affect all statistical boxes that share the + container. Sharing can be achieved by simply exchanging the data containers wrapped in shared + pointers: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpstatisticalbox-datasharing-1 + + If you do not wish to share containers, but create a copy from an existing container, rather use + the \ref QCPDataContainer<DataType>::set method on the statistical box data container directly: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpstatisticalbox-datasharing-2 + + \see addData +*/ +void QCPStatisticalBox::setData(QSharedPointer<QCPStatisticalBoxDataContainer> data) +{ + mDataContainer = data; +} +/*! \overload + + Replaces the current data with the provided points in \a keys, \a minimum, \a lowerQuartile, \a + median, \a upperQuartile and \a maximum. The provided vectors should have equal length. Else, the + number of added points will be the size of the smallest vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + \see addData +*/ +void QCPStatisticalBox::setData(const QVector<double> &keys, const QVector<double> &minimum, const QVector<double> &lowerQuartile, const QVector<double> &median, const QVector<double> &upperQuartile, const QVector<double> &maximum, bool alreadySorted) +{ + mDataContainer->clear(); + addData(keys, minimum, lowerQuartile, median, upperQuartile, maximum, alreadySorted); +} + +/*! + Sets the width of the boxes in key coordinates. + + \see setWhiskerWidth +*/ +void QCPStatisticalBox::setWidth(double width) +{ + mWidth = width; +} + +/*! + Sets the width of the whiskers in key coordinates. + + Whiskers are the lines which reach from the upper quartile to the maximum, and from the lower + quartile to the minimum. + + \see setWidth +*/ +void QCPStatisticalBox::setWhiskerWidth(double width) +{ + mWhiskerWidth = width; +} + +/*! + Sets the pen used for drawing the whisker backbone. + + Whiskers are the lines which reach from the upper quartile to the maximum, and from the lower + quartile to the minimum. + + Make sure to set the \c capStyle of the passed \a pen to \c Qt::FlatCap. Otherwise the backbone + line might exceed the whisker bars by a few pixels due to the pen cap being not perfectly flat. + + \see setWhiskerBarPen +*/ +void QCPStatisticalBox::setWhiskerPen(const QPen &pen) +{ + mWhiskerPen = pen; +} + +/*! + Sets the pen used for drawing the whisker bars. Those are the lines parallel to the key axis at + each end of the whisker backbone. + + Whiskers are the lines which reach from the upper quartile to the maximum, and from the lower + quartile to the minimum. + + \see setWhiskerPen +*/ +void QCPStatisticalBox::setWhiskerBarPen(const QPen &pen) +{ + mWhiskerBarPen = pen; +} + +/*! + Sets whether the statistical boxes whiskers are drawn with antialiasing or not. + + Note that antialiasing settings may be overridden by QCustomPlot::setAntialiasedElements and + QCustomPlot::setNotAntialiasedElements. +*/ +void QCPStatisticalBox::setWhiskerAntialiased(bool enabled) +{ + mWhiskerAntialiased = enabled; +} + +/*! + Sets the pen used for drawing the median indicator line inside the statistical boxes. +*/ +void QCPStatisticalBox::setMedianPen(const QPen &pen) +{ + mMedianPen = pen; +} + +/*! + Sets the appearance of the outlier data points. + + Outliers can be specified with the method + \ref addData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum, const QVector<double> &outliers) +*/ +void QCPStatisticalBox::setOutlierStyle(const QCPScatterStyle &style) +{ + mOutlierStyle = style; +} + +/*! \overload + + Adds the provided points in \a keys, \a minimum, \a lowerQuartile, \a median, \a upperQuartile and + \a maximum to the current data. The provided vectors should have equal length. Else, the number + of added points will be the size of the smallest vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPStatisticalBox::addData(const QVector<double> &keys, const QVector<double> &minimum, const QVector<double> &lowerQuartile, const QVector<double> &median, const QVector<double> &upperQuartile, const QVector<double> &maximum, bool alreadySorted) +{ + if (keys.size() != minimum.size() || minimum.size() != lowerQuartile.size() || lowerQuartile.size() != median.size() || + median.size() != upperQuartile.size() || upperQuartile.size() != maximum.size() || maximum.size() != keys.size()) + qDebug() << Q_FUNC_INFO << "keys, minimum, lowerQuartile, median, upperQuartile, maximum have different sizes:" + << keys.size() << minimum.size() << lowerQuartile.size() << median.size() << upperQuartile.size() << maximum.size(); + const int n = qMin(keys.size(), qMin(minimum.size(), qMin(lowerQuartile.size(), qMin(median.size(), qMin(upperQuartile.size(), maximum.size()))))); + QVector<QCPStatisticalBoxData> tempData(n); + QVector<QCPStatisticalBoxData>::iterator it = tempData.begin(); + const QVector<QCPStatisticalBoxData>::iterator itEnd = tempData.end(); + int i = 0; + while (it != itEnd) + { + it->key = keys[i]; + it->minimum = minimum[i]; + it->lowerQuartile = lowerQuartile[i]; + it->median = median[i]; + it->upperQuartile = upperQuartile[i]; + it->maximum = maximum[i]; + ++it; + ++i; + } + mDataContainer->add(tempData, alreadySorted); // don't modify tempData beyond this to prevent copy on write +} + +/*! \overload + + Adds the provided data point as \a key, \a minimum, \a lowerQuartile, \a median, \a upperQuartile + and \a maximum to the current data. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. +*/ +void QCPStatisticalBox::addData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum, const QVector<double> &outliers) +{ + mDataContainer->add(QCPStatisticalBoxData(key, minimum, lowerQuartile, median, upperQuartile, maximum, outliers)); +} + +/*! + \copydoc QCPPlottableInterface1D::selectTestRect +*/ +QCPDataSelection QCPStatisticalBox::selectTestRect(const QRectF &rect, bool onlySelectable) const +{ + QCPDataSelection result; + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return result; + if (!mKeyAxis || !mValueAxis) + return result; + + QCPStatisticalBoxDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + + for (QCPStatisticalBoxDataContainer::const_iterator it=visibleBegin; it!=visibleEnd; ++it) + { + if (rect.intersects(getQuartileBox(it))) + result.addDataRange(QCPDataRange(it-mDataContainer->constBegin(), it-mDataContainer->constBegin()+1), false); + } + result.simplify(); + return result; +} + +/* inherits documentation from base class */ +double QCPStatisticalBox::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis->axisRect()->rect().contains(pos.toPoint())) + { + // get visible data range: + QCPStatisticalBoxDataContainer::const_iterator visibleBegin, visibleEnd; + QCPStatisticalBoxDataContainer::const_iterator closestDataPoint = mDataContainer->constEnd(); + getVisibleDataBounds(visibleBegin, visibleEnd); + double minDistSqr = std::numeric_limits<double>::max(); + for (QCPStatisticalBoxDataContainer::const_iterator it=visibleBegin; it!=visibleEnd; ++it) + { + if (getQuartileBox(it).contains(pos)) // quartile box + { + double currentDistSqr = mParentPlot->selectionTolerance()*0.99 * mParentPlot->selectionTolerance()*0.99; + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestDataPoint = it; + } + } else // whiskers + { + const QVector<QLineF> whiskerBackbones(getWhiskerBackboneLines(it)); + for (int i=0; i<whiskerBackbones.size(); ++i) + { + double currentDistSqr = QCPVector2D(pos).distanceSquaredToLine(whiskerBackbones.at(i)); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestDataPoint = it; + } + } + } + } + if (details) + { + int pointIndex = closestDataPoint-mDataContainer->constBegin(); + details->setValue(QCPDataSelection(QCPDataRange(pointIndex, pointIndex+1))); + } + return qSqrt(minDistSqr); + } + return -1; +} + +/* inherits documentation from base class */ +QCPRange QCPStatisticalBox::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + QCPRange range = mDataContainer->keyRange(foundRange, inSignDomain); + // determine exact range by including width of bars/flags: + if (foundRange) + { + if (inSignDomain != QCP::sdPositive || range.lower-mWidth*0.5 > 0) + range.lower -= mWidth*0.5; + if (inSignDomain != QCP::sdNegative || range.upper+mWidth*0.5 < 0) + range.upper += mWidth*0.5; + } + return range; +} + +/* inherits documentation from base class */ +QCPRange QCPStatisticalBox::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + return mDataContainer->valueRange(foundRange, inSignDomain, inKeyRange); +} + +/* inherits documentation from base class */ +void QCPStatisticalBox::draw(QCPPainter *painter) +{ + if (mDataContainer->isEmpty()) return; + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + QCPStatisticalBoxDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + + // loop over and draw segments of unselected/selected data: + QList<QCPDataRange> selectedSegments, unselectedSegments, allSegments; + getDataSegments(selectedSegments, unselectedSegments); + allSegments << unselectedSegments << selectedSegments; + for (int i=0; i<allSegments.size(); ++i) + { + bool isSelectedSegment = i >= unselectedSegments.size(); + QCPStatisticalBoxDataContainer::const_iterator begin = visibleBegin; + QCPStatisticalBoxDataContainer::const_iterator end = visibleEnd; + mDataContainer->limitIteratorsToDataRange(begin, end, allSegments.at(i)); + if (begin == end) + continue; + + for (QCPStatisticalBoxDataContainer::const_iterator it=begin; it!=end; ++it) + { + // check data validity if flag set: +# ifdef QCUSTOMPLOT_CHECK_DATA + if (QCP::isInvalidData(it->key, it->minimum) || + QCP::isInvalidData(it->lowerQuartile, it->median) || + QCP::isInvalidData(it->upperQuartile, it->maximum)) + qDebug() << Q_FUNC_INFO << "Data point at" << it->key << "of drawn range has invalid data." << "Plottable name:" << name(); + for (int i=0; i<it->outliers.size(); ++i) + if (QCP::isInvalidData(it->outliers.at(i))) + qDebug() << Q_FUNC_INFO << "Data point outlier at" << it->key << "of drawn range invalid." << "Plottable name:" << name(); +# endif + + if (isSelectedSegment && mSelectionDecorator) + { + mSelectionDecorator->applyPen(painter); + mSelectionDecorator->applyBrush(painter); + } else + { + painter->setPen(mPen); + painter->setBrush(mBrush); + } + QCPScatterStyle finalOutlierStyle = mOutlierStyle; + if (isSelectedSegment && mSelectionDecorator) + finalOutlierStyle = mSelectionDecorator->getFinalScatterStyle(mOutlierStyle); + drawStatisticalBox(painter, it, finalOutlierStyle); + } + } + + // draw other selection decoration that isn't just line/scatter pens and brushes: + if (mSelectionDecorator) + mSelectionDecorator->drawDecoration(painter, selection()); +} + +/* inherits documentation from base class */ +void QCPStatisticalBox::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + // draw filled rect: + applyDefaultAntialiasingHint(painter); + painter->setPen(mPen); + painter->setBrush(mBrush); + QRectF r = QRectF(0, 0, rect.width()*0.67, rect.height()*0.67); + r.moveCenter(rect.center()); + painter->drawRect(r); +} + +/*! + Draws the graphical representation of a single statistical box with the data given by the + iterator \a it with the provided \a painter. + + If the statistical box has a set of outlier data points, they are drawn with \a outlierStyle. + + \see getQuartileBox, getWhiskerBackboneLines, getWhiskerBarLines +*/ +void QCPStatisticalBox::drawStatisticalBox(QCPPainter *painter, QCPStatisticalBoxDataContainer::const_iterator it, const QCPScatterStyle &outlierStyle) const +{ + // draw quartile box: + applyDefaultAntialiasingHint(painter); + const QRectF quartileBox = getQuartileBox(it); + painter->drawRect(quartileBox); + // draw median line with cliprect set to quartile box: + painter->save(); + painter->setClipRect(quartileBox, Qt::IntersectClip); + painter->setPen(mMedianPen); + painter->drawLine(QLineF(coordsToPixels(it->key-mWidth*0.5, it->median), coordsToPixels(it->key+mWidth*0.5, it->median))); + painter->restore(); + // draw whisker lines: + applyAntialiasingHint(painter, mWhiskerAntialiased, QCP::aePlottables); + painter->setPen(mWhiskerPen); + painter->drawLines(getWhiskerBackboneLines(it)); + painter->setPen(mWhiskerBarPen); + painter->drawLines(getWhiskerBarLines(it)); + // draw outliers: + applyScattersAntialiasingHint(painter); + outlierStyle.applyTo(painter, mPen); + for (int i=0; i<it->outliers.size(); ++i) + outlierStyle.drawShape(painter, coordsToPixels(it->key, it->outliers.at(i))); +} + +/*! \internal + + called by \ref draw to determine which data (key) range is visible at the current key axis range + setting, so only that needs to be processed. It also takes into account the bar width. + + \a begin returns an iterator to the lowest data point that needs to be taken into account when + plotting. Note that in order to get a clean plot all the way to the edge of the axis rect, \a + lower may still be just outside the visible range. + + \a end returns an iterator one higher than the highest visible data point. Same as before, \a end + may also lie just outside of the visible range. + + if the plottable contains no data, both \a begin and \a end point to constEnd. +*/ +void QCPStatisticalBox::getVisibleDataBounds(QCPStatisticalBoxDataContainer::const_iterator &begin, QCPStatisticalBoxDataContainer::const_iterator &end) const +{ + if (!mKeyAxis) + { + qDebug() << Q_FUNC_INFO << "invalid key axis"; + begin = mDataContainer->constEnd(); + end = mDataContainer->constEnd(); + return; + } + begin = mDataContainer->findBegin(mKeyAxis.data()->range().lower-mWidth*0.5); // subtract half width of box to include partially visible data points + end = mDataContainer->findEnd(mKeyAxis.data()->range().upper+mWidth*0.5); // add half width of box to include partially visible data points +} + +/*! \internal + + Returns the box in plot coordinates (keys in x, values in y of the returned rect) that covers the + value range from the lower to the upper quartile, of the data given by \a it. + + \see drawStatisticalBox, getWhiskerBackboneLines, getWhiskerBarLines +*/ +QRectF QCPStatisticalBox::getQuartileBox(QCPStatisticalBoxDataContainer::const_iterator it) const +{ + QRectF result; + result.setTopLeft(coordsToPixels(it->key-mWidth*0.5, it->upperQuartile)); + result.setBottomRight(coordsToPixels(it->key+mWidth*0.5, it->lowerQuartile)); + return result; +} + +/*! \internal + + Returns the whisker backbones (keys in x, values in y of the returned lines) that cover the value + range from the minimum to the lower quartile, and from the upper quartile to the maximum of the + data given by \a it. + + \see drawStatisticalBox, getQuartileBox, getWhiskerBarLines +*/ +QVector<QLineF> QCPStatisticalBox::getWhiskerBackboneLines(QCPStatisticalBoxDataContainer::const_iterator it) const +{ + QVector<QLineF> result(2); + result[0].setPoints(coordsToPixels(it->key, it->lowerQuartile), coordsToPixels(it->key, it->minimum)); // min backbone + result[1].setPoints(coordsToPixels(it->key, it->upperQuartile), coordsToPixels(it->key, it->maximum)); // max backbone + return result; +} + +/*! \internal + + Returns the whisker bars (keys in x, values in y of the returned lines) that are placed at the + end of the whisker backbones, at the minimum and maximum of the data given by \a it. + + \see drawStatisticalBox, getQuartileBox, getWhiskerBackboneLines +*/ +QVector<QLineF> QCPStatisticalBox::getWhiskerBarLines(QCPStatisticalBoxDataContainer::const_iterator it) const +{ + QVector<QLineF> result(2); + result[0].setPoints(coordsToPixels(it->key-mWhiskerWidth*0.5, it->minimum), coordsToPixels(it->key+mWhiskerWidth*0.5, it->minimum)); // min bar + result[1].setPoints(coordsToPixels(it->key-mWhiskerWidth*0.5, it->maximum), coordsToPixels(it->key+mWhiskerWidth*0.5, it->maximum)); // max bar + return result; +} +/* end of 'src/plottables/plottable-statisticalbox.cpp' */ + + +/* including file 'src/plottables/plottable-colormap.cpp', size 47881 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPColorMapData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPColorMapData + \brief Holds the two-dimensional data of a QCPColorMap plottable. + + This class is a data storage for \ref QCPColorMap. It holds a two-dimensional array, which \ref + QCPColorMap then displays as a 2D image in the plot, where the array values are represented by a + color, depending on the value. + + The size of the array can be controlled via \ref setSize (or \ref setKeySize, \ref setValueSize). + Which plot coordinates these cells correspond to can be configured with \ref setRange (or \ref + setKeyRange, \ref setValueRange). + + The data cells can be accessed in two ways: They can be directly addressed by an integer index + with \ref setCell. This is the fastest method. Alternatively, they can be addressed by their plot + coordinate with \ref setData. plot coordinate to cell index transformations and vice versa are + provided by the functions \ref coordToCell and \ref cellToCoord. + + A \ref QCPColorMapData also holds an on-demand two-dimensional array of alpha values which (if + allocated) has the same size as the data map. It can be accessed via \ref setAlpha, \ref + fillAlpha and \ref clearAlpha. The memory for the alpha map is only allocated if needed, i.e. on + the first call of \ref setAlpha. \ref clearAlpha restores full opacity and frees the alpha map. + + This class also buffers the minimum and maximum values that are in the data set, to provide + QCPColorMap::rescaleDataRange with the necessary information quickly. Setting a cell to a value + that is greater than the current maximum increases this maximum to the new value. However, + setting the cell that currently holds the maximum value to a smaller value doesn't decrease the + maximum again, because finding the true new maximum would require going through the entire data + array, which might be time consuming. The same holds for the data minimum. This functionality is + given by \ref recalculateDataBounds, such that you can decide when it is sensible to find the + true current minimum and maximum. The method QCPColorMap::rescaleDataRange offers a convenience + parameter \a recalculateDataBounds which may be set to true to automatically call \ref + recalculateDataBounds internally. +*/ + +/* start of documentation of inline functions */ + +/*! \fn bool QCPColorMapData::isEmpty() const + + Returns whether this instance carries no data. This is equivalent to having a size where at least + one of the dimensions is 0 (see \ref setSize). +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs a new QCPColorMapData instance. The instance has \a keySize cells in the key direction + and \a valueSize cells in the value direction. These cells will be displayed by the \ref QCPColorMap + at the coordinates \a keyRange and \a valueRange. + + \see setSize, setKeySize, setValueSize, setRange, setKeyRange, setValueRange +*/ +QCPColorMapData::QCPColorMapData(int keySize, int valueSize, const QCPRange &keyRange, const QCPRange &valueRange) : + mKeySize(0), + mValueSize(0), + mKeyRange(keyRange), + mValueRange(valueRange), + mIsEmpty(true), + mData(0), + mAlpha(0), + mDataModified(true) +{ + setSize(keySize, valueSize); + fill(0); +} + +QCPColorMapData::~QCPColorMapData() +{ + if (mData) + delete[] mData; + if (mAlpha) + delete[] mAlpha; +} + +/*! + Constructs a new QCPColorMapData instance copying the data and range of \a other. +*/ +QCPColorMapData::QCPColorMapData(const QCPColorMapData &other) : + mKeySize(0), + mValueSize(0), + mIsEmpty(true), + mData(0), + mAlpha(0), + mDataModified(true) +{ + *this = other; +} + +/*! + Overwrites this color map data instance with the data stored in \a other. The alpha map state is + transferred, too. +*/ +QCPColorMapData &QCPColorMapData::operator=(const QCPColorMapData &other) +{ + if (&other != this) + { + const int keySize = other.keySize(); + const int valueSize = other.valueSize(); + if (!other.mAlpha && mAlpha) + clearAlpha(); + setSize(keySize, valueSize); + if (other.mAlpha && !mAlpha) + createAlpha(false); + setRange(other.keyRange(), other.valueRange()); + if (!isEmpty()) + { + memcpy(mData, other.mData, sizeof(mData[0])*keySize*valueSize); + if (mAlpha) + memcpy(mAlpha, other.mAlpha, sizeof(mAlpha[0])*keySize*valueSize); + } + mDataBounds = other.mDataBounds; + mDataModified = true; + } + return *this; +} + +/* undocumented getter */ +double QCPColorMapData::data(double key, double value) +{ + int keyCell = (key-mKeyRange.lower)/(mKeyRange.upper-mKeyRange.lower)*(mKeySize-1)+0.5; + int valueCell = (value-mValueRange.lower)/(mValueRange.upper-mValueRange.lower)*(mValueSize-1)+0.5; + if (keyCell >= 0 && keyCell < mKeySize && valueCell >= 0 && valueCell < mValueSize) + return mData[valueCell*mKeySize + keyCell]; + else + return 0; +} + +/* undocumented getter */ +double QCPColorMapData::cell(int keyIndex, int valueIndex) +{ + if (keyIndex >= 0 && keyIndex < mKeySize && valueIndex >= 0 && valueIndex < mValueSize) + return mData[valueIndex*mKeySize + keyIndex]; + else + return 0; +} + +/*! + Returns the alpha map value of the cell with the indices \a keyIndex and \a valueIndex. + + If this color map data doesn't have an alpha map (because \ref setAlpha was never called after + creation or after a call to \ref clearAlpha), returns 255, which corresponds to full opacity. + + \see setAlpha +*/ +unsigned char QCPColorMapData::alpha(int keyIndex, int valueIndex) +{ + if (mAlpha && keyIndex >= 0 && keyIndex < mKeySize && valueIndex >= 0 && valueIndex < mValueSize) + return mAlpha[valueIndex*mKeySize + keyIndex]; + else + return 255; +} + +/*! + Resizes the data array to have \a keySize cells in the key dimension and \a valueSize cells in + the value dimension. + + The current data is discarded and the map cells are set to 0, unless the map had already the + requested size. + + Setting at least one of \a keySize or \a valueSize to zero frees the internal data array and \ref + isEmpty returns true. + + \see setRange, setKeySize, setValueSize +*/ +void QCPColorMapData::setSize(int keySize, int valueSize) +{ + if (keySize != mKeySize || valueSize != mValueSize) + { + mKeySize = keySize; + mValueSize = valueSize; + if (mData) + delete[] mData; + mIsEmpty = mKeySize == 0 || mValueSize == 0; + if (!mIsEmpty) + { +#ifdef __EXCEPTIONS + try { // 2D arrays get memory intensive fast. So if the allocation fails, at least output debug message +#endif + mData = new double[mKeySize*mValueSize]; +#ifdef __EXCEPTIONS + } catch (...) { mData = 0; } +#endif + if (mData) + fill(0); + else + qDebug() << Q_FUNC_INFO << "out of memory for data dimensions "<< mKeySize << "*" << mValueSize; + } else + mData = 0; + + if (mAlpha) // if we had an alpha map, recreate it with new size + createAlpha(); + + mDataModified = true; + } +} + +/*! + Resizes the data array to have \a keySize cells in the key dimension. + + The current data is discarded and the map cells are set to 0, unless the map had already the + requested size. + + Setting \a keySize to zero frees the internal data array and \ref isEmpty returns true. + + \see setKeyRange, setSize, setValueSize +*/ +void QCPColorMapData::setKeySize(int keySize) +{ + setSize(keySize, mValueSize); +} + +/*! + Resizes the data array to have \a valueSize cells in the value dimension. + + The current data is discarded and the map cells are set to 0, unless the map had already the + requested size. + + Setting \a valueSize to zero frees the internal data array and \ref isEmpty returns true. + + \see setValueRange, setSize, setKeySize +*/ +void QCPColorMapData::setValueSize(int valueSize) +{ + setSize(mKeySize, valueSize); +} + +/*! + Sets the coordinate ranges the data shall be distributed over. This defines the rectangular area + covered by the color map in plot coordinates. + + The outer cells will be centered on the range boundaries given to this function. For example, if + the key size (\ref setKeySize) is 3 and \a keyRange is set to <tt>QCPRange(2, 3)</tt> there will + be cells centered on the key coordinates 2, 2.5 and 3. + + \see setSize +*/ +void QCPColorMapData::setRange(const QCPRange &keyRange, const QCPRange &valueRange) +{ + setKeyRange(keyRange); + setValueRange(valueRange); +} + +/*! + Sets the coordinate range the data shall be distributed over in the key dimension. Together with + the value range, This defines the rectangular area covered by the color map in plot coordinates. + + The outer cells will be centered on the range boundaries given to this function. For example, if + the key size (\ref setKeySize) is 3 and \a keyRange is set to <tt>QCPRange(2, 3)</tt> there will + be cells centered on the key coordinates 2, 2.5 and 3. + + \see setRange, setValueRange, setSize +*/ +void QCPColorMapData::setKeyRange(const QCPRange &keyRange) +{ + mKeyRange = keyRange; +} + +/*! + Sets the coordinate range the data shall be distributed over in the value dimension. Together with + the key range, This defines the rectangular area covered by the color map in plot coordinates. + + The outer cells will be centered on the range boundaries given to this function. For example, if + the value size (\ref setValueSize) is 3 and \a valueRange is set to <tt>QCPRange(2, 3)</tt> there + will be cells centered on the value coordinates 2, 2.5 and 3. + + \see setRange, setKeyRange, setSize +*/ +void QCPColorMapData::setValueRange(const QCPRange &valueRange) +{ + mValueRange = valueRange; +} + +/*! + Sets the data of the cell, which lies at the plot coordinates given by \a key and \a value, to \a + z. + + \note The QCPColorMap always displays the data at equal key/value intervals, even if the key or + value axis is set to a logarithmic scaling. If you want to use QCPColorMap with logarithmic axes, + you shouldn't use the \ref QCPColorMapData::setData method as it uses a linear transformation to + determine the cell index. Rather directly access the cell index with \ref + QCPColorMapData::setCell. + + \see setCell, setRange +*/ +void QCPColorMapData::setData(double key, double value, double z) +{ + int keyCell = (key-mKeyRange.lower)/(mKeyRange.upper-mKeyRange.lower)*(mKeySize-1)+0.5; + int valueCell = (value-mValueRange.lower)/(mValueRange.upper-mValueRange.lower)*(mValueSize-1)+0.5; + if (keyCell >= 0 && keyCell < mKeySize && valueCell >= 0 && valueCell < mValueSize) + { + mData[valueCell*mKeySize + keyCell] = z; + if (z < mDataBounds.lower) + mDataBounds.lower = z; + if (z > mDataBounds.upper) + mDataBounds.upper = z; + mDataModified = true; + } +} + +/*! + Sets the data of the cell with indices \a keyIndex and \a valueIndex to \a z. The indices + enumerate the cells starting from zero, up to the map's size-1 in the respective dimension (see + \ref setSize). + + In the standard plot configuration (horizontal key axis and vertical value axis, both not + range-reversed), the cell with indices (0, 0) is in the bottom left corner and the cell with + indices (keySize-1, valueSize-1) is in the top right corner of the color map. + + \see setData, setSize +*/ +void QCPColorMapData::setCell(int keyIndex, int valueIndex, double z) +{ + if (keyIndex >= 0 && keyIndex < mKeySize && valueIndex >= 0 && valueIndex < mValueSize) + { + mData[valueIndex*mKeySize + keyIndex] = z; + if (z < mDataBounds.lower) + mDataBounds.lower = z; + if (z > mDataBounds.upper) + mDataBounds.upper = z; + mDataModified = true; + } else + qDebug() << Q_FUNC_INFO << "index out of bounds:" << keyIndex << valueIndex; +} + +/*! + Sets the alpha of the color map cell given by \a keyIndex and \a valueIndex to \a alpha. A value + of 0 for \a alpha results in a fully transparent cell, and a value of 255 results in a fully + opaque cell. + + If an alpha map doesn't exist yet for this color map data, it will be created here. If you wish + to restore full opacity and free any allocated memory of the alpha map, call \ref clearAlpha. + + Note that the cell-wise alpha which can be configured here is independent of any alpha configured + in the color map's gradient (\ref QCPColorGradient). If a cell is affected both by the cell-wise + and gradient alpha, the alpha values will be blended accordingly during rendering of the color + map. + + \see fillAlpha, clearAlpha +*/ +void QCPColorMapData::setAlpha(int keyIndex, int valueIndex, unsigned char alpha) +{ + if (keyIndex >= 0 && keyIndex < mKeySize && valueIndex >= 0 && valueIndex < mValueSize) + { + if (mAlpha || createAlpha()) + { + mAlpha[valueIndex*mKeySize + keyIndex] = alpha; + mDataModified = true; + } + } else + qDebug() << Q_FUNC_INFO << "index out of bounds:" << keyIndex << valueIndex; +} + +/*! + Goes through the data and updates the buffered minimum and maximum data values. + + Calling this method is only advised if you are about to call \ref QCPColorMap::rescaleDataRange + and can not guarantee that the cells holding the maximum or minimum data haven't been overwritten + with a smaller or larger value respectively, since the buffered maximum/minimum values have been + updated the last time. Why this is the case is explained in the class description (\ref + QCPColorMapData). + + Note that the method \ref QCPColorMap::rescaleDataRange provides a parameter \a + recalculateDataBounds for convenience. Setting this to true will call this method for you, before + doing the rescale. +*/ +void QCPColorMapData::recalculateDataBounds() +{ + if (mKeySize > 0 && mValueSize > 0) + { + double minHeight = mData[0]; + double maxHeight = mData[0]; + const int dataCount = mValueSize*mKeySize; + for (int i=0; i<dataCount; ++i) + { + if (mData[i] > maxHeight) + maxHeight = mData[i]; + if (mData[i] < minHeight) + minHeight = mData[i]; + } + mDataBounds.lower = minHeight; + mDataBounds.upper = maxHeight; + } +} + +/*! + Frees the internal data memory. + + This is equivalent to calling \ref setSize "setSize(0, 0)". +*/ +void QCPColorMapData::clear() +{ + setSize(0, 0); +} + +/*! + Frees the internal alpha map. The color map will have full opacity again. +*/ +void QCPColorMapData::clearAlpha() +{ + if (mAlpha) + { + delete[] mAlpha; + mAlpha = 0; + mDataModified = true; + } +} + +/*! + Sets all cells to the value \a z. +*/ +void QCPColorMapData::fill(double z) +{ + const int dataCount = mValueSize*mKeySize; + for (int i=0; i<dataCount; ++i) + mData[i] = z; + mDataBounds = QCPRange(z, z); + mDataModified = true; +} + +/*! + Sets the opacity of all color map cells to \a alpha. A value of 0 for \a alpha results in a fully + transparent color map, and a value of 255 results in a fully opaque color map. + + If you wish to restore opacity to 100% and free any used memory for the alpha map, rather use + \ref clearAlpha. + + \see setAlpha +*/ +void QCPColorMapData::fillAlpha(unsigned char alpha) +{ + if (mAlpha || createAlpha(false)) + { + const int dataCount = mValueSize*mKeySize; + for (int i=0; i<dataCount; ++i) + mAlpha[i] = alpha; + mDataModified = true; + } +} + +/*! + Transforms plot coordinates given by \a key and \a value to cell indices of this QCPColorMapData + instance. The resulting cell indices are returned via the output parameters \a keyIndex and \a + valueIndex. + + The retrieved key/value cell indices can then be used for example with \ref setCell. + + If you are only interested in a key or value index, you may pass 0 as \a valueIndex or \a + keyIndex. + + \note The QCPColorMap always displays the data at equal key/value intervals, even if the key or + value axis is set to a logarithmic scaling. If you want to use QCPColorMap with logarithmic axes, + you shouldn't use the \ref QCPColorMapData::coordToCell method as it uses a linear transformation to + determine the cell index. + + \see cellToCoord, QCPAxis::coordToPixel +*/ +void QCPColorMapData::coordToCell(double key, double value, int *keyIndex, int *valueIndex) const +{ + if (keyIndex) + *keyIndex = (key-mKeyRange.lower)/(mKeyRange.upper-mKeyRange.lower)*(mKeySize-1)+0.5; + if (valueIndex) + *valueIndex = (value-mValueRange.lower)/(mValueRange.upper-mValueRange.lower)*(mValueSize-1)+0.5; +} + +/*! + Transforms cell indices given by \a keyIndex and \a valueIndex to cell indices of this QCPColorMapData + instance. The resulting coordinates are returned via the output parameters \a key and \a + value. + + If you are only interested in a key or value coordinate, you may pass 0 as \a key or \a + value. + + \note The QCPColorMap always displays the data at equal key/value intervals, even if the key or + value axis is set to a logarithmic scaling. If you want to use QCPColorMap with logarithmic axes, + you shouldn't use the \ref QCPColorMapData::cellToCoord method as it uses a linear transformation to + determine the cell index. + + \see coordToCell, QCPAxis::pixelToCoord +*/ +void QCPColorMapData::cellToCoord(int keyIndex, int valueIndex, double *key, double *value) const +{ + if (key) + *key = keyIndex/(double)(mKeySize-1)*(mKeyRange.upper-mKeyRange.lower)+mKeyRange.lower; + if (value) + *value = valueIndex/(double)(mValueSize-1)*(mValueRange.upper-mValueRange.lower)+mValueRange.lower; +} + +/*! \internal + + Allocates the internal alpha map with the current data map key/value size and, if \a + initializeOpaque is true, initializes all values to 255. If \a initializeOpaque is false, the + values are not initialized at all. In this case, the alpha map should be initialized manually, + e.g. with \ref fillAlpha. + + If an alpha map exists already, it is deleted first. If this color map is empty (has either key + or value size zero, see \ref isEmpty), the alpha map is cleared. + + The return value indicates the existence of the alpha map after the call. So this method returns + true if the data map isn't empty and an alpha map was successfully allocated. +*/ +bool QCPColorMapData::createAlpha(bool initializeOpaque) +{ + clearAlpha(); + if (isEmpty()) + return false; + +#ifdef __EXCEPTIONS + try { // 2D arrays get memory intensive fast. So if the allocation fails, at least output debug message +#endif + mAlpha = new unsigned char[mKeySize*mValueSize]; +#ifdef __EXCEPTIONS + } catch (...) { mAlpha = 0; } +#endif + if (mAlpha) + { + if (initializeOpaque) + fillAlpha(255); + return true; + } else + { + qDebug() << Q_FUNC_INFO << "out of memory for data dimensions "<< mKeySize << "*" << mValueSize; + return false; + } +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPColorMap +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPColorMap + \brief A plottable representing a two-dimensional color map in a plot. + + \image html QCPColorMap.png + + The data is stored in the class \ref QCPColorMapData, which can be accessed via the data() + method. + + A color map has three dimensions to represent a data point: The \a key dimension, the \a value + dimension and the \a data dimension. As with other plottables such as graphs, \a key and \a value + correspond to two orthogonal axes on the QCustomPlot surface that you specify in the QCPColorMap + constructor. The \a data dimension however is encoded as the color of the point at (\a key, \a + value). + + Set the number of points (or \a cells) in the key/value dimension via \ref + QCPColorMapData::setSize. The plot coordinate range over which these points will be displayed is + specified via \ref QCPColorMapData::setRange. The first cell will be centered on the lower range + boundary and the last cell will be centered on the upper range boundary. The data can be set by + either accessing the cells directly with QCPColorMapData::setCell or by addressing the cells via + their plot coordinates with \ref QCPColorMapData::setData. If possible, you should prefer + setCell, since it doesn't need to do any coordinate transformation and thus performs a bit + better. + + The cell with index (0, 0) is at the bottom left, if the color map uses normal (i.e. not reversed) + key and value axes. + + To show the user which colors correspond to which \a data values, a \ref QCPColorScale is + typically placed to the right of the axis rect. See the documentation there for details on how to + add and use a color scale. + + \section qcpcolormap-appearance Changing the appearance + + The central part of the appearance is the color gradient, which can be specified via \ref + setGradient. See the documentation of \ref QCPColorGradient for details on configuring a color + gradient. + + The \a data range that is mapped to the colors of the gradient can be specified with \ref + setDataRange. To make the data range encompass the whole data set minimum to maximum, call \ref + rescaleDataRange. + + \section qcpcolormap-transparency Transparency + + Transparency in color maps can be achieved by two mechanisms. On one hand, you can specify alpha + values for color stops of the \ref QCPColorGradient, via the regular QColor interface. This will + cause the color map data which gets mapped to colors around those color stops to appear with the + accordingly interpolated transparency. + + On the other hand you can also directly apply an alpha value to each cell independent of its + data, by using the alpha map feature of \ref QCPColorMapData. The relevant methods are \ref + QCPColorMapData::setAlpha, QCPColorMapData::fillAlpha and \ref QCPColorMapData::clearAlpha(). + + The two transparencies will be joined together in the plot and otherwise not interfere with each + other. They are mixed in a multiplicative matter, so an alpha of e.g. 50% (128/255) in both modes + simultaneously, will result in a total transparency of 25% (64/255). + + \section qcpcolormap-usage Usage + + Like all data representing objects in QCustomPlot, the QCPColorMap is a plottable + (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies + (QCustomPlot::plottable, QCustomPlot::removePlottable, etc.) + + Usually, you first create an instance: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcolormap-creation-1 + which registers it with the QCustomPlot instance of the passed axes. Note that this QCustomPlot instance takes + ownership of the plottable, so do not delete it manually but use QCustomPlot::removePlottable() instead. + The newly created plottable can be modified, e.g.: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpcolormap-creation-2 + + \note The QCPColorMap always displays the data at equal key/value intervals, even if the key or + value axis is set to a logarithmic scaling. If you want to use QCPColorMap with logarithmic axes, + you shouldn't use the \ref QCPColorMapData::setData method as it uses a linear transformation to + determine the cell index. Rather directly access the cell index with \ref + QCPColorMapData::setCell. +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPColorMapData *QCPColorMap::data() const + + Returns a pointer to the internal data storage of type \ref QCPColorMapData. Access this to + modify data points (cells) and the color map key/value range. + + \see setData +*/ + +/* end documentation of inline functions */ + +/* start documentation of signals */ + +/*! \fn void QCPColorMap::dataRangeChanged(const QCPRange &newRange); + + This signal is emitted when the data range changes. + + \see setDataRange +*/ + +/*! \fn void QCPColorMap::dataScaleTypeChanged(QCPAxis::ScaleType scaleType); + + This signal is emitted when the data scale type changes. + + \see setDataScaleType +*/ + +/*! \fn void QCPColorMap::gradientChanged(const QCPColorGradient &newGradient); + + This signal is emitted when the gradient changes. + + \see setGradient +*/ + +/* end documentation of signals */ + +/*! + Constructs a color map with the specified \a keyAxis and \a valueAxis. + + The created QCPColorMap is automatically registered with the QCustomPlot instance inferred from + \a keyAxis. This QCustomPlot instance takes ownership of the QCPColorMap, so do not delete it + manually but use QCustomPlot::removePlottable() instead. +*/ +QCPColorMap::QCPColorMap(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable(keyAxis, valueAxis), + mDataScaleType(QCPAxis::stLinear), + mMapData(new QCPColorMapData(10, 10, QCPRange(0, 5), QCPRange(0, 5))), + mGradient(QCPColorGradient::gpCold), + mInterpolate(true), + mTightBoundary(false), + mMapImageInvalidated(true) +{ +} + +QCPColorMap::~QCPColorMap() +{ + delete mMapData; +} + +/*! + Replaces the current \ref data with the provided \a data. + + If \a copy is set to true, the \a data object will only be copied. if false, the color map + takes ownership of the passed data and replaces the internal data pointer with it. This is + significantly faster than copying for large datasets. +*/ +void QCPColorMap::setData(QCPColorMapData *data, bool copy) +{ + if (mMapData == data) + { + qDebug() << Q_FUNC_INFO << "The data pointer is already in (and owned by) this plottable" << reinterpret_cast<quintptr>(data); + return; + } + if (copy) + { + *mMapData = *data; + } else + { + delete mMapData; + mMapData = data; + } + mMapImageInvalidated = true; +} + +/*! + Sets the data range of this color map to \a dataRange. The data range defines which data values + are mapped to the color gradient. + + To make the data range span the full range of the data set, use \ref rescaleDataRange. + + \see QCPColorScale::setDataRange +*/ +void QCPColorMap::setDataRange(const QCPRange &dataRange) +{ + if (!QCPRange::validRange(dataRange)) return; + if (mDataRange.lower != dataRange.lower || mDataRange.upper != dataRange.upper) + { + if (mDataScaleType == QCPAxis::stLogarithmic) + mDataRange = dataRange.sanitizedForLogScale(); + else + mDataRange = dataRange.sanitizedForLinScale(); + mMapImageInvalidated = true; + emit dataRangeChanged(mDataRange); + } +} + +/*! + Sets whether the data is correlated with the color gradient linearly or logarithmically. + + \see QCPColorScale::setDataScaleType +*/ +void QCPColorMap::setDataScaleType(QCPAxis::ScaleType scaleType) +{ + if (mDataScaleType != scaleType) + { + mDataScaleType = scaleType; + mMapImageInvalidated = true; + emit dataScaleTypeChanged(mDataScaleType); + if (mDataScaleType == QCPAxis::stLogarithmic) + setDataRange(mDataRange.sanitizedForLogScale()); + } +} + +/*! + Sets the color gradient that is used to represent the data. For more details on how to create an + own gradient or use one of the preset gradients, see \ref QCPColorGradient. + + The colors defined by the gradient will be used to represent data values in the currently set + data range, see \ref setDataRange. Data points that are outside this data range will either be + colored uniformly with the respective gradient boundary color, or the gradient will repeat, + depending on \ref QCPColorGradient::setPeriodic. + + \see QCPColorScale::setGradient +*/ +void QCPColorMap::setGradient(const QCPColorGradient &gradient) +{ + if (mGradient != gradient) + { + mGradient = gradient; + mMapImageInvalidated = true; + emit gradientChanged(mGradient); + } +} + +/*! + Sets whether the color map image shall use bicubic interpolation when displaying the color map + shrinked or expanded, and not at a 1:1 pixel-to-data scale. + + \image html QCPColorMap-interpolate.png "A 10*10 color map, with interpolation and without interpolation enabled" +*/ +void QCPColorMap::setInterpolate(bool enabled) +{ + mInterpolate = enabled; + mMapImageInvalidated = true; // because oversampling factors might need to change +} + +/*! + Sets whether the outer most data rows and columns are clipped to the specified key and value + range (see \ref QCPColorMapData::setKeyRange, \ref QCPColorMapData::setValueRange). + + if \a enabled is set to false, the data points at the border of the color map are drawn with the + same width and height as all other data points. Since the data points are represented by + rectangles of one color centered on the data coordinate, this means that the shown color map + extends by half a data point over the specified key/value range in each direction. + + \image html QCPColorMap-tightboundary.png "A color map, with tight boundary enabled and disabled" +*/ +void QCPColorMap::setTightBoundary(bool enabled) +{ + mTightBoundary = enabled; +} + +/*! + Associates the color scale \a colorScale with this color map. + + This means that both the color scale and the color map synchronize their gradient, data range and + data scale type (\ref setGradient, \ref setDataRange, \ref setDataScaleType). Multiple color maps + can be associated with one single color scale. This causes the color maps to also synchronize + those properties, via the mutual color scale. + + This function causes the color map to adopt the current color gradient, data range and data scale + type of \a colorScale. After this call, you may change these properties at either the color map + or the color scale, and the setting will be applied to both. + + Pass 0 as \a colorScale to disconnect the color scale from this color map again. +*/ +void QCPColorMap::setColorScale(QCPColorScale *colorScale) +{ + if (mColorScale) // unconnect signals from old color scale + { + disconnect(this, SIGNAL(dataRangeChanged(QCPRange)), mColorScale.data(), SLOT(setDataRange(QCPRange))); + disconnect(this, SIGNAL(dataScaleTypeChanged(QCPAxis::ScaleType)), mColorScale.data(), SLOT(setDataScaleType(QCPAxis::ScaleType))); + disconnect(this, SIGNAL(gradientChanged(QCPColorGradient)), mColorScale.data(), SLOT(setGradient(QCPColorGradient))); + disconnect(mColorScale.data(), SIGNAL(dataRangeChanged(QCPRange)), this, SLOT(setDataRange(QCPRange))); + disconnect(mColorScale.data(), SIGNAL(gradientChanged(QCPColorGradient)), this, SLOT(setGradient(QCPColorGradient))); + disconnect(mColorScale.data(), SIGNAL(dataScaleTypeChanged(QCPAxis::ScaleType)), this, SLOT(setDataScaleType(QCPAxis::ScaleType))); + } + mColorScale = colorScale; + if (mColorScale) // connect signals to new color scale + { + setGradient(mColorScale.data()->gradient()); + setDataRange(mColorScale.data()->dataRange()); + setDataScaleType(mColorScale.data()->dataScaleType()); + connect(this, SIGNAL(dataRangeChanged(QCPRange)), mColorScale.data(), SLOT(setDataRange(QCPRange))); + connect(this, SIGNAL(dataScaleTypeChanged(QCPAxis::ScaleType)), mColorScale.data(), SLOT(setDataScaleType(QCPAxis::ScaleType))); + connect(this, SIGNAL(gradientChanged(QCPColorGradient)), mColorScale.data(), SLOT(setGradient(QCPColorGradient))); + connect(mColorScale.data(), SIGNAL(dataRangeChanged(QCPRange)), this, SLOT(setDataRange(QCPRange))); + connect(mColorScale.data(), SIGNAL(gradientChanged(QCPColorGradient)), this, SLOT(setGradient(QCPColorGradient))); + connect(mColorScale.data(), SIGNAL(dataScaleTypeChanged(QCPAxis::ScaleType)), this, SLOT(setDataScaleType(QCPAxis::ScaleType))); + } +} + +/*! + Sets the data range (\ref setDataRange) to span the minimum and maximum values that occur in the + current data set. This corresponds to the \ref rescaleKeyAxis or \ref rescaleValueAxis methods, + only for the third data dimension of the color map. + + The minimum and maximum values of the data set are buffered in the internal QCPColorMapData + instance (\ref data). As data is updated via its \ref QCPColorMapData::setCell or \ref + QCPColorMapData::setData, the buffered minimum and maximum values are updated, too. For + performance reasons, however, they are only updated in an expanding fashion. So the buffered + maximum can only increase and the buffered minimum can only decrease. In consequence, changes to + the data that actually lower the maximum of the data set (by overwriting the cell holding the + current maximum with a smaller value), aren't recognized and the buffered maximum overestimates + the true maximum of the data set. The same happens for the buffered minimum. To recalculate the + true minimum and maximum by explicitly looking at each cell, the method + QCPColorMapData::recalculateDataBounds can be used. For convenience, setting the parameter \a + recalculateDataBounds calls this method before setting the data range to the buffered minimum and + maximum. + + \see setDataRange +*/ +void QCPColorMap::rescaleDataRange(bool recalculateDataBounds) +{ + if (recalculateDataBounds) + mMapData->recalculateDataBounds(); + setDataRange(mMapData->dataBounds()); +} + +/*! + Takes the current appearance of the color map and updates the legend icon, which is used to + represent this color map in the legend (see \ref QCPLegend). + + The \a transformMode specifies whether the rescaling is done by a faster, low quality image + scaling algorithm (Qt::FastTransformation) or by a slower, higher quality algorithm + (Qt::SmoothTransformation). + + The current color map appearance is scaled down to \a thumbSize. Ideally, this should be equal to + the size of the legend icon (see \ref QCPLegend::setIconSize). If it isn't exactly the configured + legend icon size, the thumb will be rescaled during drawing of the legend item. + + \see setDataRange +*/ +void QCPColorMap::updateLegendIcon(Qt::TransformationMode transformMode, const QSize &thumbSize) +{ + if (mMapImage.isNull() && !data()->isEmpty()) + updateMapImage(); // try to update map image if it's null (happens if no draw has happened yet) + + if (!mMapImage.isNull()) // might still be null, e.g. if data is empty, so check here again + { + bool mirrorX = (keyAxis()->orientation() == Qt::Horizontal ? keyAxis() : valueAxis())->rangeReversed(); + bool mirrorY = (valueAxis()->orientation() == Qt::Vertical ? valueAxis() : keyAxis())->rangeReversed(); + mLegendIcon = QPixmap::fromImage(mMapImage.mirrored(mirrorX, mirrorY)).scaled(thumbSize, Qt::KeepAspectRatio, transformMode); + } +} + +/* inherits documentation from base class */ +double QCPColorMap::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if ((onlySelectable && mSelectable == QCP::stNone) || mMapData->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis.data()->axisRect()->rect().contains(pos.toPoint())) + { + double posKey, posValue; + pixelsToCoords(pos, posKey, posValue); + if (mMapData->keyRange().contains(posKey) && mMapData->valueRange().contains(posValue)) + { + if (details) + details->setValue(QCPDataSelection(QCPDataRange(0, 1))); // temporary solution, to facilitate whole-plottable selection. Replace in future version with segmented 2D selection. + return mParentPlot->selectionTolerance()*0.99; + } + } + return -1; +} + +/* inherits documentation from base class */ +QCPRange QCPColorMap::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + foundRange = true; + QCPRange result = mMapData->keyRange(); + result.normalize(); + if (inSignDomain == QCP::sdPositive) + { + if (result.lower <= 0 && result.upper > 0) + result.lower = result.upper*1e-3; + else if (result.lower <= 0 && result.upper <= 0) + foundRange = false; + } else if (inSignDomain == QCP::sdNegative) + { + if (result.upper >= 0 && result.lower < 0) + result.upper = result.lower*1e-3; + else if (result.upper >= 0 && result.lower >= 0) + foundRange = false; + } + return result; +} + +/* inherits documentation from base class */ +QCPRange QCPColorMap::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + if (inKeyRange != QCPRange()) + { + if (mMapData->keyRange().upper < inKeyRange.lower || mMapData->keyRange().lower > inKeyRange.upper) + { + foundRange = false; + return QCPRange(); + } + } + + foundRange = true; + QCPRange result = mMapData->valueRange(); + result.normalize(); + if (inSignDomain == QCP::sdPositive) + { + if (result.lower <= 0 && result.upper > 0) + result.lower = result.upper*1e-3; + else if (result.lower <= 0 && result.upper <= 0) + foundRange = false; + } else if (inSignDomain == QCP::sdNegative) + { + if (result.upper >= 0 && result.lower < 0) + result.upper = result.lower*1e-3; + else if (result.upper >= 0 && result.lower >= 0) + foundRange = false; + } + return result; +} + +/*! \internal + + Updates the internal map image buffer by going through the internal \ref QCPColorMapData and + turning the data values into color pixels with \ref QCPColorGradient::colorize. + + This method is called by \ref QCPColorMap::draw if either the data has been modified or the map image + has been invalidated for a different reason (e.g. a change of the data range with \ref + setDataRange). + + If the map cell count is low, the image created will be oversampled in order to avoid a + QPainter::drawImage bug which makes inner pixel boundaries jitter when stretch-drawing images + without smooth transform enabled. Accordingly, oversampling isn't performed if \ref + setInterpolate is true. +*/ +void QCPColorMap::updateMapImage() +{ + QCPAxis *keyAxis = mKeyAxis.data(); + if (!keyAxis) return; + if (mMapData->isEmpty()) return; + + const QImage::Format format = QImage::Format_ARGB32_Premultiplied; + const int keySize = mMapData->keySize(); + const int valueSize = mMapData->valueSize(); + int keyOversamplingFactor = mInterpolate ? 1 : (int)(1.0+100.0/(double)keySize); // make mMapImage have at least size 100, factor becomes 1 if size > 200 or interpolation is on + int valueOversamplingFactor = mInterpolate ? 1 : (int)(1.0+100.0/(double)valueSize); // make mMapImage have at least size 100, factor becomes 1 if size > 200 or interpolation is on + + // resize mMapImage to correct dimensions including possible oversampling factors, according to key/value axes orientation: + if (keyAxis->orientation() == Qt::Horizontal && (mMapImage.width() != keySize*keyOversamplingFactor || mMapImage.height() != valueSize*valueOversamplingFactor)) + mMapImage = QImage(QSize(keySize*keyOversamplingFactor, valueSize*valueOversamplingFactor), format); + else if (keyAxis->orientation() == Qt::Vertical && (mMapImage.width() != valueSize*valueOversamplingFactor || mMapImage.height() != keySize*keyOversamplingFactor)) + mMapImage = QImage(QSize(valueSize*valueOversamplingFactor, keySize*keyOversamplingFactor), format); + + if (mMapImage.isNull()) + { + qDebug() << Q_FUNC_INFO << "Couldn't create map image (possibly too large for memory)"; + mMapImage = QImage(QSize(10, 10), format); + mMapImage.fill(Qt::black); + } else + { + QImage *localMapImage = &mMapImage; // this is the image on which the colorization operates. Either the final mMapImage, or if we need oversampling, mUndersampledMapImage + if (keyOversamplingFactor > 1 || valueOversamplingFactor > 1) + { + // resize undersampled map image to actual key/value cell sizes: + if (keyAxis->orientation() == Qt::Horizontal && (mUndersampledMapImage.width() != keySize || mUndersampledMapImage.height() != valueSize)) + mUndersampledMapImage = QImage(QSize(keySize, valueSize), format); + else if (keyAxis->orientation() == Qt::Vertical && (mUndersampledMapImage.width() != valueSize || mUndersampledMapImage.height() != keySize)) + mUndersampledMapImage = QImage(QSize(valueSize, keySize), format); + localMapImage = &mUndersampledMapImage; // make the colorization run on the undersampled image + } else if (!mUndersampledMapImage.isNull()) + mUndersampledMapImage = QImage(); // don't need oversampling mechanism anymore (map size has changed) but mUndersampledMapImage still has nonzero size, free it + + const double *rawData = mMapData->mData; + const unsigned char *rawAlpha = mMapData->mAlpha; + if (keyAxis->orientation() == Qt::Horizontal) + { + const int lineCount = valueSize; + const int rowCount = keySize; + for (int line=0; line<lineCount; ++line) + { + QRgb* pixels = reinterpret_cast<QRgb*>(localMapImage->scanLine(lineCount-1-line)); // invert scanline index because QImage counts scanlines from top, but our vertical index counts from bottom (mathematical coordinate system) + if (rawAlpha) + mGradient.colorize(rawData+line*rowCount, rawAlpha+line*rowCount, mDataRange, pixels, rowCount, 1, mDataScaleType==QCPAxis::stLogarithmic); + else + mGradient.colorize(rawData+line*rowCount, mDataRange, pixels, rowCount, 1, mDataScaleType==QCPAxis::stLogarithmic); + } + } else // keyAxis->orientation() == Qt::Vertical + { + const int lineCount = keySize; + const int rowCount = valueSize; + for (int line=0; line<lineCount; ++line) + { + QRgb* pixels = reinterpret_cast<QRgb*>(localMapImage->scanLine(lineCount-1-line)); // invert scanline index because QImage counts scanlines from top, but our vertical index counts from bottom (mathematical coordinate system) + if (rawAlpha) + mGradient.colorize(rawData+line, rawAlpha+line, mDataRange, pixels, rowCount, lineCount, mDataScaleType==QCPAxis::stLogarithmic); + else + mGradient.colorize(rawData+line, mDataRange, pixels, rowCount, lineCount, mDataScaleType==QCPAxis::stLogarithmic); + } + } + + if (keyOversamplingFactor > 1 || valueOversamplingFactor > 1) + { + if (keyAxis->orientation() == Qt::Horizontal) + mMapImage = mUndersampledMapImage.scaled(keySize*keyOversamplingFactor, valueSize*valueOversamplingFactor, Qt::IgnoreAspectRatio, Qt::FastTransformation); + else + mMapImage = mUndersampledMapImage.scaled(valueSize*valueOversamplingFactor, keySize*keyOversamplingFactor, Qt::IgnoreAspectRatio, Qt::FastTransformation); + } + } + mMapData->mDataModified = false; + mMapImageInvalidated = false; +} + +/* inherits documentation from base class */ +void QCPColorMap::draw(QCPPainter *painter) +{ + if (mMapData->isEmpty()) return; + if (!mKeyAxis || !mValueAxis) return; + applyDefaultAntialiasingHint(painter); + + if (mMapData->mDataModified || mMapImageInvalidated) + updateMapImage(); + + // use buffer if painting vectorized (PDF): + const bool useBuffer = painter->modes().testFlag(QCPPainter::pmVectorized); + QCPPainter *localPainter = painter; // will be redirected to paint on mapBuffer if painting vectorized + QRectF mapBufferTarget; // the rect in absolute widget coordinates where the visible map portion/buffer will end up in + QPixmap mapBuffer; + if (useBuffer) + { + const double mapBufferPixelRatio = 3; // factor by which DPI is increased in embedded bitmaps + mapBufferTarget = painter->clipRegion().boundingRect(); + mapBuffer = QPixmap((mapBufferTarget.size()*mapBufferPixelRatio).toSize()); + mapBuffer.fill(Qt::transparent); + localPainter = new QCPPainter(&mapBuffer); + localPainter->scale(mapBufferPixelRatio, mapBufferPixelRatio); + localPainter->translate(-mapBufferTarget.topLeft()); + } + + QRectF imageRect = QRectF(coordsToPixels(mMapData->keyRange().lower, mMapData->valueRange().lower), + coordsToPixels(mMapData->keyRange().upper, mMapData->valueRange().upper)).normalized(); + // extend imageRect to contain outer halves/quarters of bordering/cornering pixels (cells are centered on map range boundary): + double halfCellWidth = 0; // in pixels + double halfCellHeight = 0; // in pixels + if (keyAxis()->orientation() == Qt::Horizontal) + { + if (mMapData->keySize() > 1) + halfCellWidth = 0.5*imageRect.width()/(double)(mMapData->keySize()-1); + if (mMapData->valueSize() > 1) + halfCellHeight = 0.5*imageRect.height()/(double)(mMapData->valueSize()-1); + } else // keyAxis orientation is Qt::Vertical + { + if (mMapData->keySize() > 1) + halfCellHeight = 0.5*imageRect.height()/(double)(mMapData->keySize()-1); + if (mMapData->valueSize() > 1) + halfCellWidth = 0.5*imageRect.width()/(double)(mMapData->valueSize()-1); + } + imageRect.adjust(-halfCellWidth, -halfCellHeight, halfCellWidth, halfCellHeight); + const bool mirrorX = (keyAxis()->orientation() == Qt::Horizontal ? keyAxis() : valueAxis())->rangeReversed(); + const bool mirrorY = (valueAxis()->orientation() == Qt::Vertical ? valueAxis() : keyAxis())->rangeReversed(); + const bool smoothBackup = localPainter->renderHints().testFlag(QPainter::SmoothPixmapTransform); + localPainter->setRenderHint(QPainter::SmoothPixmapTransform, mInterpolate); + QRegion clipBackup; + if (mTightBoundary) + { + clipBackup = localPainter->clipRegion(); + QRectF tightClipRect = QRectF(coordsToPixels(mMapData->keyRange().lower, mMapData->valueRange().lower), + coordsToPixels(mMapData->keyRange().upper, mMapData->valueRange().upper)).normalized(); + localPainter->setClipRect(tightClipRect, Qt::IntersectClip); + } + localPainter->drawImage(imageRect, mMapImage.mirrored(mirrorX, mirrorY)); + if (mTightBoundary) + localPainter->setClipRegion(clipBackup); + localPainter->setRenderHint(QPainter::SmoothPixmapTransform, smoothBackup); + + if (useBuffer) // localPainter painted to mapBuffer, so now draw buffer with original painter + { + delete localPainter; + painter->drawPixmap(mapBufferTarget.toRect(), mapBuffer); + } +} + +/* inherits documentation from base class */ +void QCPColorMap::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + applyDefaultAntialiasingHint(painter); + // draw map thumbnail: + if (!mLegendIcon.isNull()) + { + QPixmap scaledIcon = mLegendIcon.scaled(rect.size().toSize(), Qt::KeepAspectRatio, Qt::FastTransformation); + QRectF iconRect = QRectF(0, 0, scaledIcon.width(), scaledIcon.height()); + iconRect.moveCenter(rect.center()); + painter->drawPixmap(iconRect.topLeft(), scaledIcon); + } + /* + // draw frame: + painter->setBrush(Qt::NoBrush); + painter->setPen(Qt::black); + painter->drawRect(rect.adjusted(1, 1, 0, 0)); + */ +} +/* end of 'src/plottables/plottable-colormap.cpp' */ + + +/* including file 'src/plottables/plottable-financial.cpp', size 42610 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPFinancialData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPFinancialData + \brief Holds the data of one single data point for QCPFinancial. + + The stored data is: + \li \a key: coordinate on the key axis of this data point (this is the \a mainKey and the \a sortKey) + \li \a open: The opening value at the data point (this is the \a mainValue) + \li \a high: The high/maximum value at the data point + \li \a low: The low/minimum value at the data point + \li \a close: The closing value at the data point + + The container for storing multiple data points is \ref QCPFinancialDataContainer. It is a typedef + for \ref QCPDataContainer with \ref QCPFinancialData as the DataType template parameter. See the + documentation there for an explanation regarding the data type's generic methods. + + \see QCPFinancialDataContainer +*/ + +/* start documentation of inline functions */ + +/*! \fn double QCPFinancialData::sortKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static QCPFinancialData QCPFinancialData::fromSortKey(double sortKey) + + Returns a data point with the specified \a sortKey. All other members are set to zero. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn static static bool QCPFinancialData::sortKeyIsMainKey() + + Since the member \a key is both the data point key coordinate and the data ordering parameter, + this method returns true. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPFinancialData::mainKey() const + + Returns the \a key member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn double QCPFinancialData::mainValue() const + + Returns the \a open member of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/*! \fn QCPRange QCPFinancialData::valueRange() const + + Returns a QCPRange spanning from the \a low to the \a high value of this data point. + + For a general explanation of what this method is good for in the context of the data container, + see the documentation of \ref QCPDataContainer. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a data point with key and all values set to zero. +*/ +QCPFinancialData::QCPFinancialData() : + key(0), + open(0), + high(0), + low(0), + close(0) +{ +} + +/*! + Constructs a data point with the specified \a key and OHLC values. +*/ +QCPFinancialData::QCPFinancialData(double key, double open, double high, double low, double close) : + key(key), + open(open), + high(high), + low(low), + close(close) +{ +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPFinancial +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPFinancial + \brief A plottable representing a financial stock chart + + \image html QCPFinancial.png + + This plottable represents time series data binned to certain intervals, mainly used for stock + charts. The two common representations OHLC (Open-High-Low-Close) bars and Candlesticks can be + set via \ref setChartStyle. + + The data is passed via \ref setData as a set of open/high/low/close values at certain keys + (typically times). This means the data must be already binned appropriately. If data is only + available as a series of values (e.g. \a price against \a time), you can use the static + convenience function \ref timeSeriesToOhlc to generate binned OHLC-data which can then be passed + to \ref setData. + + The width of the OHLC bars/candlesticks can be controlled with \ref setWidth and \ref + setWidthType. A typical choice is to set the width type to \ref wtPlotCoords (the default) and + the width to (or slightly less than) one time bin interval width. + + \section qcpfinancial-appearance Changing the appearance + + Charts can be either single- or two-colored (\ref setTwoColored). If set to be single-colored, + lines are drawn with the plottable's pen (\ref setPen) and fills with the brush (\ref setBrush). + + If set to two-colored, positive changes of the value during an interval (\a close >= \a open) are + represented with a different pen and brush than negative changes (\a close < \a open). These can + be configured with \ref setPenPositive, \ref setPenNegative, \ref setBrushPositive, and \ref + setBrushNegative. In two-colored mode, the normal plottable pen/brush is ignored. Upon selection + however, the normal selected pen/brush (provided by the \ref selectionDecorator) is used, + irrespective of whether the chart is single- or two-colored. + + \section qcpfinancial-usage Usage + + Like all data representing objects in QCustomPlot, the QCPFinancial is a plottable + (QCPAbstractPlottable). So the plottable-interface of QCustomPlot applies + (QCustomPlot::plottable, QCustomPlot::removePlottable, etc.) + + Usually, you first create an instance: + + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpfinancial-creation-1 + which registers it with the QCustomPlot instance of the passed axes. Note that this QCustomPlot + instance takes ownership of the plottable, so do not delete it manually but use + QCustomPlot::removePlottable() instead. The newly created plottable can be modified, e.g.: + + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpfinancial-creation-2 + Here we have used the static helper method \ref timeSeriesToOhlc, to turn a time-price data + series into a 24-hour binned open-high-low-close data series as QCPFinancial uses. +*/ + +/* start of documentation of inline functions */ + +/*! \fn QCPFinancialDataContainer *QCPFinancial::data() const + + Returns a pointer to the internal data storage of type \ref QCPFinancialDataContainer. You may + use it to directly manipulate the data, which may be more convenient and faster than using the + regular \ref setData or \ref addData methods, in certain situations. +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs a financial chart which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value + axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have + the same orientation. If either of these restrictions is violated, a corresponding message is + printed to the debug output (qDebug), the construction is not aborted, though. + + The created QCPFinancial is automatically registered with the QCustomPlot instance inferred from \a + keyAxis. This QCustomPlot instance takes ownership of the QCPFinancial, so do not delete it manually + but use QCustomPlot::removePlottable() instead. +*/ +QCPFinancial::QCPFinancial(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable1D<QCPFinancialData>(keyAxis, valueAxis), + mChartStyle(csCandlestick), + mWidth(0.5), + mWidthType(wtPlotCoords), + mTwoColored(true), + mBrushPositive(QBrush(QColor(50, 160, 0))), + mBrushNegative(QBrush(QColor(180, 0, 15))), + mPenPositive(QPen(QColor(40, 150, 0))), + mPenNegative(QPen(QColor(170, 5, 5))) +{ + mSelectionDecorator->setBrush(QBrush(QColor(160, 160, 255))); +} + +QCPFinancial::~QCPFinancial() +{ +} + +/*! \overload + + Replaces the current data container with the provided \a data container. + + Since a QSharedPointer is used, multiple QCPFinancials may share the same data container safely. + Modifying the data in the container will then affect all financials that share the container. + Sharing can be achieved by simply exchanging the data containers wrapped in shared pointers: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpfinancial-datasharing-1 + + If you do not wish to share containers, but create a copy from an existing container, rather use + the \ref QCPDataContainer<DataType>::set method on the financial's data container directly: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcpfinancial-datasharing-2 + + \see addData, timeSeriesToOhlc +*/ +void QCPFinancial::setData(QSharedPointer<QCPFinancialDataContainer> data) +{ + mDataContainer = data; +} + +/*! \overload + + Replaces the current data with the provided points in \a keys, \a open, \a high, \a low and \a + close. The provided vectors should have equal length. Else, the number of added points will be + the size of the smallest vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + \see addData, timeSeriesToOhlc +*/ +void QCPFinancial::setData(const QVector<double> &keys, const QVector<double> &open, const QVector<double> &high, const QVector<double> &low, const QVector<double> &close, bool alreadySorted) +{ + mDataContainer->clear(); + addData(keys, open, high, low, close, alreadySorted); +} + +/*! + Sets which representation style shall be used to display the OHLC data. +*/ +void QCPFinancial::setChartStyle(QCPFinancial::ChartStyle style) +{ + mChartStyle = style; +} + +/*! + Sets the width of the individual bars/candlesticks to \a width in plot key coordinates. + + A typical choice is to set it to (or slightly less than) one bin interval width. +*/ +void QCPFinancial::setWidth(double width) +{ + mWidth = width; +} + +/*! + Sets how the width of the financial bars is defined. See the documentation of \ref WidthType for + an explanation of the possible values for \a widthType. + + The default value is \ref wtPlotCoords. + + \see setWidth +*/ +void QCPFinancial::setWidthType(QCPFinancial::WidthType widthType) +{ + mWidthType = widthType; +} + +/*! + Sets whether this chart shall contrast positive from negative trends per data point by using two + separate colors to draw the respective bars/candlesticks. + + If \a twoColored is false, the normal plottable's pen and brush are used (\ref setPen, \ref + setBrush). + + \see setPenPositive, setPenNegative, setBrushPositive, setBrushNegative +*/ +void QCPFinancial::setTwoColored(bool twoColored) +{ + mTwoColored = twoColored; +} + +/*! + If \ref setTwoColored is set to true, this function controls the brush that is used to draw fills + of data points with a positive trend (i.e. bars/candlesticks with close >= open). + + If \a twoColored is false, the normal plottable's pen and brush are used (\ref setPen, \ref + setBrush). + + \see setBrushNegative, setPenPositive, setPenNegative +*/ +void QCPFinancial::setBrushPositive(const QBrush &brush) +{ + mBrushPositive = brush; +} + +/*! + If \ref setTwoColored is set to true, this function controls the brush that is used to draw fills + of data points with a negative trend (i.e. bars/candlesticks with close < open). + + If \a twoColored is false, the normal plottable's pen and brush are used (\ref setPen, \ref + setBrush). + + \see setBrushPositive, setPenNegative, setPenPositive +*/ +void QCPFinancial::setBrushNegative(const QBrush &brush) +{ + mBrushNegative = brush; +} + +/*! + If \ref setTwoColored is set to true, this function controls the pen that is used to draw + outlines of data points with a positive trend (i.e. bars/candlesticks with close >= open). + + If \a twoColored is false, the normal plottable's pen and brush are used (\ref setPen, \ref + setBrush). + + \see setPenNegative, setBrushPositive, setBrushNegative +*/ +void QCPFinancial::setPenPositive(const QPen &pen) +{ + mPenPositive = pen; +} + +/*! + If \ref setTwoColored is set to true, this function controls the pen that is used to draw + outlines of data points with a negative trend (i.e. bars/candlesticks with close < open). + + If \a twoColored is false, the normal plottable's pen and brush are used (\ref setPen, \ref + setBrush). + + \see setPenPositive, setBrushNegative, setBrushPositive +*/ +void QCPFinancial::setPenNegative(const QPen &pen) +{ + mPenNegative = pen; +} + +/*! \overload + + Adds the provided points in \a keys, \a open, \a high, \a low and \a close to the current data. + The provided vectors should have equal length. Else, the number of added points will be the size + of the smallest vector. + + If you can guarantee that the passed data points are sorted by \a keys in ascending order, you + can set \a alreadySorted to true, to improve performance by saving a sorting run. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. + + \see timeSeriesToOhlc +*/ +void QCPFinancial::addData(const QVector<double> &keys, const QVector<double> &open, const QVector<double> &high, const QVector<double> &low, const QVector<double> &close, bool alreadySorted) +{ + if (keys.size() != open.size() || open.size() != high.size() || high.size() != low.size() || low.size() != close.size() || close.size() != keys.size()) + qDebug() << Q_FUNC_INFO << "keys, open, high, low, close have different sizes:" << keys.size() << open.size() << high.size() << low.size() << close.size(); + const int n = qMin(keys.size(), qMin(open.size(), qMin(high.size(), qMin(low.size(), close.size())))); + QVector<QCPFinancialData> tempData(n); + QVector<QCPFinancialData>::iterator it = tempData.begin(); + const QVector<QCPFinancialData>::iterator itEnd = tempData.end(); + int i = 0; + while (it != itEnd) + { + it->key = keys[i]; + it->open = open[i]; + it->high = high[i]; + it->low = low[i]; + it->close = close[i]; + ++it; + ++i; + } + mDataContainer->add(tempData, alreadySorted); // don't modify tempData beyond this to prevent copy on write +} + +/*! \overload + + Adds the provided data point as \a key, \a open, \a high, \a low and \a close to the current + data. + + Alternatively, you can also access and modify the data directly via the \ref data method, which + returns a pointer to the internal data container. + + \see timeSeriesToOhlc +*/ +void QCPFinancial::addData(double key, double open, double high, double low, double close) +{ + mDataContainer->add(QCPFinancialData(key, open, high, low, close)); +} + +/*! + \copydoc QCPPlottableInterface1D::selectTestRect +*/ +QCPDataSelection QCPFinancial::selectTestRect(const QRectF &rect, bool onlySelectable) const +{ + QCPDataSelection result; + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return result; + if (!mKeyAxis || !mValueAxis) + return result; + + QCPFinancialDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + + for (QCPFinancialDataContainer::const_iterator it=visibleBegin; it!=visibleEnd; ++it) + { + if (rect.intersects(selectionHitBox(it))) + result.addDataRange(QCPDataRange(it-mDataContainer->constBegin(), it-mDataContainer->constBegin()+1), false); + } + result.simplify(); + return result; +} + +/* inherits documentation from base class */ +double QCPFinancial::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis.data()->axisRect()->rect().contains(pos.toPoint())) + { + // get visible data range: + QCPFinancialDataContainer::const_iterator visibleBegin, visibleEnd; + QCPFinancialDataContainer::const_iterator closestDataPoint = mDataContainer->constEnd(); + getVisibleDataBounds(visibleBegin, visibleEnd); + // perform select test according to configured style: + double result = -1; + switch (mChartStyle) + { + case QCPFinancial::csOhlc: + result = ohlcSelectTest(pos, visibleBegin, visibleEnd, closestDataPoint); break; + case QCPFinancial::csCandlestick: + result = candlestickSelectTest(pos, visibleBegin, visibleEnd, closestDataPoint); break; + } + if (details) + { + int pointIndex = closestDataPoint-mDataContainer->constBegin(); + details->setValue(QCPDataSelection(QCPDataRange(pointIndex, pointIndex+1))); + } + return result; + } + + return -1; +} + +/* inherits documentation from base class */ +QCPRange QCPFinancial::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + QCPRange range = mDataContainer->keyRange(foundRange, inSignDomain); + // determine exact range by including width of bars/flags: + if (foundRange) + { + if (inSignDomain != QCP::sdPositive || range.lower-mWidth*0.5 > 0) + range.lower -= mWidth*0.5; + if (inSignDomain != QCP::sdNegative || range.upper+mWidth*0.5 < 0) + range.upper += mWidth*0.5; + } + return range; +} + +/* inherits documentation from base class */ +QCPRange QCPFinancial::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + return mDataContainer->valueRange(foundRange, inSignDomain, inKeyRange); +} + +/*! + A convenience function that converts time series data (\a value against \a time) to OHLC binned + data points. The return value can then be passed on to \ref QCPFinancialDataContainer::set(const + QCPFinancialDataContainer&). + + The size of the bins can be controlled with \a timeBinSize in the same units as \a time is given. + For example, if the unit of \a time is seconds and single OHLC/Candlesticks should span an hour + each, set \a timeBinSize to 3600. + + \a timeBinOffset allows to control precisely at what \a time coordinate a bin should start. The + value passed as \a timeBinOffset doesn't need to be in the range encompassed by the \a time keys. + It merely defines the mathematical offset/phase of the bins that will be used to process the + data. +*/ +QCPFinancialDataContainer QCPFinancial::timeSeriesToOhlc(const QVector<double> &time, const QVector<double> &value, double timeBinSize, double timeBinOffset) +{ + QCPFinancialDataContainer data; + int count = qMin(time.size(), value.size()); + if (count == 0) + return QCPFinancialDataContainer(); + + QCPFinancialData currentBinData(0, value.first(), value.first(), value.first(), value.first()); + int currentBinIndex = qFloor((time.first()-timeBinOffset)/timeBinSize+0.5); + for (int i=0; i<count; ++i) + { + int index = qFloor((time.at(i)-timeBinOffset)/timeBinSize+0.5); + if (currentBinIndex == index) // data point still in current bin, extend high/low: + { + if (value.at(i) < currentBinData.low) currentBinData.low = value.at(i); + if (value.at(i) > currentBinData.high) currentBinData.high = value.at(i); + if (i == count-1) // last data point is in current bin, finalize bin: + { + currentBinData.close = value.at(i); + currentBinData.key = timeBinOffset+(index)*timeBinSize; + data.add(currentBinData); + } + } else // data point not anymore in current bin, set close of old and open of new bin, and add old to map: + { + // finalize current bin: + currentBinData.close = value.at(i-1); + currentBinData.key = timeBinOffset+(index-1)*timeBinSize; + data.add(currentBinData); + // start next bin: + currentBinIndex = index; + currentBinData.open = value.at(i); + currentBinData.high = value.at(i); + currentBinData.low = value.at(i); + } + } + + return data; +} + +/* inherits documentation from base class */ +void QCPFinancial::draw(QCPPainter *painter) +{ + // get visible data range: + QCPFinancialDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd); + + // loop over and draw segments of unselected/selected data: + QList<QCPDataRange> selectedSegments, unselectedSegments, allSegments; + getDataSegments(selectedSegments, unselectedSegments); + allSegments << unselectedSegments << selectedSegments; + for (int i=0; i<allSegments.size(); ++i) + { + bool isSelectedSegment = i >= unselectedSegments.size(); + QCPFinancialDataContainer::const_iterator begin = visibleBegin; + QCPFinancialDataContainer::const_iterator end = visibleEnd; + mDataContainer->limitIteratorsToDataRange(begin, end, allSegments.at(i)); + if (begin == end) + continue; + + // draw data segment according to configured style: + switch (mChartStyle) + { + case QCPFinancial::csOhlc: + drawOhlcPlot(painter, begin, end, isSelectedSegment); break; + case QCPFinancial::csCandlestick: + drawCandlestickPlot(painter, begin, end, isSelectedSegment); break; + } + } + + // draw other selection decoration that isn't just line/scatter pens and brushes: + if (mSelectionDecorator) + mSelectionDecorator->drawDecoration(painter, selection()); +} + +/* inherits documentation from base class */ +void QCPFinancial::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + painter->setAntialiasing(false); // legend icon especially of csCandlestick looks better without antialiasing + if (mChartStyle == csOhlc) + { + if (mTwoColored) + { + // draw upper left half icon with positive color: + painter->setBrush(mBrushPositive); + painter->setPen(mPenPositive); + painter->setClipRegion(QRegion(QPolygon() << rect.bottomLeft().toPoint() << rect.topRight().toPoint() << rect.topLeft().toPoint())); + painter->drawLine(QLineF(0, rect.height()*0.5, rect.width(), rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.2, rect.height()*0.3, rect.width()*0.2, rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.8, rect.height()*0.5, rect.width()*0.8, rect.height()*0.7).translated(rect.topLeft())); + // draw bottom right half icon with negative color: + painter->setBrush(mBrushNegative); + painter->setPen(mPenNegative); + painter->setClipRegion(QRegion(QPolygon() << rect.bottomLeft().toPoint() << rect.topRight().toPoint() << rect.bottomRight().toPoint())); + painter->drawLine(QLineF(0, rect.height()*0.5, rect.width(), rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.2, rect.height()*0.3, rect.width()*0.2, rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.8, rect.height()*0.5, rect.width()*0.8, rect.height()*0.7).translated(rect.topLeft())); + } else + { + painter->setBrush(mBrush); + painter->setPen(mPen); + painter->drawLine(QLineF(0, rect.height()*0.5, rect.width(), rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.2, rect.height()*0.3, rect.width()*0.2, rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.8, rect.height()*0.5, rect.width()*0.8, rect.height()*0.7).translated(rect.topLeft())); + } + } else if (mChartStyle == csCandlestick) + { + if (mTwoColored) + { + // draw upper left half icon with positive color: + painter->setBrush(mBrushPositive); + painter->setPen(mPenPositive); + painter->setClipRegion(QRegion(QPolygon() << rect.bottomLeft().toPoint() << rect.topRight().toPoint() << rect.topLeft().toPoint())); + painter->drawLine(QLineF(0, rect.height()*0.5, rect.width()*0.25, rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.75, rect.height()*0.5, rect.width(), rect.height()*0.5).translated(rect.topLeft())); + painter->drawRect(QRectF(rect.width()*0.25, rect.height()*0.25, rect.width()*0.5, rect.height()*0.5).translated(rect.topLeft())); + // draw bottom right half icon with negative color: + painter->setBrush(mBrushNegative); + painter->setPen(mPenNegative); + painter->setClipRegion(QRegion(QPolygon() << rect.bottomLeft().toPoint() << rect.topRight().toPoint() << rect.bottomRight().toPoint())); + painter->drawLine(QLineF(0, rect.height()*0.5, rect.width()*0.25, rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.75, rect.height()*0.5, rect.width(), rect.height()*0.5).translated(rect.topLeft())); + painter->drawRect(QRectF(rect.width()*0.25, rect.height()*0.25, rect.width()*0.5, rect.height()*0.5).translated(rect.topLeft())); + } else + { + painter->setBrush(mBrush); + painter->setPen(mPen); + painter->drawLine(QLineF(0, rect.height()*0.5, rect.width()*0.25, rect.height()*0.5).translated(rect.topLeft())); + painter->drawLine(QLineF(rect.width()*0.75, rect.height()*0.5, rect.width(), rect.height()*0.5).translated(rect.topLeft())); + painter->drawRect(QRectF(rect.width()*0.25, rect.height()*0.25, rect.width()*0.5, rect.height()*0.5).translated(rect.topLeft())); + } + } +} + +/*! \internal + + Draws the data from \a begin to \a end-1 as OHLC bars with the provided \a painter. + + This method is a helper function for \ref draw. It is used when the chart style is \ref csOhlc. +*/ +void QCPFinancial::drawOhlcPlot(QCPPainter *painter, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, bool isSelected) +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + if (keyAxis->orientation() == Qt::Horizontal) + { + for (QCPFinancialDataContainer::const_iterator it = begin; it != end; ++it) + { + if (isSelected && mSelectionDecorator) + mSelectionDecorator->applyPen(painter); + else if (mTwoColored) + painter->setPen(it->close >= it->open ? mPenPositive : mPenNegative); + else + painter->setPen(mPen); + double keyPixel = keyAxis->coordToPixel(it->key); + double openPixel = valueAxis->coordToPixel(it->open); + double closePixel = valueAxis->coordToPixel(it->close); + // draw backbone: + painter->drawLine(QPointF(keyPixel, valueAxis->coordToPixel(it->high)), QPointF(keyPixel, valueAxis->coordToPixel(it->low))); + // draw open: + double pixelWidth = getPixelWidth(it->key, keyPixel); // sign of this makes sure open/close are on correct sides + painter->drawLine(QPointF(keyPixel-pixelWidth, openPixel), QPointF(keyPixel, openPixel)); + // draw close: + painter->drawLine(QPointF(keyPixel, closePixel), QPointF(keyPixel+pixelWidth, closePixel)); + } + } else + { + for (QCPFinancialDataContainer::const_iterator it = begin; it != end; ++it) + { + if (isSelected && mSelectionDecorator) + mSelectionDecorator->applyPen(painter); + else if (mTwoColored) + painter->setPen(it->close >= it->open ? mPenPositive : mPenNegative); + else + painter->setPen(mPen); + double keyPixel = keyAxis->coordToPixel(it->key); + double openPixel = valueAxis->coordToPixel(it->open); + double closePixel = valueAxis->coordToPixel(it->close); + // draw backbone: + painter->drawLine(QPointF(valueAxis->coordToPixel(it->high), keyPixel), QPointF(valueAxis->coordToPixel(it->low), keyPixel)); + // draw open: + double pixelWidth = getPixelWidth(it->key, keyPixel); // sign of this makes sure open/close are on correct sides + painter->drawLine(QPointF(openPixel, keyPixel-pixelWidth), QPointF(openPixel, keyPixel)); + // draw close: + painter->drawLine(QPointF(closePixel, keyPixel), QPointF(closePixel, keyPixel+pixelWidth)); + } + } +} + +/*! \internal + + Draws the data from \a begin to \a end-1 as Candlesticks with the provided \a painter. + + This method is a helper function for \ref draw. It is used when the chart style is \ref csCandlestick. +*/ +void QCPFinancial::drawCandlestickPlot(QCPPainter *painter, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, bool isSelected) +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + + if (keyAxis->orientation() == Qt::Horizontal) + { + for (QCPFinancialDataContainer::const_iterator it = begin; it != end; ++it) + { + if (isSelected && mSelectionDecorator) + { + mSelectionDecorator->applyPen(painter); + mSelectionDecorator->applyBrush(painter); + } else if (mTwoColored) + { + painter->setPen(it->close >= it->open ? mPenPositive : mPenNegative); + painter->setBrush(it->close >= it->open ? mBrushPositive : mBrushNegative); + } else + { + painter->setPen(mPen); + painter->setBrush(mBrush); + } + double keyPixel = keyAxis->coordToPixel(it->key); + double openPixel = valueAxis->coordToPixel(it->open); + double closePixel = valueAxis->coordToPixel(it->close); + // draw high: + painter->drawLine(QPointF(keyPixel, valueAxis->coordToPixel(it->high)), QPointF(keyPixel, valueAxis->coordToPixel(qMax(it->open, it->close)))); + // draw low: + painter->drawLine(QPointF(keyPixel, valueAxis->coordToPixel(it->low)), QPointF(keyPixel, valueAxis->coordToPixel(qMin(it->open, it->close)))); + // draw open-close box: + double pixelWidth = getPixelWidth(it->key, keyPixel); + painter->drawRect(QRectF(QPointF(keyPixel-pixelWidth, closePixel), QPointF(keyPixel+pixelWidth, openPixel))); + } + } else // keyAxis->orientation() == Qt::Vertical + { + for (QCPFinancialDataContainer::const_iterator it = begin; it != end; ++it) + { + if (isSelected && mSelectionDecorator) + { + mSelectionDecorator->applyPen(painter); + mSelectionDecorator->applyBrush(painter); + } else if (mTwoColored) + { + painter->setPen(it->close >= it->open ? mPenPositive : mPenNegative); + painter->setBrush(it->close >= it->open ? mBrushPositive : mBrushNegative); + } else + { + painter->setPen(mPen); + painter->setBrush(mBrush); + } + double keyPixel = keyAxis->coordToPixel(it->key); + double openPixel = valueAxis->coordToPixel(it->open); + double closePixel = valueAxis->coordToPixel(it->close); + // draw high: + painter->drawLine(QPointF(valueAxis->coordToPixel(it->high), keyPixel), QPointF(valueAxis->coordToPixel(qMax(it->open, it->close)), keyPixel)); + // draw low: + painter->drawLine(QPointF(valueAxis->coordToPixel(it->low), keyPixel), QPointF(valueAxis->coordToPixel(qMin(it->open, it->close)), keyPixel)); + // draw open-close box: + double pixelWidth = getPixelWidth(it->key, keyPixel); + painter->drawRect(QRectF(QPointF(closePixel, keyPixel-pixelWidth), QPointF(openPixel, keyPixel+pixelWidth))); + } + } +} + +/*! \internal + + This function is used to determine the width of the bar at coordinate \a key, according to the + specified width (\ref setWidth) and width type (\ref setWidthType). Provide the pixel position of + \a key in \a keyPixel (because usually this was already calculated via \ref QCPAxis::coordToPixel + when this function is called). + + It returns the number of pixels the bar extends to higher keys, relative to the \a key + coordinate. So with a non-reversed horizontal axis, the return value is positive. With a reversed + horizontal axis, the return value is negative. This is important so the open/close flags on the + \ref csOhlc bar are drawn to the correct side. +*/ +double QCPFinancial::getPixelWidth(double key, double keyPixel) const +{ + double result = 0; + switch (mWidthType) + { + case wtAbsolute: + { + if (mKeyAxis) + result = mWidth*0.5*mKeyAxis.data()->pixelOrientation(); + break; + } + case wtAxisRectRatio: + { + if (mKeyAxis && mKeyAxis.data()->axisRect()) + { + if (mKeyAxis.data()->orientation() == Qt::Horizontal) + result = mKeyAxis.data()->axisRect()->width()*mWidth*0.5*mKeyAxis.data()->pixelOrientation(); + else + result = mKeyAxis.data()->axisRect()->height()*mWidth*0.5*mKeyAxis.data()->pixelOrientation(); + } else + qDebug() << Q_FUNC_INFO << "No key axis or axis rect defined"; + break; + } + case wtPlotCoords: + { + if (mKeyAxis) + result = mKeyAxis.data()->coordToPixel(key+mWidth*0.5)-keyPixel; + else + qDebug() << Q_FUNC_INFO << "No key axis defined"; + break; + } + } + return result; +} + +/*! \internal + + This method is a helper function for \ref selectTest. It is used to test for selection when the + chart style is \ref csOhlc. It only tests against the data points between \a begin and \a end. + + Like \ref selectTest, this method returns the shortest distance of \a pos to the graphical + representation of the plottable, and \a closestDataPoint will point to the respective data point. +*/ +double QCPFinancial::ohlcSelectTest(const QPointF &pos, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, QCPFinancialDataContainer::const_iterator &closestDataPoint) const +{ + closestDataPoint = mDataContainer->constEnd(); + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return -1; } + + double minDistSqr = std::numeric_limits<double>::max(); + if (keyAxis->orientation() == Qt::Horizontal) + { + for (QCPFinancialDataContainer::const_iterator it=begin; it!=end; ++it) + { + double keyPixel = keyAxis->coordToPixel(it->key); + // calculate distance to backbone: + double currentDistSqr = QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(keyPixel, valueAxis->coordToPixel(it->high)), QCPVector2D(keyPixel, valueAxis->coordToPixel(it->low))); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestDataPoint = it; + } + } + } else // keyAxis->orientation() == Qt::Vertical + { + for (QCPFinancialDataContainer::const_iterator it=begin; it!=end; ++it) + { + double keyPixel = keyAxis->coordToPixel(it->key); + // calculate distance to backbone: + double currentDistSqr = QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(valueAxis->coordToPixel(it->high), keyPixel), QCPVector2D(valueAxis->coordToPixel(it->low), keyPixel)); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestDataPoint = it; + } + } + } + return qSqrt(minDistSqr); +} + +/*! \internal + + This method is a helper function for \ref selectTest. It is used to test for selection when the + chart style is \ref csCandlestick. It only tests against the data points between \a begin and \a + end. + + Like \ref selectTest, this method returns the shortest distance of \a pos to the graphical + representation of the plottable, and \a closestDataPoint will point to the respective data point. +*/ +double QCPFinancial::candlestickSelectTest(const QPointF &pos, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, QCPFinancialDataContainer::const_iterator &closestDataPoint) const +{ + closestDataPoint = mDataContainer->constEnd(); + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return -1; } + + double minDistSqr = std::numeric_limits<double>::max(); + if (keyAxis->orientation() == Qt::Horizontal) + { + for (QCPFinancialDataContainer::const_iterator it=begin; it!=end; ++it) + { + double currentDistSqr; + // determine whether pos is in open-close-box: + QCPRange boxKeyRange(it->key-mWidth*0.5, it->key+mWidth*0.5); + QCPRange boxValueRange(it->close, it->open); + double posKey, posValue; + pixelsToCoords(pos, posKey, posValue); + if (boxKeyRange.contains(posKey) && boxValueRange.contains(posValue)) // is in open-close-box + { + currentDistSqr = mParentPlot->selectionTolerance()*0.99 * mParentPlot->selectionTolerance()*0.99; + } else + { + // calculate distance to high/low lines: + double keyPixel = keyAxis->coordToPixel(it->key); + double highLineDistSqr = QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(keyPixel, valueAxis->coordToPixel(it->high)), QCPVector2D(keyPixel, valueAxis->coordToPixel(qMax(it->open, it->close)))); + double lowLineDistSqr = QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(keyPixel, valueAxis->coordToPixel(it->low)), QCPVector2D(keyPixel, valueAxis->coordToPixel(qMin(it->open, it->close)))); + currentDistSqr = qMin(highLineDistSqr, lowLineDistSqr); + } + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestDataPoint = it; + } + } + } else // keyAxis->orientation() == Qt::Vertical + { + for (QCPFinancialDataContainer::const_iterator it=begin; it!=end; ++it) + { + double currentDistSqr; + // determine whether pos is in open-close-box: + QCPRange boxKeyRange(it->key-mWidth*0.5, it->key+mWidth*0.5); + QCPRange boxValueRange(it->close, it->open); + double posKey, posValue; + pixelsToCoords(pos, posKey, posValue); + if (boxKeyRange.contains(posKey) && boxValueRange.contains(posValue)) // is in open-close-box + { + currentDistSqr = mParentPlot->selectionTolerance()*0.99 * mParentPlot->selectionTolerance()*0.99; + } else + { + // calculate distance to high/low lines: + double keyPixel = keyAxis->coordToPixel(it->key); + double highLineDistSqr = QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(valueAxis->coordToPixel(it->high), keyPixel), QCPVector2D(valueAxis->coordToPixel(qMax(it->open, it->close)), keyPixel)); + double lowLineDistSqr = QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(valueAxis->coordToPixel(it->low), keyPixel), QCPVector2D(valueAxis->coordToPixel(qMin(it->open, it->close)), keyPixel)); + currentDistSqr = qMin(highLineDistSqr, lowLineDistSqr); + } + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestDataPoint = it; + } + } + } + return qSqrt(minDistSqr); +} + +/*! \internal + + called by the drawing methods to determine which data (key) range is visible at the current key + axis range setting, so only that needs to be processed. + + \a begin returns an iterator to the lowest data point that needs to be taken into account when + plotting. Note that in order to get a clean plot all the way to the edge of the axis rect, \a + begin may still be just outside the visible range. + + \a end returns the iterator just above the highest data point that needs to be taken into + account. Same as before, \a end may also lie just outside of the visible range + + if the plottable contains no data, both \a begin and \a end point to \c constEnd. +*/ +void QCPFinancial::getVisibleDataBounds(QCPFinancialDataContainer::const_iterator &begin, QCPFinancialDataContainer::const_iterator &end) const +{ + if (!mKeyAxis) + { + qDebug() << Q_FUNC_INFO << "invalid key axis"; + begin = mDataContainer->constEnd(); + end = mDataContainer->constEnd(); + return; + } + begin = mDataContainer->findBegin(mKeyAxis.data()->range().lower-mWidth*0.5); // subtract half width of ohlc/candlestick to include partially visible data points + end = mDataContainer->findEnd(mKeyAxis.data()->range().upper+mWidth*0.5); // add half width of ohlc/candlestick to include partially visible data points +} + +/*! \internal + + Returns the hit box in pixel coordinates that will be used for data selection with the selection + rect (\ref selectTestRect), of the data point given by \a it. +*/ +QRectF QCPFinancial::selectionHitBox(QCPFinancialDataContainer::const_iterator it) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return QRectF(); } + + double keyPixel = keyAxis->coordToPixel(it->key); + double highPixel = valueAxis->coordToPixel(it->high); + double lowPixel = valueAxis->coordToPixel(it->low); + double keyWidthPixels = keyPixel-keyAxis->coordToPixel(it->key-mWidth*0.5); + if (keyAxis->orientation() == Qt::Horizontal) + return QRectF(keyPixel-keyWidthPixels, highPixel, keyWidthPixels*2, lowPixel-highPixel).normalized(); + else + return QRectF(highPixel, keyPixel-keyWidthPixels, lowPixel-highPixel, keyWidthPixels*2).normalized(); +} +/* end of 'src/plottables/plottable-financial.cpp' */ + + +/* including file 'src/plottables/plottable-errorbar.cpp', size 37355 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPErrorBarsData +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPErrorBarsData + \brief Holds the data of one single error bar for QCPErrorBars. + + The stored data is: + \li \a errorMinus: how much the error bar extends towards negative coordinates from the data + point position + \li \a errorPlus: how much the error bar extends towards positive coordinates from the data point + position + + The container for storing the error bar information is \ref QCPErrorBarsDataContainer. It is a + typedef for <tt>QVector<\ref QCPErrorBarsData></tt>. + + \see QCPErrorBarsDataContainer +*/ + +/*! + Constructs an error bar with errors set to zero. +*/ +QCPErrorBarsData::QCPErrorBarsData() : + errorMinus(0), + errorPlus(0) +{ +} + +/*! + Constructs an error bar with equal \a error in both negative and positive direction. +*/ +QCPErrorBarsData::QCPErrorBarsData(double error) : + errorMinus(error), + errorPlus(error) +{ +} + +/*! + Constructs an error bar with negative and positive errors set to \a errorMinus and \a errorPlus, + respectively. +*/ +QCPErrorBarsData::QCPErrorBarsData(double errorMinus, double errorPlus) : + errorMinus(errorMinus), + errorPlus(errorPlus) +{ +} + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPErrorBars +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPErrorBars + \brief A plottable that adds a set of error bars to other plottables. + + \image html QCPErrorBars.png + + The \ref QCPErrorBars plottable can be attached to other one-dimensional plottables (e.g. \ref + QCPGraph, \ref QCPCurve, \ref QCPBars, etc.) and equips them with error bars. + + Use \ref setDataPlottable to define for which plottable the \ref QCPErrorBars shall display the + error bars. The orientation of the error bars can be controlled with \ref setErrorType. + + By using \ref setData, you can supply the actual error data, either as symmetric error or + plus/minus asymmetric errors. \ref QCPErrorBars only stores the error data. The absolute + key/value position of each error bar will be adopted from the configured data plottable. The + error data of the \ref QCPErrorBars are associated one-to-one via their index to the data points + of the data plottable. You can directly access and manipulate the error bar data via \ref data. + + Set either of the plus/minus errors to NaN (<tt>qQNaN()</tt> or + <tt>std::numeric_limits<double>::quiet_NaN()</tt>) to not show the respective error bar on the data point at + that index. + + \section qcperrorbars-appearance Changing the appearance + + The appearance of the error bars is defined by the pen (\ref setPen), and the width of the + whiskers (\ref setWhiskerWidth). Further, the error bar backbones may leave a gap around the data + point center to prevent that error bars are drawn too close to or even through scatter points. + This gap size can be controlled via \ref setSymbolGap. +*/ + +/* start of documentation of inline functions */ + +/*! \fn QSharedPointer<QCPErrorBarsDataContainer> QCPErrorBars::data() const + + Returns a shared pointer to the internal data storage of type \ref QCPErrorBarsDataContainer. You + may use it to directly manipulate the error values, which may be more convenient and faster than + using the regular \ref setData methods. +*/ + +/* end of documentation of inline functions */ + +/*! + Constructs an error bars plottable which uses \a keyAxis as its key axis ("x") and \a valueAxis as its value + axis ("y"). \a keyAxis and \a valueAxis must reside in the same QCustomPlot instance and not have + the same orientation. If either of these restrictions is violated, a corresponding message is + printed to the debug output (qDebug), the construction is not aborted, though. + + It is also important that the \a keyAxis and \a valueAxis are the same for the error bars + plottable and the data plottable that the error bars shall be drawn on (\ref setDataPlottable). + + The created \ref QCPErrorBars is automatically registered with the QCustomPlot instance inferred + from \a keyAxis. This QCustomPlot instance takes ownership of the \ref QCPErrorBars, so do not + delete it manually but use \ref QCustomPlot::removePlottable() instead. +*/ +QCPErrorBars::QCPErrorBars(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable(keyAxis, valueAxis), + mDataContainer(new QVector<QCPErrorBarsData>), + mErrorType(etValueError), + mWhiskerWidth(9), + mSymbolGap(10) +{ + setPen(QPen(Qt::black, 0)); + setBrush(Qt::NoBrush); +} + +QCPErrorBars::~QCPErrorBars() +{ +} + +/*! \overload + + Replaces the current data container with the provided \a data container. + + Since a QSharedPointer is used, multiple \ref QCPErrorBars instances may share the same data + container safely. Modifying the data in the container will then affect all \ref QCPErrorBars + instances that share the container. Sharing can be achieved by simply exchanging the data + containers wrapped in shared pointers: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcperrorbars-datasharing-1 + + If you do not wish to share containers, but create a copy from an existing container, assign the + data containers directly: + \snippet documentation/doc-code-snippets/mainwindow.cpp qcperrorbars-datasharing-2 + (This uses different notation compared with other plottables, because the \ref QCPErrorBars + uses a \c QVector<QCPErrorBarsData> as its data container, instead of a \ref QCPDataContainer.) + + \see addData +*/ +void QCPErrorBars::setData(QSharedPointer<QCPErrorBarsDataContainer> data) +{ + mDataContainer = data; +} + +/*! \overload + + Sets symmetrical error values as specified in \a error. The errors will be associated one-to-one + by the data point index to the associated data plottable (\ref setDataPlottable). + + You can directly access and manipulate the error bar data via \ref data. + + \see addData +*/ +void QCPErrorBars::setData(const QVector<double> &error) +{ + mDataContainer->clear(); + addData(error); +} + +/*! \overload + + Sets asymmetrical errors as specified in \a errorMinus and \a errorPlus. The errors will be + associated one-to-one by the data point index to the associated data plottable (\ref + setDataPlottable). + + You can directly access and manipulate the error bar data via \ref data. + + \see addData +*/ +void QCPErrorBars::setData(const QVector<double> &errorMinus, const QVector<double> &errorPlus) +{ + mDataContainer->clear(); + addData(errorMinus, errorPlus); +} + +/*! + Sets the data plottable to which the error bars will be applied. The error values specified e.g. + via \ref setData will be associated one-to-one by the data point index to the data points of \a + plottable. This means that the error bars will adopt the key/value coordinates of the data point + with the same index. + + The passed \a plottable must be a one-dimensional plottable, i.e. it must implement the \ref + QCPPlottableInterface1D. Further, it must not be a \ref QCPErrorBars instance itself. If either + of these restrictions is violated, a corresponding qDebug output is generated, and the data + plottable of this \ref QCPErrorBars instance is set to zero. + + For proper display, care must also be taken that the key and value axes of the \a plottable match + those configured for this \ref QCPErrorBars instance. +*/ +void QCPErrorBars::setDataPlottable(QCPAbstractPlottable *plottable) +{ + if (plottable && qobject_cast<QCPErrorBars*>(plottable)) + { + mDataPlottable = 0; + qDebug() << Q_FUNC_INFO << "can't set another QCPErrorBars instance as data plottable"; + return; + } + if (plottable && !plottable->interface1D()) + { + mDataPlottable = 0; + qDebug() << Q_FUNC_INFO << "passed plottable doesn't implement 1d interface, can't associate with QCPErrorBars"; + return; + } + + mDataPlottable = plottable; +} + +/*! + Sets in which orientation the error bars shall appear on the data points. If your data needs both + error dimensions, create two \ref QCPErrorBars with different \a type. +*/ +void QCPErrorBars::setErrorType(ErrorType type) +{ + mErrorType = type; +} + +/*! + Sets the width of the whiskers (the short bars at the end of the actual error bar backbones) to + \a pixels. +*/ +void QCPErrorBars::setWhiskerWidth(double pixels) +{ + mWhiskerWidth = pixels; +} + +/*! + Sets the gap diameter around the data points that will be left out when drawing the error bar + backbones. This gap prevents that error bars are drawn too close to or even through scatter + points. +*/ +void QCPErrorBars::setSymbolGap(double pixels) +{ + mSymbolGap = pixels; +} + +/*! \overload + + Adds symmetrical error values as specified in \a error. The errors will be associated one-to-one + by the data point index to the associated data plottable (\ref setDataPlottable). + + You can directly access and manipulate the error bar data via \ref data. + + \see setData +*/ +void QCPErrorBars::addData(const QVector<double> &error) +{ + addData(error, error); +} + +/*! \overload + + Adds asymmetrical errors as specified in \a errorMinus and \a errorPlus. The errors will be + associated one-to-one by the data point index to the associated data plottable (\ref + setDataPlottable). + + You can directly access and manipulate the error bar data via \ref data. + + \see setData +*/ +void QCPErrorBars::addData(const QVector<double> &errorMinus, const QVector<double> &errorPlus) +{ + if (errorMinus.size() != errorPlus.size()) + qDebug() << Q_FUNC_INFO << "minus and plus error vectors have different sizes:" << errorMinus.size() << errorPlus.size(); + const int n = qMin(errorMinus.size(), errorPlus.size()); + mDataContainer->reserve(n); + for (int i=0; i<n; ++i) + mDataContainer->append(QCPErrorBarsData(errorMinus.at(i), errorPlus.at(i))); +} + +/*! \overload + + Adds a single symmetrical error bar as specified in \a error. The errors will be associated + one-to-one by the data point index to the associated data plottable (\ref setDataPlottable). + + You can directly access and manipulate the error bar data via \ref data. + + \see setData +*/ +void QCPErrorBars::addData(double error) +{ + mDataContainer->append(QCPErrorBarsData(error)); +} + +/*! \overload + + Adds a single asymmetrical error bar as specified in \a errorMinus and \a errorPlus. The errors + will be associated one-to-one by the data point index to the associated data plottable (\ref + setDataPlottable). + + You can directly access and manipulate the error bar data via \ref data. + + \see setData +*/ +void QCPErrorBars::addData(double errorMinus, double errorPlus) +{ + mDataContainer->append(QCPErrorBarsData(errorMinus, errorPlus)); +} + +/* inherits documentation from base class */ +int QCPErrorBars::dataCount() const +{ + return mDataContainer->size(); +} + +/* inherits documentation from base class */ +double QCPErrorBars::dataMainKey(int index) const +{ + if (mDataPlottable) + return mDataPlottable->interface1D()->dataMainKey(index); + else + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return 0; +} + +/* inherits documentation from base class */ +double QCPErrorBars::dataSortKey(int index) const +{ + if (mDataPlottable) + return mDataPlottable->interface1D()->dataSortKey(index); + else + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return 0; +} + +/* inherits documentation from base class */ +double QCPErrorBars::dataMainValue(int index) const +{ + if (mDataPlottable) + return mDataPlottable->interface1D()->dataMainValue(index); + else + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return 0; +} + +/* inherits documentation from base class */ +QCPRange QCPErrorBars::dataValueRange(int index) const +{ + if (mDataPlottable) + { + const double value = mDataPlottable->interface1D()->dataMainValue(index); + if (index >= 0 && index < mDataContainer->size() && mErrorType == etValueError) + return QCPRange(value-mDataContainer->at(index).errorMinus, value+mDataContainer->at(index).errorPlus); + else + return QCPRange(value, value); + } else + { + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return QCPRange(); + } +} + +/* inherits documentation from base class */ +QPointF QCPErrorBars::dataPixelPosition(int index) const +{ + if (mDataPlottable) + return mDataPlottable->interface1D()->dataPixelPosition(index); + else + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return QPointF(); +} + +/* inherits documentation from base class */ +bool QCPErrorBars::sortKeyIsMainKey() const +{ + if (mDataPlottable) + { + return mDataPlottable->interface1D()->sortKeyIsMainKey(); + } else + { + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return true; + } +} + +/*! + \copydoc QCPPlottableInterface1D::selectTestRect +*/ +QCPDataSelection QCPErrorBars::selectTestRect(const QRectF &rect, bool onlySelectable) const +{ + QCPDataSelection result; + if (!mDataPlottable) + return result; + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return result; + if (!mKeyAxis || !mValueAxis) + return result; + + QCPErrorBarsDataContainer::const_iterator visibleBegin, visibleEnd; + getVisibleDataBounds(visibleBegin, visibleEnd, QCPDataRange(0, dataCount())); + + QVector<QLineF> backbones, whiskers; + for (QCPErrorBarsDataContainer::const_iterator it=visibleBegin; it!=visibleEnd; ++it) + { + backbones.clear(); + whiskers.clear(); + getErrorBarLines(it, backbones, whiskers); + for (int i=0; i<backbones.size(); ++i) + { + if (rectIntersectsLine(rect, backbones.at(i))) + { + result.addDataRange(QCPDataRange(it-mDataContainer->constBegin(), it-mDataContainer->constBegin()+1), false); + break; + } + } + } + result.simplify(); + return result; +} + +/* inherits documentation from base class */ +int QCPErrorBars::findBegin(double sortKey, bool expandedRange) const +{ + if (mDataPlottable) + { + if (mDataContainer->isEmpty()) + return 0; + int beginIndex = mDataPlottable->interface1D()->findBegin(sortKey, expandedRange); + if (beginIndex >= mDataContainer->size()) + beginIndex = mDataContainer->size()-1; + return beginIndex; + } else + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return 0; +} + +/* inherits documentation from base class */ +int QCPErrorBars::findEnd(double sortKey, bool expandedRange) const +{ + if (mDataPlottable) + { + if (mDataContainer->isEmpty()) + return 0; + int endIndex = mDataPlottable->interface1D()->findEnd(sortKey, expandedRange); + if (endIndex > mDataContainer->size()) + endIndex = mDataContainer->size(); + return endIndex; + } else + qDebug() << Q_FUNC_INFO << "no data plottable set"; + return 0; +} + +/* inherits documentation from base class */ +double QCPErrorBars::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + if (!mDataPlottable) return -1; + + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + if (mKeyAxis.data()->axisRect()->rect().contains(pos.toPoint())) + { + QCPErrorBarsDataContainer::const_iterator closestDataPoint = mDataContainer->constEnd(); + double result = pointDistance(pos, closestDataPoint); + if (details) + { + int pointIndex = closestDataPoint-mDataContainer->constBegin(); + details->setValue(QCPDataSelection(QCPDataRange(pointIndex, pointIndex+1))); + } + return result; + } else + return -1; +} + +/* inherits documentation from base class */ +void QCPErrorBars::draw(QCPPainter *painter) +{ + if (!mDataPlottable) return; + if (!mKeyAxis || !mValueAxis) { qDebug() << Q_FUNC_INFO << "invalid key or value axis"; return; } + if (mKeyAxis.data()->range().size() <= 0 || mDataContainer->isEmpty()) return; + + // if the sort key isn't the main key, we must check the visibility for each data point/error bar individually + // (getVisibleDataBounds applies range restriction, but otherwise can only return full data range): + bool checkPointVisibility = !mDataPlottable->interface1D()->sortKeyIsMainKey(); + + // check data validity if flag set: +#ifdef QCUSTOMPLOT_CHECK_DATA + QCPErrorBarsDataContainer::const_iterator it; + for (it = mDataContainer->constBegin(); it != mDataContainer->constEnd(); ++it) + { + if (QCP::isInvalidData(it->errorMinus, it->errorPlus)) + qDebug() << Q_FUNC_INFO << "Data point at index" << it-mDataContainer->constBegin() << "invalid." << "Plottable name:" << name(); + } +#endif + + applyDefaultAntialiasingHint(painter); + painter->setBrush(Qt::NoBrush); + // loop over and draw segments of unselected/selected data: + QList<QCPDataRange> selectedSegments, unselectedSegments, allSegments; + getDataSegments(selectedSegments, unselectedSegments); + allSegments << unselectedSegments << selectedSegments; + QVector<QLineF> backbones, whiskers; + for (int i=0; i<allSegments.size(); ++i) + { + QCPErrorBarsDataContainer::const_iterator begin, end; + getVisibleDataBounds(begin, end, allSegments.at(i)); + if (begin == end) + continue; + + bool isSelectedSegment = i >= unselectedSegments.size(); + if (isSelectedSegment && mSelectionDecorator) + mSelectionDecorator->applyPen(painter); + else + painter->setPen(mPen); + if (painter->pen().capStyle() == Qt::SquareCap) + { + QPen capFixPen(painter->pen()); + capFixPen.setCapStyle(Qt::FlatCap); + painter->setPen(capFixPen); + } + backbones.clear(); + whiskers.clear(); + for (QCPErrorBarsDataContainer::const_iterator it=begin; it!=end; ++it) + { + if (!checkPointVisibility || errorBarVisible(it-mDataContainer->constBegin())) + getErrorBarLines(it, backbones, whiskers); + } + painter->drawLines(backbones); + painter->drawLines(whiskers); + } + + // draw other selection decoration that isn't just line/scatter pens and brushes: + if (mSelectionDecorator) + mSelectionDecorator->drawDecoration(painter, selection()); +} + +/* inherits documentation from base class */ +void QCPErrorBars::drawLegendIcon(QCPPainter *painter, const QRectF &rect) const +{ + applyDefaultAntialiasingHint(painter); + painter->setPen(mPen); + if (mErrorType == etValueError && mValueAxis && mValueAxis->orientation() == Qt::Vertical) + { + painter->drawLine(QLineF(rect.center().x(), rect.top()+2, rect.center().x(), rect.bottom()-1)); + painter->drawLine(QLineF(rect.center().x()-4, rect.top()+2, rect.center().x()+4, rect.top()+2)); + painter->drawLine(QLineF(rect.center().x()-4, rect.bottom()-1, rect.center().x()+4, rect.bottom()-1)); + } else + { + painter->drawLine(QLineF(rect.left()+2, rect.center().y(), rect.right()-2, rect.center().y())); + painter->drawLine(QLineF(rect.left()+2, rect.center().y()-4, rect.left()+2, rect.center().y()+4)); + painter->drawLine(QLineF(rect.right()-2, rect.center().y()-4, rect.right()-2, rect.center().y()+4)); + } +} + +/* inherits documentation from base class */ +QCPRange QCPErrorBars::getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain) const +{ + if (!mDataPlottable) + { + foundRange = false; + return QCPRange(); + } + + QCPRange range; + bool haveLower = false; + bool haveUpper = false; + QCPErrorBarsDataContainer::const_iterator it; + for (it = mDataContainer->constBegin(); it != mDataContainer->constEnd(); ++it) + { + if (mErrorType == etValueError) + { + // error bar doesn't extend in key dimension (except whisker but we ignore that here), so only use data point center + const double current = mDataPlottable->interface1D()->dataMainKey(it-mDataContainer->constBegin()); + if (qIsNaN(current)) continue; + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current < range.lower || !haveLower) + { + range.lower = current; + haveLower = true; + } + if (current > range.upper || !haveUpper) + { + range.upper = current; + haveUpper = true; + } + } + } else // mErrorType == etKeyError + { + const double dataKey = mDataPlottable->interface1D()->dataMainKey(it-mDataContainer->constBegin()); + if (qIsNaN(dataKey)) continue; + // plus error: + double current = dataKey + (qIsNaN(it->errorPlus) ? 0 : it->errorPlus); + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current > range.upper || !haveUpper) + { + range.upper = current; + haveUpper = true; + } + } + // minus error: + current = dataKey - (qIsNaN(it->errorMinus) ? 0 : it->errorMinus); + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current < range.lower || !haveLower) + { + range.lower = current; + haveLower = true; + } + } + } + } + + if (haveUpper && !haveLower) + { + range.lower = range.upper; + haveLower = true; + } else if (haveLower && !haveUpper) + { + range.upper = range.lower; + haveUpper = true; + } + + foundRange = haveLower && haveUpper; + return range; +} + +/* inherits documentation from base class */ +QCPRange QCPErrorBars::getValueRange(bool &foundRange, QCP::SignDomain inSignDomain, const QCPRange &inKeyRange) const +{ + if (!mDataPlottable) + { + foundRange = false; + return QCPRange(); + } + + QCPRange range; + const bool restrictKeyRange = inKeyRange != QCPRange(); + bool haveLower = false; + bool haveUpper = false; + QCPErrorBarsDataContainer::const_iterator itBegin = mDataContainer->constBegin(); + QCPErrorBarsDataContainer::const_iterator itEnd = mDataContainer->constEnd(); + if (mDataPlottable->interface1D()->sortKeyIsMainKey() && restrictKeyRange) + { + itBegin = mDataContainer->constBegin()+findBegin(inKeyRange.lower); + itEnd = mDataContainer->constBegin()+findEnd(inKeyRange.upper); + } + for (QCPErrorBarsDataContainer::const_iterator it = itBegin; it != itEnd; ++it) + { + if (restrictKeyRange) + { + const double dataKey = mDataPlottable->interface1D()->dataMainKey(it-mDataContainer->constBegin()); + if (dataKey < inKeyRange.lower || dataKey > inKeyRange.upper) + continue; + } + if (mErrorType == etValueError) + { + const double dataValue = mDataPlottable->interface1D()->dataMainValue(it-mDataContainer->constBegin()); + if (qIsNaN(dataValue)) continue; + // plus error: + double current = dataValue + (qIsNaN(it->errorPlus) ? 0 : it->errorPlus); + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current > range.upper || !haveUpper) + { + range.upper = current; + haveUpper = true; + } + } + // minus error: + current = dataValue - (qIsNaN(it->errorMinus) ? 0 : it->errorMinus); + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current < range.lower || !haveLower) + { + range.lower = current; + haveLower = true; + } + } + } else // mErrorType == etKeyError + { + // error bar doesn't extend in value dimension (except whisker but we ignore that here), so only use data point center + const double current = mDataPlottable->interface1D()->dataMainValue(it-mDataContainer->constBegin()); + if (qIsNaN(current)) continue; + if (inSignDomain == QCP::sdBoth || (inSignDomain == QCP::sdNegative && current < 0) || (inSignDomain == QCP::sdPositive && current > 0)) + { + if (current < range.lower || !haveLower) + { + range.lower = current; + haveLower = true; + } + if (current > range.upper || !haveUpper) + { + range.upper = current; + haveUpper = true; + } + } + } + } + + if (haveUpper && !haveLower) + { + range.lower = range.upper; + haveLower = true; + } else if (haveLower && !haveUpper) + { + range.upper = range.lower; + haveUpper = true; + } + + foundRange = haveLower && haveUpper; + return range; +} + +/*! \internal + + Calculates the lines that make up the error bar belonging to the data point \a it. + + The resulting lines are added to \a backbones and \a whiskers. The vectors are not cleared, so + calling this method with different \a it but the same \a backbones and \a whiskers allows to + accumulate lines for multiple data points. + + This method assumes that \a it is a valid iterator within the bounds of this \ref QCPErrorBars + instance and within the bounds of the associated data plottable. +*/ +void QCPErrorBars::getErrorBarLines(QCPErrorBarsDataContainer::const_iterator it, QVector<QLineF> &backbones, QVector<QLineF> &whiskers) const +{ + if (!mDataPlottable) return; + + int index = it-mDataContainer->constBegin(); + QPointF centerPixel = mDataPlottable->interface1D()->dataPixelPosition(index); + if (qIsNaN(centerPixel.x()) || qIsNaN(centerPixel.y())) + return; + QCPAxis *errorAxis = mErrorType == etValueError ? mValueAxis.data() : mKeyAxis.data(); + QCPAxis *orthoAxis = mErrorType == etValueError ? mKeyAxis.data() : mValueAxis.data(); + const double centerErrorAxisPixel = errorAxis->orientation() == Qt::Horizontal ? centerPixel.x() : centerPixel.y(); + const double centerOrthoAxisPixel = orthoAxis->orientation() == Qt::Horizontal ? centerPixel.x() : centerPixel.y(); + const double centerErrorAxisCoord = errorAxis->pixelToCoord(centerErrorAxisPixel); // depending on plottable, this might be different from just mDataPlottable->interface1D()->dataMainKey/Value + const double symbolGap = mSymbolGap*0.5*errorAxis->pixelOrientation(); + // plus error: + double errorStart, errorEnd; + if (!qIsNaN(it->errorPlus)) + { + errorStart = centerErrorAxisPixel+symbolGap; + errorEnd = errorAxis->coordToPixel(centerErrorAxisCoord+it->errorPlus); + if (errorAxis->orientation() == Qt::Vertical) + { + if ((errorStart > errorEnd) != errorAxis->rangeReversed()) + backbones.append(QLineF(centerOrthoAxisPixel, errorStart, centerOrthoAxisPixel, errorEnd)); + whiskers.append(QLineF(centerOrthoAxisPixel-mWhiskerWidth*0.5, errorEnd, centerOrthoAxisPixel+mWhiskerWidth*0.5, errorEnd)); + } else + { + if ((errorStart < errorEnd) != errorAxis->rangeReversed()) + backbones.append(QLineF(errorStart, centerOrthoAxisPixel, errorEnd, centerOrthoAxisPixel)); + whiskers.append(QLineF(errorEnd, centerOrthoAxisPixel-mWhiskerWidth*0.5, errorEnd, centerOrthoAxisPixel+mWhiskerWidth*0.5)); + } + } + // minus error: + if (!qIsNaN(it->errorMinus)) + { + errorStart = centerErrorAxisPixel-symbolGap; + errorEnd = errorAxis->coordToPixel(centerErrorAxisCoord-it->errorMinus); + if (errorAxis->orientation() == Qt::Vertical) + { + if ((errorStart < errorEnd) != errorAxis->rangeReversed()) + backbones.append(QLineF(centerOrthoAxisPixel, errorStart, centerOrthoAxisPixel, errorEnd)); + whiskers.append(QLineF(centerOrthoAxisPixel-mWhiskerWidth*0.5, errorEnd, centerOrthoAxisPixel+mWhiskerWidth*0.5, errorEnd)); + } else + { + if ((errorStart > errorEnd) != errorAxis->rangeReversed()) + backbones.append(QLineF(errorStart, centerOrthoAxisPixel, errorEnd, centerOrthoAxisPixel)); + whiskers.append(QLineF(errorEnd, centerOrthoAxisPixel-mWhiskerWidth*0.5, errorEnd, centerOrthoAxisPixel+mWhiskerWidth*0.5)); + } + } +} + +/*! \internal + + This method outputs the currently visible data range via \a begin and \a end. The returned range + will also never exceed \a rangeRestriction. + + Since error bars with type \ref etKeyError may extend to arbitrarily positive and negative key + coordinates relative to their data point key, this method checks all outer error bars whether + they truly don't reach into the visible portion of the axis rect, by calling \ref + errorBarVisible. On the other hand error bars with type \ref etValueError that are associated + with data plottables whose sort key is equal to the main key (see \ref qcpdatacontainer-datatype + "QCPDataContainer DataType") can be handled very efficiently by finding the visible range of + error bars through binary search (\ref QCPPlottableInterface1D::findBegin and \ref + QCPPlottableInterface1D::findEnd). + + If the plottable's sort key is not equal to the main key, this method returns the full data + range, only restricted by \a rangeRestriction. Drawing optimization then has to be done on a + point-by-point basis in the \ref draw method. +*/ +void QCPErrorBars::getVisibleDataBounds(QCPErrorBarsDataContainer::const_iterator &begin, QCPErrorBarsDataContainer::const_iterator &end, const QCPDataRange &rangeRestriction) const +{ + QCPAxis *keyAxis = mKeyAxis.data(); + QCPAxis *valueAxis = mValueAxis.data(); + if (!keyAxis || !valueAxis) + { + qDebug() << Q_FUNC_INFO << "invalid key or value axis"; + end = mDataContainer->constEnd(); + begin = end; + return; + } + if (!mDataPlottable || rangeRestriction.isEmpty()) + { + end = mDataContainer->constEnd(); + begin = end; + return; + } + if (!mDataPlottable->interface1D()->sortKeyIsMainKey()) + { + // if the sort key isn't the main key, it's not possible to find a contiguous range of visible + // data points, so this method then only applies the range restriction and otherwise returns + // the full data range. Visibility checks must be done on a per-datapoin-basis during drawing + QCPDataRange dataRange(0, mDataContainer->size()); + dataRange = dataRange.bounded(rangeRestriction); + begin = mDataContainer->constBegin()+dataRange.begin(); + end = mDataContainer->constBegin()+dataRange.end(); + return; + } + + // get visible data range via interface from data plottable, and then restrict to available error data points: + const int n = qMin(mDataContainer->size(), mDataPlottable->interface1D()->dataCount()); + int beginIndex = mDataPlottable->interface1D()->findBegin(keyAxis->range().lower); + int endIndex = mDataPlottable->interface1D()->findEnd(keyAxis->range().upper); + int i = beginIndex; + while (i > 0 && i < n && i > rangeRestriction.begin()) + { + if (errorBarVisible(i)) + beginIndex = i; + --i; + } + i = endIndex; + while (i >= 0 && i < n && i < rangeRestriction.end()) + { + if (errorBarVisible(i)) + endIndex = i+1; + ++i; + } + QCPDataRange dataRange(beginIndex, endIndex); + dataRange = dataRange.bounded(rangeRestriction.bounded(QCPDataRange(0, mDataContainer->size()))); + begin = mDataContainer->constBegin()+dataRange.begin(); + end = mDataContainer->constBegin()+dataRange.end(); +} + +/*! \internal + + Calculates the minimum distance in pixels the error bars' representation has from the given \a + pixelPoint. This is used to determine whether the error bar was clicked or not, e.g. in \ref + selectTest. The closest data point to \a pixelPoint is returned in \a closestData. +*/ +double QCPErrorBars::pointDistance(const QPointF &pixelPoint, QCPErrorBarsDataContainer::const_iterator &closestData) const +{ + closestData = mDataContainer->constEnd(); + if (!mDataPlottable || mDataContainer->isEmpty()) + return -1.0; + if (!mKeyAxis || !mValueAxis) + { + qDebug() << Q_FUNC_INFO << "invalid key or value axis"; + return -1.0; + } + + QCPErrorBarsDataContainer::const_iterator begin, end; + getVisibleDataBounds(begin, end, QCPDataRange(0, dataCount())); + + // calculate minimum distances to error backbones (whiskers are ignored for speed) and find closestData iterator: + double minDistSqr = std::numeric_limits<double>::max(); + QVector<QLineF> backbones, whiskers; + for (QCPErrorBarsDataContainer::const_iterator it=begin; it!=end; ++it) + { + getErrorBarLines(it, backbones, whiskers); + for (int i=0; i<backbones.size(); ++i) + { + const double currentDistSqr = QCPVector2D(pixelPoint).distanceSquaredToLine(backbones.at(i)); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + closestData = it; + } + } + } + return qSqrt(minDistSqr); +} + +/*! \internal + + \note This method is identical to \ref QCPAbstractPlottable1D::getDataSegments but needs to be + reproduced here since the \ref QCPErrorBars plottable, as a special case that doesn't have its + own key/value data coordinates, doesn't derive from \ref QCPAbstractPlottable1D. See the + documentation there for details. +*/ +void QCPErrorBars::getDataSegments(QList<QCPDataRange> &selectedSegments, QList<QCPDataRange> &unselectedSegments) const +{ + selectedSegments.clear(); + unselectedSegments.clear(); + if (mSelectable == QCP::stWhole) // stWhole selection type draws the entire plottable with selected style if mSelection isn't empty + { + if (selected()) + selectedSegments << QCPDataRange(0, dataCount()); + else + unselectedSegments << QCPDataRange(0, dataCount()); + } else + { + QCPDataSelection sel(selection()); + sel.simplify(); + selectedSegments = sel.dataRanges(); + unselectedSegments = sel.inverse(QCPDataRange(0, dataCount())).dataRanges(); + } +} + +/*! \internal + + Returns whether the error bar at the specified \a index is visible within the current key axis + range. + + This method assumes for performance reasons without checking that the key axis, the value axis, + and the data plottable (\ref setDataPlottable) are not zero and that \a index is within valid + bounds of this \ref QCPErrorBars instance and the bounds of the data plottable. +*/ +bool QCPErrorBars::errorBarVisible(int index) const +{ + QPointF centerPixel = mDataPlottable->interface1D()->dataPixelPosition(index); + const double centerKeyPixel = mKeyAxis->orientation() == Qt::Horizontal ? centerPixel.x() : centerPixel.y(); + if (qIsNaN(centerKeyPixel)) + return false; + + double keyMin, keyMax; + if (mErrorType == etKeyError) + { + const double centerKey = mKeyAxis->pixelToCoord(centerKeyPixel); + const double errorPlus = mDataContainer->at(index).errorPlus; + const double errorMinus = mDataContainer->at(index).errorMinus; + keyMax = centerKey+(qIsNaN(errorPlus) ? 0 : errorPlus); + keyMin = centerKey-(qIsNaN(errorMinus) ? 0 : errorMinus); + } else // mErrorType == etValueError + { + keyMax = mKeyAxis->pixelToCoord(centerKeyPixel+mWhiskerWidth*0.5*mKeyAxis->pixelOrientation()); + keyMin = mKeyAxis->pixelToCoord(centerKeyPixel-mWhiskerWidth*0.5*mKeyAxis->pixelOrientation()); + } + return ((keyMax > mKeyAxis->range().lower) && (keyMin < mKeyAxis->range().upper)); +} + +/*! \internal + + Returns whether \a line intersects (or is contained in) \a pixelRect. + + \a line is assumed to be either perfectly horizontal or perfectly vertical, as is the case for + error bar lines. +*/ +bool QCPErrorBars::rectIntersectsLine(const QRectF &pixelRect, const QLineF &line) const +{ + if (pixelRect.left() > line.x1() && pixelRect.left() > line.x2()) + return false; + else if (pixelRect.right() < line.x1() && pixelRect.right() < line.x2()) + return false; + else if (pixelRect.top() > line.y1() && pixelRect.top() > line.y2()) + return false; + else if (pixelRect.bottom() < line.y1() && pixelRect.bottom() < line.y2()) + return false; + else + return true; +} +/* end of 'src/plottables/plottable-errorbar.cpp' */ + + +/* including file 'src/items/item-straightline.cpp', size 7592 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemStraightLine +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemStraightLine + \brief A straight line that spans infinitely in both directions + + \image html QCPItemStraightLine.png "Straight line example. Blue dotted circles are anchors, solid blue discs are positions." + + It has two positions, \a point1 and \a point2, which define the straight line. +*/ + +/*! + Creates a straight line item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemStraightLine::QCPItemStraightLine(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + point1(createPosition(QLatin1String("point1"))), + point2(createPosition(QLatin1String("point2"))) +{ + point1->setCoords(0, 0); + point2->setCoords(1, 1); + + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue,2)); +} + +QCPItemStraightLine::~QCPItemStraightLine() +{ +} + +/*! + Sets the pen that will be used to draw the line + + \see setSelectedPen +*/ +void QCPItemStraightLine::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the line when selected + + \see setPen, setSelected +*/ +void QCPItemStraightLine::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/* inherits documentation from base class */ +double QCPItemStraightLine::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + return QCPVector2D(pos).distanceToStraightLine(point1->pixelPosition(), point2->pixelPosition()-point1->pixelPosition()); +} + +/* inherits documentation from base class */ +void QCPItemStraightLine::draw(QCPPainter *painter) +{ + QCPVector2D start(point1->pixelPosition()); + QCPVector2D end(point2->pixelPosition()); + // get visible segment of straight line inside clipRect: + double clipPad = mainPen().widthF(); + QLineF line = getRectClippedStraightLine(start, end-start, clipRect().adjusted(-clipPad, -clipPad, clipPad, clipPad)); + // paint visible segment, if existent: + if (!line.isNull()) + { + painter->setPen(mainPen()); + painter->drawLine(line); + } +} + +/*! \internal + + Returns the section of the straight line defined by \a base and direction vector \a + vec, that is visible in the specified \a rect. + + This is a helper function for \ref draw. +*/ +QLineF QCPItemStraightLine::getRectClippedStraightLine(const QCPVector2D &base, const QCPVector2D &vec, const QRect &rect) const +{ + double bx, by; + double gamma; + QLineF result; + if (vec.x() == 0 && vec.y() == 0) + return result; + if (qFuzzyIsNull(vec.x())) // line is vertical + { + // check top of rect: + bx = rect.left(); + by = rect.top(); + gamma = base.x()-bx + (by-base.y())*vec.x()/vec.y(); + if (gamma >= 0 && gamma <= rect.width()) + result.setLine(bx+gamma, rect.top(), bx+gamma, rect.bottom()); // no need to check bottom because we know line is vertical + } else if (qFuzzyIsNull(vec.y())) // line is horizontal + { + // check left of rect: + bx = rect.left(); + by = rect.top(); + gamma = base.y()-by + (bx-base.x())*vec.y()/vec.x(); + if (gamma >= 0 && gamma <= rect.height()) + result.setLine(rect.left(), by+gamma, rect.right(), by+gamma); // no need to check right because we know line is horizontal + } else // line is skewed + { + QList<QCPVector2D> pointVectors; + // check top of rect: + bx = rect.left(); + by = rect.top(); + gamma = base.x()-bx + (by-base.y())*vec.x()/vec.y(); + if (gamma >= 0 && gamma <= rect.width()) + pointVectors.append(QCPVector2D(bx+gamma, by)); + // check bottom of rect: + bx = rect.left(); + by = rect.bottom(); + gamma = base.x()-bx + (by-base.y())*vec.x()/vec.y(); + if (gamma >= 0 && gamma <= rect.width()) + pointVectors.append(QCPVector2D(bx+gamma, by)); + // check left of rect: + bx = rect.left(); + by = rect.top(); + gamma = base.y()-by + (bx-base.x())*vec.y()/vec.x(); + if (gamma >= 0 && gamma <= rect.height()) + pointVectors.append(QCPVector2D(bx, by+gamma)); + // check right of rect: + bx = rect.right(); + by = rect.top(); + gamma = base.y()-by + (bx-base.x())*vec.y()/vec.x(); + if (gamma >= 0 && gamma <= rect.height()) + pointVectors.append(QCPVector2D(bx, by+gamma)); + + // evaluate points: + if (pointVectors.size() == 2) + { + result.setPoints(pointVectors.at(0).toPointF(), pointVectors.at(1).toPointF()); + } else if (pointVectors.size() > 2) + { + // line probably goes through corner of rect, and we got two points there. single out the point pair with greatest distance: + double distSqrMax = 0; + QCPVector2D pv1, pv2; + for (int i=0; i<pointVectors.size()-1; ++i) + { + for (int k=i+1; k<pointVectors.size(); ++k) + { + double distSqr = (pointVectors.at(i)-pointVectors.at(k)).lengthSquared(); + if (distSqr > distSqrMax) + { + pv1 = pointVectors.at(i); + pv2 = pointVectors.at(k); + distSqrMax = distSqr; + } + } + } + result.setPoints(pv1.toPointF(), pv2.toPointF()); + } + } + return result; +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the + item is not selected and mSelectedPen when it is. +*/ +QPen QCPItemStraightLine::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} +/* end of 'src/items/item-straightline.cpp' */ + + +/* including file 'src/items/item-line.cpp', size 8498 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemLine +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemLine + \brief A line from one point to another + + \image html QCPItemLine.png "Line example. Blue dotted circles are anchors, solid blue discs are positions." + + It has two positions, \a start and \a end, which define the end points of the line. + + With \ref setHead and \ref setTail you may set different line ending styles, e.g. to create an arrow. +*/ + +/*! + Creates a line item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemLine::QCPItemLine(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + start(createPosition(QLatin1String("start"))), + end(createPosition(QLatin1String("end"))) +{ + start->setCoords(0, 0); + end->setCoords(1, 1); + + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue,2)); +} + +QCPItemLine::~QCPItemLine() +{ +} + +/*! + Sets the pen that will be used to draw the line + + \see setSelectedPen +*/ +void QCPItemLine::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the line when selected + + \see setPen, setSelected +*/ +void QCPItemLine::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the line ending style of the head. The head corresponds to the \a end position. + + Note that due to the overloaded QCPLineEnding constructor, you may directly specify + a QCPLineEnding::EndingStyle here, e.g. \code setHead(QCPLineEnding::esSpikeArrow) \endcode + + \see setTail +*/ +void QCPItemLine::setHead(const QCPLineEnding &head) +{ + mHead = head; +} + +/*! + Sets the line ending style of the tail. The tail corresponds to the \a start position. + + Note that due to the overloaded QCPLineEnding constructor, you may directly specify + a QCPLineEnding::EndingStyle here, e.g. \code setTail(QCPLineEnding::esSpikeArrow) \endcode + + \see setHead +*/ +void QCPItemLine::setTail(const QCPLineEnding &tail) +{ + mTail = tail; +} + +/* inherits documentation from base class */ +double QCPItemLine::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + return qSqrt(QCPVector2D(pos).distanceSquaredToLine(start->pixelPosition(), end->pixelPosition())); +} + +/* inherits documentation from base class */ +void QCPItemLine::draw(QCPPainter *painter) +{ + QCPVector2D startVec(start->pixelPosition()); + QCPVector2D endVec(end->pixelPosition()); + if (qFuzzyIsNull((startVec-endVec).lengthSquared())) + return; + // get visible segment of straight line inside clipRect: + double clipPad = qMax(mHead.boundingDistance(), mTail.boundingDistance()); + clipPad = qMax(clipPad, (double)mainPen().widthF()); + QLineF line = getRectClippedLine(startVec, endVec, clipRect().adjusted(-clipPad, -clipPad, clipPad, clipPad)); + // paint visible segment, if existent: + if (!line.isNull()) + { + painter->setPen(mainPen()); + painter->drawLine(line); + painter->setBrush(Qt::SolidPattern); + if (mTail.style() != QCPLineEnding::esNone) + mTail.draw(painter, startVec, startVec-endVec); + if (mHead.style() != QCPLineEnding::esNone) + mHead.draw(painter, endVec, endVec-startVec); + } +} + +/*! \internal + + Returns the section of the line defined by \a start and \a end, that is visible in the specified + \a rect. + + This is a helper function for \ref draw. +*/ +QLineF QCPItemLine::getRectClippedLine(const QCPVector2D &start, const QCPVector2D &end, const QRect &rect) const +{ + bool containsStart = rect.contains(start.x(), start.y()); + bool containsEnd = rect.contains(end.x(), end.y()); + if (containsStart && containsEnd) + return QLineF(start.toPointF(), end.toPointF()); + + QCPVector2D base = start; + QCPVector2D vec = end-start; + double bx, by; + double gamma, mu; + QLineF result; + QList<QCPVector2D> pointVectors; + + if (!qFuzzyIsNull(vec.y())) // line is not horizontal + { + // check top of rect: + bx = rect.left(); + by = rect.top(); + mu = (by-base.y())/vec.y(); + if (mu >= 0 && mu <= 1) + { + gamma = base.x()-bx + mu*vec.x(); + if (gamma >= 0 && gamma <= rect.width()) + pointVectors.append(QCPVector2D(bx+gamma, by)); + } + // check bottom of rect: + bx = rect.left(); + by = rect.bottom(); + mu = (by-base.y())/vec.y(); + if (mu >= 0 && mu <= 1) + { + gamma = base.x()-bx + mu*vec.x(); + if (gamma >= 0 && gamma <= rect.width()) + pointVectors.append(QCPVector2D(bx+gamma, by)); + } + } + if (!qFuzzyIsNull(vec.x())) // line is not vertical + { + // check left of rect: + bx = rect.left(); + by = rect.top(); + mu = (bx-base.x())/vec.x(); + if (mu >= 0 && mu <= 1) + { + gamma = base.y()-by + mu*vec.y(); + if (gamma >= 0 && gamma <= rect.height()) + pointVectors.append(QCPVector2D(bx, by+gamma)); + } + // check right of rect: + bx = rect.right(); + by = rect.top(); + mu = (bx-base.x())/vec.x(); + if (mu >= 0 && mu <= 1) + { + gamma = base.y()-by + mu*vec.y(); + if (gamma >= 0 && gamma <= rect.height()) + pointVectors.append(QCPVector2D(bx, by+gamma)); + } + } + + if (containsStart) + pointVectors.append(start); + if (containsEnd) + pointVectors.append(end); + + // evaluate points: + if (pointVectors.size() == 2) + { + result.setPoints(pointVectors.at(0).toPointF(), pointVectors.at(1).toPointF()); + } else if (pointVectors.size() > 2) + { + // line probably goes through corner of rect, and we got two points there. single out the point pair with greatest distance: + double distSqrMax = 0; + QCPVector2D pv1, pv2; + for (int i=0; i<pointVectors.size()-1; ++i) + { + for (int k=i+1; k<pointVectors.size(); ++k) + { + double distSqr = (pointVectors.at(i)-pointVectors.at(k)).lengthSquared(); + if (distSqr > distSqrMax) + { + pv1 = pointVectors.at(i); + pv2 = pointVectors.at(k); + distSqrMax = distSqr; + } + } + } + result.setPoints(pv1.toPointF(), pv2.toPointF()); + } + return result; +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the + item is not selected and mSelectedPen when it is. +*/ +QPen QCPItemLine::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} +/* end of 'src/items/item-line.cpp' */ + + +/* including file 'src/items/item-curve.cpp', size 7159 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemCurve +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemCurve + \brief A curved line from one point to another + + \image html QCPItemCurve.png "Curve example. Blue dotted circles are anchors, solid blue discs are positions." + + It has four positions, \a start and \a end, which define the end points of the line, and two + control points which define the direction the line exits from the start and the direction from + which it approaches the end: \a startDir and \a endDir. + + With \ref setHead and \ref setTail you may set different line ending styles, e.g. to create an + arrow. + + Often it is desirable for the control points to stay at fixed relative positions to the start/end + point. This can be achieved by setting the parent anchor e.g. of \a startDir simply to \a start, + and then specify the desired pixel offset with QCPItemPosition::setCoords on \a startDir. +*/ + +/*! + Creates a curve item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemCurve::QCPItemCurve(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + start(createPosition(QLatin1String("start"))), + startDir(createPosition(QLatin1String("startDir"))), + endDir(createPosition(QLatin1String("endDir"))), + end(createPosition(QLatin1String("end"))) +{ + start->setCoords(0, 0); + startDir->setCoords(0.5, 0); + endDir->setCoords(0, 0.5); + end->setCoords(1, 1); + + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue,2)); +} + +QCPItemCurve::~QCPItemCurve() +{ +} + +/*! + Sets the pen that will be used to draw the line + + \see setSelectedPen +*/ +void QCPItemCurve::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the line when selected + + \see setPen, setSelected +*/ +void QCPItemCurve::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the line ending style of the head. The head corresponds to the \a end position. + + Note that due to the overloaded QCPLineEnding constructor, you may directly specify + a QCPLineEnding::EndingStyle here, e.g. \code setHead(QCPLineEnding::esSpikeArrow) \endcode + + \see setTail +*/ +void QCPItemCurve::setHead(const QCPLineEnding &head) +{ + mHead = head; +} + +/*! + Sets the line ending style of the tail. The tail corresponds to the \a start position. + + Note that due to the overloaded QCPLineEnding constructor, you may directly specify + a QCPLineEnding::EndingStyle here, e.g. \code setTail(QCPLineEnding::esSpikeArrow) \endcode + + \see setHead +*/ +void QCPItemCurve::setTail(const QCPLineEnding &tail) +{ + mTail = tail; +} + +/* inherits documentation from base class */ +double QCPItemCurve::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + QPointF startVec(start->pixelPosition()); + QPointF startDirVec(startDir->pixelPosition()); + QPointF endDirVec(endDir->pixelPosition()); + QPointF endVec(end->pixelPosition()); + + QPainterPath cubicPath(startVec); + cubicPath.cubicTo(startDirVec, endDirVec, endVec); + + QPolygonF polygon = cubicPath.toSubpathPolygons().first(); + QCPVector2D p(pos); + double minDistSqr = std::numeric_limits<double>::max(); + for (int i=1; i<polygon.size(); ++i) + { + double distSqr = p.distanceSquaredToLine(polygon.at(i-1), polygon.at(i)); + if (distSqr < minDistSqr) + minDistSqr = distSqr; + } + return qSqrt(minDistSqr); +} + +/* inherits documentation from base class */ +void QCPItemCurve::draw(QCPPainter *painter) +{ + QCPVector2D startVec(start->pixelPosition()); + QCPVector2D startDirVec(startDir->pixelPosition()); + QCPVector2D endDirVec(endDir->pixelPosition()); + QCPVector2D endVec(end->pixelPosition()); + if ((endVec-startVec).length() > 1e10) // too large curves cause crash + return; + + QPainterPath cubicPath(startVec.toPointF()); + cubicPath.cubicTo(startDirVec.toPointF(), endDirVec.toPointF(), endVec.toPointF()); + + // paint visible segment, if existent: + QRect clip = clipRect().adjusted(-mainPen().widthF(), -mainPen().widthF(), mainPen().widthF(), mainPen().widthF()); + QRect cubicRect = cubicPath.controlPointRect().toRect(); + if (cubicRect.isEmpty()) // may happen when start and end exactly on same x or y position + cubicRect.adjust(0, 0, 1, 1); + if (clip.intersects(cubicRect)) + { + painter->setPen(mainPen()); + painter->drawPath(cubicPath); + painter->setBrush(Qt::SolidPattern); + if (mTail.style() != QCPLineEnding::esNone) + mTail.draw(painter, startVec, M_PI-cubicPath.angleAtPercent(0)/180.0*M_PI); + if (mHead.style() != QCPLineEnding::esNone) + mHead.draw(painter, endVec, -cubicPath.angleAtPercent(1)/180.0*M_PI); + } +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the + item is not selected and mSelectedPen when it is. +*/ +QPen QCPItemCurve::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} +/* end of 'src/items/item-curve.cpp' */ + + +/* including file 'src/items/item-rect.cpp', size 6479 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemRect +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemRect + \brief A rectangle + + \image html QCPItemRect.png "Rectangle example. Blue dotted circles are anchors, solid blue discs are positions." + + It has two positions, \a topLeft and \a bottomRight, which define the rectangle. +*/ + +/*! + Creates a rectangle item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemRect::QCPItemRect(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + topLeft(createPosition(QLatin1String("topLeft"))), + bottomRight(createPosition(QLatin1String("bottomRight"))), + top(createAnchor(QLatin1String("top"), aiTop)), + topRight(createAnchor(QLatin1String("topRight"), aiTopRight)), + right(createAnchor(QLatin1String("right"), aiRight)), + bottom(createAnchor(QLatin1String("bottom"), aiBottom)), + bottomLeft(createAnchor(QLatin1String("bottomLeft"), aiBottomLeft)), + left(createAnchor(QLatin1String("left"), aiLeft)) +{ + topLeft->setCoords(0, 1); + bottomRight->setCoords(1, 0); + + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue,2)); + setBrush(Qt::NoBrush); + setSelectedBrush(Qt::NoBrush); +} + +QCPItemRect::~QCPItemRect() +{ +} + +/*! + Sets the pen that will be used to draw the line of the rectangle + + \see setSelectedPen, setBrush +*/ +void QCPItemRect::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the line of the rectangle when selected + + \see setPen, setSelected +*/ +void QCPItemRect::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the brush that will be used to fill the rectangle. To disable filling, set \a brush to + Qt::NoBrush. + + \see setSelectedBrush, setPen +*/ +void QCPItemRect::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the brush that will be used to fill the rectangle when selected. To disable filling, set \a + brush to Qt::NoBrush. + + \see setBrush +*/ +void QCPItemRect::setSelectedBrush(const QBrush &brush) +{ + mSelectedBrush = brush; +} + +/* inherits documentation from base class */ +double QCPItemRect::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + QRectF rect = QRectF(topLeft->pixelPosition(), bottomRight->pixelPosition()).normalized(); + bool filledRect = mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0; + return rectDistance(rect, pos, filledRect); +} + +/* inherits documentation from base class */ +void QCPItemRect::draw(QCPPainter *painter) +{ + QPointF p1 = topLeft->pixelPosition(); + QPointF p2 = bottomRight->pixelPosition(); + if (p1.toPoint() == p2.toPoint()) + return; + QRectF rect = QRectF(p1, p2).normalized(); + double clipPad = mainPen().widthF(); + QRectF boundingRect = rect.adjusted(-clipPad, -clipPad, clipPad, clipPad); + if (boundingRect.intersects(clipRect())) // only draw if bounding rect of rect item is visible in cliprect + { + painter->setPen(mainPen()); + painter->setBrush(mainBrush()); + painter->drawRect(rect); + } +} + +/* inherits documentation from base class */ +QPointF QCPItemRect::anchorPixelPosition(int anchorId) const +{ + QRectF rect = QRectF(topLeft->pixelPosition(), bottomRight->pixelPosition()); + switch (anchorId) + { + case aiTop: return (rect.topLeft()+rect.topRight())*0.5; + case aiTopRight: return rect.topRight(); + case aiRight: return (rect.topRight()+rect.bottomRight())*0.5; + case aiBottom: return (rect.bottomLeft()+rect.bottomRight())*0.5; + case aiBottomLeft: return rect.bottomLeft(); + case aiLeft: return (rect.topLeft()+rect.bottomLeft())*0.5; + } + + qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; + return QPointF(); +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected + and mSelectedPen when it is. +*/ +QPen QCPItemRect::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} + +/*! \internal + + Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item + is not selected and mSelectedBrush when it is. +*/ +QBrush QCPItemRect::mainBrush() const +{ + return mSelected ? mSelectedBrush : mBrush; +} +/* end of 'src/items/item-rect.cpp' */ + + +/* including file 'src/items/item-text.cpp', size 13338 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemText +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemText + \brief A text label + + \image html QCPItemText.png "Text example. Blue dotted circles are anchors, solid blue discs are positions." + + Its position is defined by the member \a position and the setting of \ref setPositionAlignment. + The latter controls which part of the text rect shall be aligned with \a position. + + The text alignment itself (i.e. left, center, right) can be controlled with \ref + setTextAlignment. + + The text may be rotated around the \a position point with \ref setRotation. +*/ + +/*! + Creates a text item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemText::QCPItemText(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + position(createPosition(QLatin1String("position"))), + topLeft(createAnchor(QLatin1String("topLeft"), aiTopLeft)), + top(createAnchor(QLatin1String("top"), aiTop)), + topRight(createAnchor(QLatin1String("topRight"), aiTopRight)), + right(createAnchor(QLatin1String("right"), aiRight)), + bottomRight(createAnchor(QLatin1String("bottomRight"), aiBottomRight)), + bottom(createAnchor(QLatin1String("bottom"), aiBottom)), + bottomLeft(createAnchor(QLatin1String("bottomLeft"), aiBottomLeft)), + left(createAnchor(QLatin1String("left"), aiLeft)), + mText(QLatin1String("text")), + mPositionAlignment(Qt::AlignCenter), + mTextAlignment(Qt::AlignTop|Qt::AlignHCenter), + mRotation(0) +{ + position->setCoords(0, 0); + + setPen(Qt::NoPen); + setSelectedPen(Qt::NoPen); + setBrush(Qt::NoBrush); + setSelectedBrush(Qt::NoBrush); + setColor(Qt::black); + setSelectedColor(Qt::blue); +} + +QCPItemText::~QCPItemText() +{ +} + +/*! + Sets the color of the text. +*/ +void QCPItemText::setColor(const QColor &color) +{ + mColor = color; +} + +/*! + Sets the color of the text that will be used when the item is selected. +*/ +void QCPItemText::setSelectedColor(const QColor &color) +{ + mSelectedColor = color; +} + +/*! + Sets the pen that will be used do draw a rectangular border around the text. To disable the + border, set \a pen to Qt::NoPen. + + \see setSelectedPen, setBrush, setPadding +*/ +void QCPItemText::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used do draw a rectangular border around the text, when the item is + selected. To disable the border, set \a pen to Qt::NoPen. + + \see setPen +*/ +void QCPItemText::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the brush that will be used do fill the background of the text. To disable the + background, set \a brush to Qt::NoBrush. + + \see setSelectedBrush, setPen, setPadding +*/ +void QCPItemText::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the brush that will be used do fill the background of the text, when the item is selected. To disable the + background, set \a brush to Qt::NoBrush. + + \see setBrush +*/ +void QCPItemText::setSelectedBrush(const QBrush &brush) +{ + mSelectedBrush = brush; +} + +/*! + Sets the font of the text. + + \see setSelectedFont, setColor +*/ +void QCPItemText::setFont(const QFont &font) +{ + mFont = font; +} + +/*! + Sets the font of the text that will be used when the item is selected. + + \see setFont +*/ +void QCPItemText::setSelectedFont(const QFont &font) +{ + mSelectedFont = font; +} + +/*! + Sets the text that will be displayed. Multi-line texts are supported by inserting a line break + character, e.g. '\n'. + + \see setFont, setColor, setTextAlignment +*/ +void QCPItemText::setText(const QString &text) +{ + mText = text; +} + +/*! + Sets which point of the text rect shall be aligned with \a position. + + Examples: + \li If \a alignment is <tt>Qt::AlignHCenter | Qt::AlignTop</tt>, the text will be positioned such + that the top of the text rect will be horizontally centered on \a position. + \li If \a alignment is <tt>Qt::AlignLeft | Qt::AlignBottom</tt>, \a position will indicate the + bottom left corner of the text rect. + + If you want to control the alignment of (multi-lined) text within the text rect, use \ref + setTextAlignment. +*/ +void QCPItemText::setPositionAlignment(Qt::Alignment alignment) +{ + mPositionAlignment = alignment; +} + +/*! + Controls how (multi-lined) text is aligned inside the text rect (typically Qt::AlignLeft, Qt::AlignCenter or Qt::AlignRight). +*/ +void QCPItemText::setTextAlignment(Qt::Alignment alignment) +{ + mTextAlignment = alignment; +} + +/*! + Sets the angle in degrees by which the text (and the text rectangle, if visible) will be rotated + around \a position. +*/ +void QCPItemText::setRotation(double degrees) +{ + mRotation = degrees; +} + +/*! + Sets the distance between the border of the text rectangle and the text. The appearance (and + visibility) of the text rectangle can be controlled with \ref setPen and \ref setBrush. +*/ +void QCPItemText::setPadding(const QMargins &padding) +{ + mPadding = padding; +} + +/* inherits documentation from base class */ +double QCPItemText::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + // The rect may be rotated, so we transform the actual clicked pos to the rotated + // coordinate system, so we can use the normal rectDistance function for non-rotated rects: + QPointF positionPixels(position->pixelPosition()); + QTransform inputTransform; + inputTransform.translate(positionPixels.x(), positionPixels.y()); + inputTransform.rotate(-mRotation); + inputTransform.translate(-positionPixels.x(), -positionPixels.y()); + QPointF rotatedPos = inputTransform.map(pos); + QFontMetrics fontMetrics(mFont); + QRect textRect = fontMetrics.boundingRect(0, 0, 0, 0, Qt::TextDontClip|mTextAlignment, mText); + QRect textBoxRect = textRect.adjusted(-mPadding.left(), -mPadding.top(), mPadding.right(), mPadding.bottom()); + QPointF textPos = getTextDrawPoint(positionPixels, textBoxRect, mPositionAlignment); + textBoxRect.moveTopLeft(textPos.toPoint()); + + return rectDistance(textBoxRect, rotatedPos, true); +} + +/* inherits documentation from base class */ +void QCPItemText::draw(QCPPainter *painter) +{ + QPointF pos(position->pixelPosition()); + QTransform transform = painter->transform(); + transform.translate(pos.x(), pos.y()); + if (!qFuzzyIsNull(mRotation)) + transform.rotate(mRotation); + painter->setFont(mainFont()); + QRect textRect = painter->fontMetrics().boundingRect(0, 0, 0, 0, Qt::TextDontClip|mTextAlignment, mText); + QRect textBoxRect = textRect.adjusted(-mPadding.left(), -mPadding.top(), mPadding.right(), mPadding.bottom()); + QPointF textPos = getTextDrawPoint(QPointF(0, 0), textBoxRect, mPositionAlignment); // 0, 0 because the transform does the translation + textRect.moveTopLeft(textPos.toPoint()+QPoint(mPadding.left(), mPadding.top())); + textBoxRect.moveTopLeft(textPos.toPoint()); + double clipPad = mainPen().widthF(); + QRect boundingRect = textBoxRect.adjusted(-clipPad, -clipPad, clipPad, clipPad); + if (transform.mapRect(boundingRect).intersects(painter->transform().mapRect(clipRect()))) + { + painter->setTransform(transform); + if ((mainBrush().style() != Qt::NoBrush && mainBrush().color().alpha() != 0) || + (mainPen().style() != Qt::NoPen && mainPen().color().alpha() != 0)) + { + painter->setPen(mainPen()); + painter->setBrush(mainBrush()); + painter->drawRect(textBoxRect); + } + painter->setBrush(Qt::NoBrush); + painter->setPen(QPen(mainColor())); + painter->drawText(textRect, Qt::TextDontClip|mTextAlignment, mText); + } +} + +/* inherits documentation from base class */ +QPointF QCPItemText::anchorPixelPosition(int anchorId) const +{ + // get actual rect points (pretty much copied from draw function): + QPointF pos(position->pixelPosition()); + QTransform transform; + transform.translate(pos.x(), pos.y()); + if (!qFuzzyIsNull(mRotation)) + transform.rotate(mRotation); + QFontMetrics fontMetrics(mainFont()); + QRect textRect = fontMetrics.boundingRect(0, 0, 0, 0, Qt::TextDontClip|mTextAlignment, mText); + QRectF textBoxRect = textRect.adjusted(-mPadding.left(), -mPadding.top(), mPadding.right(), mPadding.bottom()); + QPointF textPos = getTextDrawPoint(QPointF(0, 0), textBoxRect, mPositionAlignment); // 0, 0 because the transform does the translation + textBoxRect.moveTopLeft(textPos.toPoint()); + QPolygonF rectPoly = transform.map(QPolygonF(textBoxRect)); + + switch (anchorId) + { + case aiTopLeft: return rectPoly.at(0); + case aiTop: return (rectPoly.at(0)+rectPoly.at(1))*0.5; + case aiTopRight: return rectPoly.at(1); + case aiRight: return (rectPoly.at(1)+rectPoly.at(2))*0.5; + case aiBottomRight: return rectPoly.at(2); + case aiBottom: return (rectPoly.at(2)+rectPoly.at(3))*0.5; + case aiBottomLeft: return rectPoly.at(3); + case aiLeft: return (rectPoly.at(3)+rectPoly.at(0))*0.5; + } + + qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; + return QPointF(); +} + +/*! \internal + + Returns the point that must be given to the QPainter::drawText function (which expects the top + left point of the text rect), according to the position \a pos, the text bounding box \a rect and + the requested \a positionAlignment. + + For example, if \a positionAlignment is <tt>Qt::AlignLeft | Qt::AlignBottom</tt> the returned point + will be shifted upward by the height of \a rect, starting from \a pos. So if the text is finally + drawn at that point, the lower left corner of the resulting text rect is at \a pos. +*/ +QPointF QCPItemText::getTextDrawPoint(const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const +{ + if (positionAlignment == 0 || positionAlignment == (Qt::AlignLeft|Qt::AlignTop)) + return pos; + + QPointF result = pos; // start at top left + if (positionAlignment.testFlag(Qt::AlignHCenter)) + result.rx() -= rect.width()/2.0; + else if (positionAlignment.testFlag(Qt::AlignRight)) + result.rx() -= rect.width(); + if (positionAlignment.testFlag(Qt::AlignVCenter)) + result.ry() -= rect.height()/2.0; + else if (positionAlignment.testFlag(Qt::AlignBottom)) + result.ry() -= rect.height(); + return result; +} + +/*! \internal + + Returns the font that should be used for drawing text. Returns mFont when the item is not selected + and mSelectedFont when it is. +*/ +QFont QCPItemText::mainFont() const +{ + return mSelected ? mSelectedFont : mFont; +} + +/*! \internal + + Returns the color that should be used for drawing text. Returns mColor when the item is not + selected and mSelectedColor when it is. +*/ +QColor QCPItemText::mainColor() const +{ + return mSelected ? mSelectedColor : mColor; +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected + and mSelectedPen when it is. +*/ +QPen QCPItemText::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} + +/*! \internal + + Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item + is not selected and mSelectedBrush when it is. +*/ +QBrush QCPItemText::mainBrush() const +{ + return mSelected ? mSelectedBrush : mBrush; +} +/* end of 'src/items/item-text.cpp' */ + + +/* including file 'src/items/item-ellipse.cpp', size 7863 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemEllipse +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemEllipse + \brief An ellipse + + \image html QCPItemEllipse.png "Ellipse example. Blue dotted circles are anchors, solid blue discs are positions." + + It has two positions, \a topLeft and \a bottomRight, which define the rect the ellipse will be drawn in. +*/ + +/*! + Creates an ellipse item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemEllipse::QCPItemEllipse(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + topLeft(createPosition(QLatin1String("topLeft"))), + bottomRight(createPosition(QLatin1String("bottomRight"))), + topLeftRim(createAnchor(QLatin1String("topLeftRim"), aiTopLeftRim)), + top(createAnchor(QLatin1String("top"), aiTop)), + topRightRim(createAnchor(QLatin1String("topRightRim"), aiTopRightRim)), + right(createAnchor(QLatin1String("right"), aiRight)), + bottomRightRim(createAnchor(QLatin1String("bottomRightRim"), aiBottomRightRim)), + bottom(createAnchor(QLatin1String("bottom"), aiBottom)), + bottomLeftRim(createAnchor(QLatin1String("bottomLeftRim"), aiBottomLeftRim)), + left(createAnchor(QLatin1String("left"), aiLeft)), + center(createAnchor(QLatin1String("center"), aiCenter)) +{ + topLeft->setCoords(0, 1); + bottomRight->setCoords(1, 0); + + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue, 2)); + setBrush(Qt::NoBrush); + setSelectedBrush(Qt::NoBrush); +} + +QCPItemEllipse::~QCPItemEllipse() +{ +} + +/*! + Sets the pen that will be used to draw the line of the ellipse + + \see setSelectedPen, setBrush +*/ +void QCPItemEllipse::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the line of the ellipse when selected + + \see setPen, setSelected +*/ +void QCPItemEllipse::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the brush that will be used to fill the ellipse. To disable filling, set \a brush to + Qt::NoBrush. + + \see setSelectedBrush, setPen +*/ +void QCPItemEllipse::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the brush that will be used to fill the ellipse when selected. To disable filling, set \a + brush to Qt::NoBrush. + + \see setBrush +*/ +void QCPItemEllipse::setSelectedBrush(const QBrush &brush) +{ + mSelectedBrush = brush; +} + +/* inherits documentation from base class */ +double QCPItemEllipse::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + QPointF p1 = topLeft->pixelPosition(); + QPointF p2 = bottomRight->pixelPosition(); + QPointF center((p1+p2)/2.0); + double a = qAbs(p1.x()-p2.x())/2.0; + double b = qAbs(p1.y()-p2.y())/2.0; + double x = pos.x()-center.x(); + double y = pos.y()-center.y(); + + // distance to border: + double c = 1.0/qSqrt(x*x/(a*a)+y*y/(b*b)); + double result = qAbs(c-1)*qSqrt(x*x+y*y); + // filled ellipse, allow click inside to count as hit: + if (result > mParentPlot->selectionTolerance()*0.99 && mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0) + { + if (x*x/(a*a) + y*y/(b*b) <= 1) + result = mParentPlot->selectionTolerance()*0.99; + } + return result; +} + +/* inherits documentation from base class */ +void QCPItemEllipse::draw(QCPPainter *painter) +{ + QPointF p1 = topLeft->pixelPosition(); + QPointF p2 = bottomRight->pixelPosition(); + if (p1.toPoint() == p2.toPoint()) + return; + QRectF ellipseRect = QRectF(p1, p2).normalized(); + QRect clip = clipRect().adjusted(-mainPen().widthF(), -mainPen().widthF(), mainPen().widthF(), mainPen().widthF()); + if (ellipseRect.intersects(clip)) // only draw if bounding rect of ellipse is visible in cliprect + { + painter->setPen(mainPen()); + painter->setBrush(mainBrush()); +#ifdef __EXCEPTIONS + try // drawEllipse sometimes throws exceptions if ellipse is too big + { +#endif + painter->drawEllipse(ellipseRect); +#ifdef __EXCEPTIONS + } catch (...) + { + qDebug() << Q_FUNC_INFO << "Item too large for memory, setting invisible"; + setVisible(false); + } +#endif + } +} + +/* inherits documentation from base class */ +QPointF QCPItemEllipse::anchorPixelPosition(int anchorId) const +{ + QRectF rect = QRectF(topLeft->pixelPosition(), bottomRight->pixelPosition()); + switch (anchorId) + { + case aiTopLeftRim: return rect.center()+(rect.topLeft()-rect.center())*1/qSqrt(2); + case aiTop: return (rect.topLeft()+rect.topRight())*0.5; + case aiTopRightRim: return rect.center()+(rect.topRight()-rect.center())*1/qSqrt(2); + case aiRight: return (rect.topRight()+rect.bottomRight())*0.5; + case aiBottomRightRim: return rect.center()+(rect.bottomRight()-rect.center())*1/qSqrt(2); + case aiBottom: return (rect.bottomLeft()+rect.bottomRight())*0.5; + case aiBottomLeftRim: return rect.center()+(rect.bottomLeft()-rect.center())*1/qSqrt(2); + case aiLeft: return (rect.topLeft()+rect.bottomLeft())*0.5; + case aiCenter: return (rect.topLeft()+rect.bottomRight())*0.5; + } + + qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; + return QPointF(); +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected + and mSelectedPen when it is. +*/ +QPen QCPItemEllipse::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} + +/*! \internal + + Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item + is not selected and mSelectedBrush when it is. +*/ +QBrush QCPItemEllipse::mainBrush() const +{ + return mSelected ? mSelectedBrush : mBrush; +} +/* end of 'src/items/item-ellipse.cpp' */ + + +/* including file 'src/items/item-pixmap.cpp', size 10615 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemPixmap +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemPixmap + \brief An arbitrary pixmap + + \image html QCPItemPixmap.png "Pixmap example. Blue dotted circles are anchors, solid blue discs are positions." + + It has two positions, \a topLeft and \a bottomRight, which define the rectangle the pixmap will + be drawn in. Depending on the scale setting (\ref setScaled), the pixmap will be either scaled to + fit the rectangle or be drawn aligned to the topLeft position. + + If scaling is enabled and \a topLeft is further to the bottom/right than \a bottomRight (as shown + on the right side of the example image), the pixmap will be flipped in the respective + orientations. +*/ + +/*! + Creates a rectangle item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemPixmap::QCPItemPixmap(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + topLeft(createPosition(QLatin1String("topLeft"))), + bottomRight(createPosition(QLatin1String("bottomRight"))), + top(createAnchor(QLatin1String("top"), aiTop)), + topRight(createAnchor(QLatin1String("topRight"), aiTopRight)), + right(createAnchor(QLatin1String("right"), aiRight)), + bottom(createAnchor(QLatin1String("bottom"), aiBottom)), + bottomLeft(createAnchor(QLatin1String("bottomLeft"), aiBottomLeft)), + left(createAnchor(QLatin1String("left"), aiLeft)), + mScaled(false), + mScaledPixmapInvalidated(true), + mAspectRatioMode(Qt::KeepAspectRatio), + mTransformationMode(Qt::SmoothTransformation) +{ + topLeft->setCoords(0, 1); + bottomRight->setCoords(1, 0); + + setPen(Qt::NoPen); + setSelectedPen(QPen(Qt::blue)); +} + +QCPItemPixmap::~QCPItemPixmap() +{ +} + +/*! + Sets the pixmap that will be displayed. +*/ +void QCPItemPixmap::setPixmap(const QPixmap &pixmap) +{ + mPixmap = pixmap; + mScaledPixmapInvalidated = true; + if (mPixmap.isNull()) + qDebug() << Q_FUNC_INFO << "pixmap is null"; +} + +/*! + Sets whether the pixmap will be scaled to fit the rectangle defined by the \a topLeft and \a + bottomRight positions. +*/ +void QCPItemPixmap::setScaled(bool scaled, Qt::AspectRatioMode aspectRatioMode, Qt::TransformationMode transformationMode) +{ + mScaled = scaled; + mAspectRatioMode = aspectRatioMode; + mTransformationMode = transformationMode; + mScaledPixmapInvalidated = true; +} + +/*! + Sets the pen that will be used to draw a border around the pixmap. + + \see setSelectedPen, setBrush +*/ +void QCPItemPixmap::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw a border around the pixmap when selected + + \see setPen, setSelected +*/ +void QCPItemPixmap::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/* inherits documentation from base class */ +double QCPItemPixmap::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + return rectDistance(getFinalRect(), pos, true); +} + +/* inherits documentation from base class */ +void QCPItemPixmap::draw(QCPPainter *painter) +{ + bool flipHorz = false; + bool flipVert = false; + QRect rect = getFinalRect(&flipHorz, &flipVert); + double clipPad = mainPen().style() == Qt::NoPen ? 0 : mainPen().widthF(); + QRect boundingRect = rect.adjusted(-clipPad, -clipPad, clipPad, clipPad); + if (boundingRect.intersects(clipRect())) + { + updateScaledPixmap(rect, flipHorz, flipVert); + painter->drawPixmap(rect.topLeft(), mScaled ? mScaledPixmap : mPixmap); + QPen pen = mainPen(); + if (pen.style() != Qt::NoPen) + { + painter->setPen(pen); + painter->setBrush(Qt::NoBrush); + painter->drawRect(rect); + } + } +} + +/* inherits documentation from base class */ +QPointF QCPItemPixmap::anchorPixelPosition(int anchorId) const +{ + bool flipHorz; + bool flipVert; + QRect rect = getFinalRect(&flipHorz, &flipVert); + // we actually want denormal rects (negative width/height) here, so restore + // the flipped state: + if (flipHorz) + rect.adjust(rect.width(), 0, -rect.width(), 0); + if (flipVert) + rect.adjust(0, rect.height(), 0, -rect.height()); + + switch (anchorId) + { + case aiTop: return (rect.topLeft()+rect.topRight())*0.5; + case aiTopRight: return rect.topRight(); + case aiRight: return (rect.topRight()+rect.bottomRight())*0.5; + case aiBottom: return (rect.bottomLeft()+rect.bottomRight())*0.5; + case aiBottomLeft: return rect.bottomLeft(); + case aiLeft: return (rect.topLeft()+rect.bottomLeft())*0.5;; + } + + qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; + return QPointF(); +} + +/*! \internal + + Creates the buffered scaled image (\a mScaledPixmap) to fit the specified \a finalRect. The + parameters \a flipHorz and \a flipVert control whether the resulting image shall be flipped + horizontally or vertically. (This is used when \a topLeft is further to the bottom/right than \a + bottomRight.) + + This function only creates the scaled pixmap when the buffered pixmap has a different size than + the expected result, so calling this function repeatedly, e.g. in the \ref draw function, does + not cause expensive rescaling every time. + + If scaling is disabled, sets mScaledPixmap to a null QPixmap. +*/ +void QCPItemPixmap::updateScaledPixmap(QRect finalRect, bool flipHorz, bool flipVert) +{ + if (mPixmap.isNull()) + return; + + if (mScaled) + { +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + double devicePixelRatio = mPixmap.devicePixelRatio(); +#else + double devicePixelRatio = 1.0; +#endif + if (finalRect.isNull()) + finalRect = getFinalRect(&flipHorz, &flipVert); + if (mScaledPixmapInvalidated || finalRect.size() != mScaledPixmap.size()/devicePixelRatio) + { + mScaledPixmap = mPixmap.scaled(finalRect.size()*devicePixelRatio, mAspectRatioMode, mTransformationMode); + if (flipHorz || flipVert) + mScaledPixmap = QPixmap::fromImage(mScaledPixmap.toImage().mirrored(flipHorz, flipVert)); +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + mScaledPixmap.setDevicePixelRatio(devicePixelRatio); +#endif + } + } else if (!mScaledPixmap.isNull()) + mScaledPixmap = QPixmap(); + mScaledPixmapInvalidated = false; +} + +/*! \internal + + Returns the final (tight) rect the pixmap is drawn in, depending on the current item positions + and scaling settings. + + The output parameters \a flippedHorz and \a flippedVert return whether the pixmap should be drawn + flipped horizontally or vertically in the returned rect. (The returned rect itself is always + normalized, i.e. the top left corner of the rect is actually further to the top/left than the + bottom right corner). This is the case when the item position \a topLeft is further to the + bottom/right than \a bottomRight. + + If scaling is disabled, returns a rect with size of the original pixmap and the top left corner + aligned with the item position \a topLeft. The position \a bottomRight is ignored. +*/ +QRect QCPItemPixmap::getFinalRect(bool *flippedHorz, bool *flippedVert) const +{ + QRect result; + bool flipHorz = false; + bool flipVert = false; + QPoint p1 = topLeft->pixelPosition().toPoint(); + QPoint p2 = bottomRight->pixelPosition().toPoint(); + if (p1 == p2) + return QRect(p1, QSize(0, 0)); + if (mScaled) + { + QSize newSize = QSize(p2.x()-p1.x(), p2.y()-p1.y()); + QPoint topLeft = p1; + if (newSize.width() < 0) + { + flipHorz = true; + newSize.rwidth() *= -1; + topLeft.setX(p2.x()); + } + if (newSize.height() < 0) + { + flipVert = true; + newSize.rheight() *= -1; + topLeft.setY(p2.y()); + } + QSize scaledSize = mPixmap.size(); +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + scaledSize /= mPixmap.devicePixelRatio(); + scaledSize.scale(newSize*mPixmap.devicePixelRatio(), mAspectRatioMode); +#else + scaledSize.scale(newSize, mAspectRatioMode); +#endif + result = QRect(topLeft, scaledSize); + } else + { +#ifdef QCP_DEVICEPIXELRATIO_SUPPORTED + result = QRect(p1, mPixmap.size()/mPixmap.devicePixelRatio()); +#else + result = QRect(p1, mPixmap.size()); +#endif + } + if (flippedHorz) + *flippedHorz = flipHorz; + if (flippedVert) + *flippedVert = flipVert; + return result; +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected + and mSelectedPen when it is. +*/ +QPen QCPItemPixmap::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} +/* end of 'src/items/item-pixmap.cpp' */ + + +/* including file 'src/items/item-tracer.cpp', size 14624 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemTracer +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemTracer + \brief Item that sticks to QCPGraph data points + + \image html QCPItemTracer.png "Tracer example. Blue dotted circles are anchors, solid blue discs are positions." + + The tracer can be connected with a QCPGraph via \ref setGraph. Then it will automatically adopt + the coordinate axes of the graph and update its \a position to be on the graph's data. This means + the key stays controllable via \ref setGraphKey, but the value will follow the graph data. If a + QCPGraph is connected, note that setting the coordinates of the tracer item directly via \a + position will have no effect because they will be overriden in the next redraw (this is when the + coordinate update happens). + + If the specified key in \ref setGraphKey is outside the key bounds of the graph, the tracer will + stay at the corresponding end of the graph. + + With \ref setInterpolating you may specify whether the tracer may only stay exactly on data + points or whether it interpolates data points linearly, if given a key that lies between two data + points of the graph. + + The tracer has different visual styles, see \ref setStyle. It is also possible to make the tracer + have no own visual appearance (set the style to \ref tsNone), and just connect other item + positions to the tracer \a position (used as an anchor) via \ref + QCPItemPosition::setParentAnchor. + + \note The tracer position is only automatically updated upon redraws. So when the data of the + graph changes and immediately afterwards (without a redraw) the position coordinates of the + tracer are retrieved, they will not reflect the updated data of the graph. In this case \ref + updatePosition must be called manually, prior to reading the tracer coordinates. +*/ + +/*! + Creates a tracer item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemTracer::QCPItemTracer(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + position(createPosition(QLatin1String("position"))), + mSize(6), + mStyle(tsCrosshair), + mGraph(0), + mGraphKey(0), + mInterpolating(false) +{ + position->setCoords(0, 0); + + setBrush(Qt::NoBrush); + setSelectedBrush(Qt::NoBrush); + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue, 2)); +} + +QCPItemTracer::~QCPItemTracer() +{ +} + +/*! + Sets the pen that will be used to draw the line of the tracer + + \see setSelectedPen, setBrush +*/ +void QCPItemTracer::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the line of the tracer when selected + + \see setPen, setSelected +*/ +void QCPItemTracer::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the brush that will be used to draw any fills of the tracer + + \see setSelectedBrush, setPen +*/ +void QCPItemTracer::setBrush(const QBrush &brush) +{ + mBrush = brush; +} + +/*! + Sets the brush that will be used to draw any fills of the tracer, when selected. + + \see setBrush, setSelected +*/ +void QCPItemTracer::setSelectedBrush(const QBrush &brush) +{ + mSelectedBrush = brush; +} + +/*! + Sets the size of the tracer in pixels, if the style supports setting a size (e.g. \ref tsSquare + does, \ref tsCrosshair does not). +*/ +void QCPItemTracer::setSize(double size) +{ + mSize = size; +} + +/*! + Sets the style/visual appearance of the tracer. + + If you only want to use the tracer \a position as an anchor for other items, set \a style to + \ref tsNone. +*/ +void QCPItemTracer::setStyle(QCPItemTracer::TracerStyle style) +{ + mStyle = style; +} + +/*! + Sets the QCPGraph this tracer sticks to. The tracer \a position will be set to type + QCPItemPosition::ptPlotCoords and the axes will be set to the axes of \a graph. + + To free the tracer from any graph, set \a graph to 0. The tracer \a position can then be placed + freely like any other item position. This is the state the tracer will assume when its graph gets + deleted while still attached to it. + + \see setGraphKey +*/ +void QCPItemTracer::setGraph(QCPGraph *graph) +{ + if (graph) + { + if (graph->parentPlot() == mParentPlot) + { + position->setType(QCPItemPosition::ptPlotCoords); + position->setAxes(graph->keyAxis(), graph->valueAxis()); + mGraph = graph; + updatePosition(); + } else + qDebug() << Q_FUNC_INFO << "graph isn't in same QCustomPlot instance as this item"; + } else + { + mGraph = 0; + } +} + +/*! + Sets the key of the graph's data point the tracer will be positioned at. This is the only free + coordinate of a tracer when attached to a graph. + + Depending on \ref setInterpolating, the tracer will be either positioned on the data point + closest to \a key, or will stay exactly at \a key and interpolate the value linearly. + + \see setGraph, setInterpolating +*/ +void QCPItemTracer::setGraphKey(double key) +{ + mGraphKey = key; +} + +/*! + Sets whether the value of the graph's data points shall be interpolated, when positioning the + tracer. + + If \a enabled is set to false and a key is given with \ref setGraphKey, the tracer is placed on + the data point of the graph which is closest to the key, but which is not necessarily exactly + there. If \a enabled is true, the tracer will be positioned exactly at the specified key, and + the appropriate value will be interpolated from the graph's data points linearly. + + \see setGraph, setGraphKey +*/ +void QCPItemTracer::setInterpolating(bool enabled) +{ + mInterpolating = enabled; +} + +/* inherits documentation from base class */ +double QCPItemTracer::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + QPointF center(position->pixelPosition()); + double w = mSize/2.0; + QRect clip = clipRect(); + switch (mStyle) + { + case tsNone: return -1; + case tsPlus: + { + if (clipRect().intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) + return qSqrt(qMin(QCPVector2D(pos).distanceSquaredToLine(center+QPointF(-w, 0), center+QPointF(w, 0)), + QCPVector2D(pos).distanceSquaredToLine(center+QPointF(0, -w), center+QPointF(0, w)))); + break; + } + case tsCrosshair: + { + return qSqrt(qMin(QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(clip.left(), center.y()), QCPVector2D(clip.right(), center.y())), + QCPVector2D(pos).distanceSquaredToLine(QCPVector2D(center.x(), clip.top()), QCPVector2D(center.x(), clip.bottom())))); + } + case tsCircle: + { + if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) + { + // distance to border: + double centerDist = QCPVector2D(center-pos).length(); + double circleLine = w; + double result = qAbs(centerDist-circleLine); + // filled ellipse, allow click inside to count as hit: + if (result > mParentPlot->selectionTolerance()*0.99 && mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0) + { + if (centerDist <= circleLine) + result = mParentPlot->selectionTolerance()*0.99; + } + return result; + } + break; + } + case tsSquare: + { + if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) + { + QRectF rect = QRectF(center-QPointF(w, w), center+QPointF(w, w)); + bool filledRect = mBrush.style() != Qt::NoBrush && mBrush.color().alpha() != 0; + return rectDistance(rect, pos, filledRect); + } + break; + } + } + return -1; +} + +/* inherits documentation from base class */ +void QCPItemTracer::draw(QCPPainter *painter) +{ + updatePosition(); + if (mStyle == tsNone) + return; + + painter->setPen(mainPen()); + painter->setBrush(mainBrush()); + QPointF center(position->pixelPosition()); + double w = mSize/2.0; + QRect clip = clipRect(); + switch (mStyle) + { + case tsNone: return; + case tsPlus: + { + if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) + { + painter->drawLine(QLineF(center+QPointF(-w, 0), center+QPointF(w, 0))); + painter->drawLine(QLineF(center+QPointF(0, -w), center+QPointF(0, w))); + } + break; + } + case tsCrosshair: + { + if (center.y() > clip.top() && center.y() < clip.bottom()) + painter->drawLine(QLineF(clip.left(), center.y(), clip.right(), center.y())); + if (center.x() > clip.left() && center.x() < clip.right()) + painter->drawLine(QLineF(center.x(), clip.top(), center.x(), clip.bottom())); + break; + } + case tsCircle: + { + if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) + painter->drawEllipse(center, w, w); + break; + } + case tsSquare: + { + if (clip.intersects(QRectF(center-QPointF(w, w), center+QPointF(w, w)).toRect())) + painter->drawRect(QRectF(center-QPointF(w, w), center+QPointF(w, w))); + break; + } + } +} + +/*! + If the tracer is connected with a graph (\ref setGraph), this function updates the tracer's \a + position to reside on the graph data, depending on the configured key (\ref setGraphKey). + + It is called automatically on every redraw and normally doesn't need to be called manually. One + exception is when you want to read the tracer coordinates via \a position and are not sure that + the graph's data (or the tracer key with \ref setGraphKey) hasn't changed since the last redraw. + In that situation, call this function before accessing \a position, to make sure you don't get + out-of-date coordinates. + + If there is no graph set on this tracer, this function does nothing. +*/ +void QCPItemTracer::updatePosition() +{ + if (mGraph) + { + if (mParentPlot->hasPlottable(mGraph)) + { + if (mGraph->data()->size() > 1) + { + QCPGraphDataContainer::const_iterator first = mGraph->data()->constBegin(); + QCPGraphDataContainer::const_iterator last = mGraph->data()->constEnd()-1; + if (mGraphKey <= first->key) + position->setCoords(first->key, first->value); + else if (mGraphKey >= last->key) + position->setCoords(last->key, last->value); + else + { + QCPGraphDataContainer::const_iterator it = mGraph->data()->findBegin(mGraphKey); + if (it != mGraph->data()->constEnd()) // mGraphKey is not exactly on last iterator, but somewhere between iterators + { + QCPGraphDataContainer::const_iterator prevIt = it; + ++it; // won't advance to constEnd because we handled that case (mGraphKey >= last->key) before + if (mInterpolating) + { + // interpolate between iterators around mGraphKey: + double slope = 0; + if (!qFuzzyCompare((double)it->key, (double)prevIt->key)) + slope = (it->value-prevIt->value)/(it->key-prevIt->key); + position->setCoords(mGraphKey, (mGraphKey-prevIt->key)*slope+prevIt->value); + } else + { + // find iterator with key closest to mGraphKey: + if (mGraphKey < (prevIt->key+it->key)*0.5) + position->setCoords(prevIt->key, prevIt->value); + else + position->setCoords(it->key, it->value); + } + } else // mGraphKey is exactly on last iterator (should actually be caught when comparing first/last keys, but this is a failsafe for fp uncertainty) + position->setCoords(it->key, it->value); + } + } else if (mGraph->data()->size() == 1) + { + QCPGraphDataContainer::const_iterator it = mGraph->data()->constBegin(); + position->setCoords(it->key, it->value); + } else + qDebug() << Q_FUNC_INFO << "graph has no data"; + } else + qDebug() << Q_FUNC_INFO << "graph not contained in QCustomPlot instance (anymore)"; + } +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the item is not selected + and mSelectedPen when it is. +*/ +QPen QCPItemTracer::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} + +/*! \internal + + Returns the brush that should be used for drawing fills of the item. Returns mBrush when the item + is not selected and mSelectedBrush when it is. +*/ +QBrush QCPItemTracer::mainBrush() const +{ + return mSelected ? mSelectedBrush : mBrush; +} +/* end of 'src/items/item-tracer.cpp' */ + + +/* including file 'src/items/item-bracket.cpp', size 10687 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPItemBracket +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPItemBracket + \brief A bracket for referencing/highlighting certain parts in the plot. + + \image html QCPItemBracket.png "Bracket example. Blue dotted circles are anchors, solid blue discs are positions." + + It has two positions, \a left and \a right, which define the span of the bracket. If \a left is + actually farther to the left than \a right, the bracket is opened to the bottom, as shown in the + example image. + + The bracket supports multiple styles via \ref setStyle. The length, i.e. how far the bracket + stretches away from the embraced span, can be controlled with \ref setLength. + + \image html QCPItemBracket-length.png + <center>Demonstrating the effect of different values for \ref setLength, for styles \ref + bsCalligraphic and \ref bsSquare. Anchors and positions are displayed for reference.</center> + + It provides an anchor \a center, to allow connection of other items, e.g. an arrow (QCPItemLine + or QCPItemCurve) or a text label (QCPItemText), to the bracket. +*/ + +/*! + Creates a bracket item and sets default values. + + The created item is automatically registered with \a parentPlot. This QCustomPlot instance takes + ownership of the item, so do not delete it manually but use QCustomPlot::removeItem() instead. +*/ +QCPItemBracket::QCPItemBracket(QCustomPlot *parentPlot) : + QCPAbstractItem(parentPlot), + left(createPosition(QLatin1String("left"))), + right(createPosition(QLatin1String("right"))), + center(createAnchor(QLatin1String("center"), aiCenter)), + mLength(8), + mStyle(bsCalligraphic) +{ + left->setCoords(0, 0); + right->setCoords(1, 1); + + setPen(QPen(Qt::black)); + setSelectedPen(QPen(Qt::blue, 2)); +} + +QCPItemBracket::~QCPItemBracket() +{ +} + +/*! + Sets the pen that will be used to draw the bracket. + + Note that when the style is \ref bsCalligraphic, only the color will be taken from the pen, the + stroke and width are ignored. To change the apparent stroke width of a calligraphic bracket, use + \ref setLength, which has a similar effect. + + \see setSelectedPen +*/ +void QCPItemBracket::setPen(const QPen &pen) +{ + mPen = pen; +} + +/*! + Sets the pen that will be used to draw the bracket when selected + + \see setPen, setSelected +*/ +void QCPItemBracket::setSelectedPen(const QPen &pen) +{ + mSelectedPen = pen; +} + +/*! + Sets the \a length in pixels how far the bracket extends in the direction towards the embraced + span of the bracket (i.e. perpendicular to the <i>left</i>-<i>right</i>-direction) + + \image html QCPItemBracket-length.png + <center>Demonstrating the effect of different values for \ref setLength, for styles \ref + bsCalligraphic and \ref bsSquare. Anchors and positions are displayed for reference.</center> +*/ +void QCPItemBracket::setLength(double length) +{ + mLength = length; +} + +/*! + Sets the style of the bracket, i.e. the shape/visual appearance. + + \see setPen +*/ +void QCPItemBracket::setStyle(QCPItemBracket::BracketStyle style) +{ + mStyle = style; +} + +/* inherits documentation from base class */ +double QCPItemBracket::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + Q_UNUSED(details) + if (onlySelectable && !mSelectable) + return -1; + + QCPVector2D p(pos); + QCPVector2D leftVec(left->pixelPosition()); + QCPVector2D rightVec(right->pixelPosition()); + if (leftVec.toPoint() == rightVec.toPoint()) + return -1; + + QCPVector2D widthVec = (rightVec-leftVec)*0.5; + QCPVector2D lengthVec = widthVec.perpendicular().normalized()*mLength; + QCPVector2D centerVec = (rightVec+leftVec)*0.5-lengthVec; + + switch (mStyle) + { + case QCPItemBracket::bsSquare: + case QCPItemBracket::bsRound: + { + double a = p.distanceSquaredToLine(centerVec-widthVec, centerVec+widthVec); + double b = p.distanceSquaredToLine(centerVec-widthVec+lengthVec, centerVec-widthVec); + double c = p.distanceSquaredToLine(centerVec+widthVec+lengthVec, centerVec+widthVec); + return qSqrt(qMin(qMin(a, b), c)); + } + case QCPItemBracket::bsCurly: + case QCPItemBracket::bsCalligraphic: + { + double a = p.distanceSquaredToLine(centerVec-widthVec*0.75+lengthVec*0.15, centerVec+lengthVec*0.3); + double b = p.distanceSquaredToLine(centerVec-widthVec+lengthVec*0.7, centerVec-widthVec*0.75+lengthVec*0.15); + double c = p.distanceSquaredToLine(centerVec+widthVec*0.75+lengthVec*0.15, centerVec+lengthVec*0.3); + double d = p.distanceSquaredToLine(centerVec+widthVec+lengthVec*0.7, centerVec+widthVec*0.75+lengthVec*0.15); + return qSqrt(qMin(qMin(a, b), qMin(c, d))); + } + } + return -1; +} + +/* inherits documentation from base class */ +void QCPItemBracket::draw(QCPPainter *painter) +{ + QCPVector2D leftVec(left->pixelPosition()); + QCPVector2D rightVec(right->pixelPosition()); + if (leftVec.toPoint() == rightVec.toPoint()) + return; + + QCPVector2D widthVec = (rightVec-leftVec)*0.5; + QCPVector2D lengthVec = widthVec.perpendicular().normalized()*mLength; + QCPVector2D centerVec = (rightVec+leftVec)*0.5-lengthVec; + + QPolygon boundingPoly; + boundingPoly << leftVec.toPoint() << rightVec.toPoint() + << (rightVec-lengthVec).toPoint() << (leftVec-lengthVec).toPoint(); + QRect clip = clipRect().adjusted(-mainPen().widthF(), -mainPen().widthF(), mainPen().widthF(), mainPen().widthF()); + if (clip.intersects(boundingPoly.boundingRect())) + { + painter->setPen(mainPen()); + switch (mStyle) + { + case bsSquare: + { + painter->drawLine((centerVec+widthVec).toPointF(), (centerVec-widthVec).toPointF()); + painter->drawLine((centerVec+widthVec).toPointF(), (centerVec+widthVec+lengthVec).toPointF()); + painter->drawLine((centerVec-widthVec).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); + break; + } + case bsRound: + { + painter->setBrush(Qt::NoBrush); + QPainterPath path; + path.moveTo((centerVec+widthVec+lengthVec).toPointF()); + path.cubicTo((centerVec+widthVec).toPointF(), (centerVec+widthVec).toPointF(), centerVec.toPointF()); + path.cubicTo((centerVec-widthVec).toPointF(), (centerVec-widthVec).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); + painter->drawPath(path); + break; + } + case bsCurly: + { + painter->setBrush(Qt::NoBrush); + QPainterPath path; + path.moveTo((centerVec+widthVec+lengthVec).toPointF()); + path.cubicTo((centerVec+widthVec-lengthVec*0.8).toPointF(), (centerVec+0.4*widthVec+lengthVec).toPointF(), centerVec.toPointF()); + path.cubicTo((centerVec-0.4*widthVec+lengthVec).toPointF(), (centerVec-widthVec-lengthVec*0.8).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); + painter->drawPath(path); + break; + } + case bsCalligraphic: + { + painter->setPen(Qt::NoPen); + painter->setBrush(QBrush(mainPen().color())); + QPainterPath path; + path.moveTo((centerVec+widthVec+lengthVec).toPointF()); + + path.cubicTo((centerVec+widthVec-lengthVec*0.8).toPointF(), (centerVec+0.4*widthVec+0.8*lengthVec).toPointF(), centerVec.toPointF()); + path.cubicTo((centerVec-0.4*widthVec+0.8*lengthVec).toPointF(), (centerVec-widthVec-lengthVec*0.8).toPointF(), (centerVec-widthVec+lengthVec).toPointF()); + + path.cubicTo((centerVec-widthVec-lengthVec*0.5).toPointF(), (centerVec-0.2*widthVec+1.2*lengthVec).toPointF(), (centerVec+lengthVec*0.2).toPointF()); + path.cubicTo((centerVec+0.2*widthVec+1.2*lengthVec).toPointF(), (centerVec+widthVec-lengthVec*0.5).toPointF(), (centerVec+widthVec+lengthVec).toPointF()); + + painter->drawPath(path); + break; + } + } + } +} + +/* inherits documentation from base class */ +QPointF QCPItemBracket::anchorPixelPosition(int anchorId) const +{ + QCPVector2D leftVec(left->pixelPosition()); + QCPVector2D rightVec(right->pixelPosition()); + if (leftVec.toPoint() == rightVec.toPoint()) + return leftVec.toPointF(); + + QCPVector2D widthVec = (rightVec-leftVec)*0.5; + QCPVector2D lengthVec = widthVec.perpendicular().normalized()*mLength; + QCPVector2D centerVec = (rightVec+leftVec)*0.5-lengthVec; + + switch (anchorId) + { + case aiCenter: + return centerVec.toPointF(); + } + qDebug() << Q_FUNC_INFO << "invalid anchorId" << anchorId; + return QPointF(); +} + +/*! \internal + + Returns the pen that should be used for drawing lines. Returns mPen when the + item is not selected and mSelectedPen when it is. +*/ +QPen QCPItemBracket::mainPen() const +{ + return mSelected ? mSelectedPen : mPen; +} +/* end of 'src/items/item-bracket.cpp' */ + + diff --git a/widgets/qcustomplot.h b/widgets/qcustomplot.h new file mode 100644 index 0000000..76f308b --- /dev/null +++ b/widgets/qcustomplot.h @@ -0,0 +1,6659 @@ +/*************************************************************************** +** ** +** QCustomPlot, an easy to use, modern plotting widget for Qt ** +** Copyright (C) 2011-2017 Emanuel Eichhammer ** +** ** +** This program is free software: you can redistribute it and/or modify ** +** it under the terms of the GNU General Public License as published by ** +** the Free Software Foundation, either version 3 of the License, or ** +** (at your option) any later version. ** +** ** +** This program is distributed in the hope that it will be useful, ** +** but WITHOUT ANY WARRANTY; without even the implied warranty of ** +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** +** GNU General Public License for more details. ** +** ** +** You should have received a copy of the GNU General Public License ** +** along with this program. If not, see http://www.gnu.org/licenses/. ** +** ** +**************************************************************************** +** Author: Emanuel Eichhammer ** +** Website/Contact: http://www.qcustomplot.com/ ** +** Date: 04.09.17 ** +** Version: 2.0.0 ** +****************************************************************************/ + +#ifndef QCUSTOMPLOT_H +#define QCUSTOMPLOT_H + +#include <QtCore/qglobal.h> + +// some Qt version/configuration dependent macros to include or exclude certain code paths: +#ifdef QCUSTOMPLOT_USE_OPENGL +# if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) +# define QCP_OPENGL_PBUFFER +# else +# define QCP_OPENGL_FBO +# endif +# if QT_VERSION >= QT_VERSION_CHECK(5, 3, 0) +# define QCP_OPENGL_OFFSCREENSURFACE +# endif +#endif + +// Devicepixelratio slows down the plot significantly, so disable it for now. +//#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) +//# define QCP_DEVICEPIXELRATIO_SUPPORTED +//# if QT_VERSION >= QT_VERSION_CHECK(5, 6, 0) +//# define QCP_DEVICEPIXELRATIO_FLOAT +//# endif +//#endif + +#include <QtCore/QObject> +#include <QtCore/QPointer> +#include <QtCore/QSharedPointer> +#include <QtCore/QTimer> +#include <QtGui/QPainter> +#include <QtGui/QPaintEvent> +#include <QtGui/QMouseEvent> +#include <QtGui/QWheelEvent> +#include <QtGui/QPixmap> +#include <QtCore/QVector> +#include <QtCore/QString> +#include <QtCore/QDateTime> +#include <QtCore/QMultiMap> +#include <QtCore/QFlags> +#include <QtCore/QDebug> +#include <QtCore/QStack> +#include <QtCore/QCache> +#include <QtCore/QMargins> +#include <qmath.h> +#include <limits> +#include <algorithm> +#ifdef QCP_OPENGL_FBO +# include <QtGui/QOpenGLContext> +# include <QtGui/QOpenGLFramebufferObject> +# ifdef QCP_OPENGL_OFFSCREENSURFACE +# include <QtGui/QOffscreenSurface> +# else +# include <QtGui/QWindow> +# endif +#endif +#ifdef QCP_OPENGL_PBUFFER +# include <QtOpenGL/QGLPixelBuffer> +#endif +#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0) +# include <qnumeric.h> +# include <QtGui/QWidget> +# include <QtGui/QPrinter> +# include <QtGui/QPrintEngine> +#else +# include <QtNumeric> +# include <QtWidgets/QWidget> +# include <QtPrintSupport/QtPrintSupport> +#endif + +class QCPPainter; +class QCustomPlot; +class QCPLayerable; +class QCPLayoutElement; +class QCPLayout; +class QCPAxis; +class QCPAxisRect; +class QCPAxisPainterPrivate; +class QCPAbstractPlottable; +class QCPGraph; +class QCPAbstractItem; +class QCPPlottableInterface1D; +class QCPLegend; +class QCPItemPosition; +class QCPLayer; +class QCPAbstractLegendItem; +class QCPSelectionRect; +class QCPColorMap; +class QCPColorScale; +class QCPBars; + +/* including file 'src/global.h', size 16225 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +// decl definitions for shared library compilation/usage: +#if defined(QCUSTOMPLOT_COMPILE_LIBRARY) +# define QCP_LIB_DECL Q_DECL_EXPORT +#elif defined(QCUSTOMPLOT_USE_LIBRARY) +# define QCP_LIB_DECL Q_DECL_IMPORT +#else +# define QCP_LIB_DECL +#endif + +// define empty macro for Q_DECL_OVERRIDE if it doesn't exist (Qt < 5) +#ifndef Q_DECL_OVERRIDE +# define Q_DECL_OVERRIDE +#endif + +/*! + The QCP Namespace contains general enums, QFlags and functions used throughout the QCustomPlot + library. + + It provides QMetaObject-based reflection of its enums and flags via \a QCP::staticMetaObject. +*/ +#ifndef Q_MOC_RUN +namespace QCP { +#else +class QCP { // when in moc-run, make it look like a class, so we get Q_GADGET, Q_ENUMS/Q_FLAGS features in namespace + Q_GADGET + Q_ENUMS(ExportPen) + Q_ENUMS(ResolutionUnit) + Q_ENUMS(SignDomain) + Q_ENUMS(MarginSide) + Q_FLAGS(MarginSides) + Q_ENUMS(AntialiasedElement) + Q_FLAGS(AntialiasedElements) + Q_ENUMS(PlottingHint) + Q_FLAGS(PlottingHints) + Q_ENUMS(Interaction) + Q_FLAGS(Interactions) + Q_ENUMS(SelectionRectMode) + Q_ENUMS(SelectionType) +public: +#endif + +/*! + Defines the different units in which the image resolution can be specified in the export + functions. + + \see QCustomPlot::savePng, QCustomPlot::saveJpg, QCustomPlot::saveBmp, QCustomPlot::saveRastered +*/ +enum ResolutionUnit { ruDotsPerMeter ///< Resolution is given in dots per meter (dpm) + ,ruDotsPerCentimeter ///< Resolution is given in dots per centimeter (dpcm) + ,ruDotsPerInch ///< Resolution is given in dots per inch (DPI/PPI) + }; + +/*! + Defines how cosmetic pens (pens with numerical width 0) are handled during export. + + \see QCustomPlot::savePdf +*/ +enum ExportPen { epNoCosmetic ///< Cosmetic pens are converted to pens with pixel width 1 when exporting + ,epAllowCosmetic ///< Cosmetic pens are exported normally (e.g. in PDF exports, cosmetic pens always appear as 1 pixel on screen, independent of viewer zoom level) + }; + +/*! + Represents negative and positive sign domain, e.g. for passing to \ref + QCPAbstractPlottable::getKeyRange and \ref QCPAbstractPlottable::getValueRange. + + This is primarily needed when working with logarithmic axis scales, since only one of the sign + domains can be visible at a time. +*/ +enum SignDomain { sdNegative ///< The negative sign domain, i.e. numbers smaller than zero + ,sdBoth ///< Both sign domains, including zero, i.e. all numbers + ,sdPositive ///< The positive sign domain, i.e. numbers greater than zero + }; + +/*! + Defines the sides of a rectangular entity to which margins can be applied. + + \see QCPLayoutElement::setAutoMargins, QCPAxisRect::setAutoMargins +*/ +enum MarginSide { msLeft = 0x01 ///< <tt>0x01</tt> left margin + ,msRight = 0x02 ///< <tt>0x02</tt> right margin + ,msTop = 0x04 ///< <tt>0x04</tt> top margin + ,msBottom = 0x08 ///< <tt>0x08</tt> bottom margin + ,msAll = 0xFF ///< <tt>0xFF</tt> all margins + ,msNone = 0x00 ///< <tt>0x00</tt> no margin + }; +Q_DECLARE_FLAGS(MarginSides, MarginSide) + +/*! + Defines what objects of a plot can be forcibly drawn antialiased/not antialiased. If an object is + neither forcibly drawn antialiased nor forcibly drawn not antialiased, it is up to the respective + element how it is drawn. Typically it provides a \a setAntialiased function for this. + + \c AntialiasedElements is a flag of or-combined elements of this enum type. + + \see QCustomPlot::setAntialiasedElements, QCustomPlot::setNotAntialiasedElements +*/ +enum AntialiasedElement { aeAxes = 0x0001 ///< <tt>0x0001</tt> Axis base line and tick marks + ,aeGrid = 0x0002 ///< <tt>0x0002</tt> Grid lines + ,aeSubGrid = 0x0004 ///< <tt>0x0004</tt> Sub grid lines + ,aeLegend = 0x0008 ///< <tt>0x0008</tt> Legend box + ,aeLegendItems = 0x0010 ///< <tt>0x0010</tt> Legend items + ,aePlottables = 0x0020 ///< <tt>0x0020</tt> Main lines of plottables + ,aeItems = 0x0040 ///< <tt>0x0040</tt> Main lines of items + ,aeScatters = 0x0080 ///< <tt>0x0080</tt> Scatter symbols of plottables (excluding scatter symbols of type ssPixmap) + ,aeFills = 0x0100 ///< <tt>0x0100</tt> Borders of fills (e.g. under or between graphs) + ,aeZeroLine = 0x0200 ///< <tt>0x0200</tt> Zero-lines, see \ref QCPGrid::setZeroLinePen + ,aeOther = 0x8000 ///< <tt>0x8000</tt> Other elements that don't fit into any of the existing categories + ,aeAll = 0xFFFF ///< <tt>0xFFFF</tt> All elements + ,aeNone = 0x0000 ///< <tt>0x0000</tt> No elements + }; +Q_DECLARE_FLAGS(AntialiasedElements, AntialiasedElement) + +/*! + Defines plotting hints that control various aspects of the quality and speed of plotting. + + \see QCustomPlot::setPlottingHints +*/ +enum PlottingHint { phNone = 0x000 ///< <tt>0x000</tt> No hints are set + ,phFastPolylines = 0x001 ///< <tt>0x001</tt> Graph/Curve lines are drawn with a faster method. This reduces the quality especially of the line segment + ///< joins, thus is most effective for pen sizes larger than 1. It is only used for solid line pens. + ,phImmediateRefresh = 0x002 ///< <tt>0x002</tt> causes an immediate repaint() instead of a soft update() when QCustomPlot::replot() is called with parameter \ref QCustomPlot::rpRefreshHint. + ///< This is set by default to prevent the plot from freezing on fast consecutive replots (e.g. user drags ranges with mouse). + ,phCacheLabels = 0x004 ///< <tt>0x004</tt> axis (tick) labels will be cached as pixmaps, increasing replot performance. + }; +Q_DECLARE_FLAGS(PlottingHints, PlottingHint) + +/*! + Defines the mouse interactions possible with QCustomPlot. + + \c Interactions is a flag of or-combined elements of this enum type. + + \see QCustomPlot::setInteractions +*/ +enum Interaction { iRangeDrag = 0x001 ///< <tt>0x001</tt> Axis ranges are draggable (see \ref QCPAxisRect::setRangeDrag, \ref QCPAxisRect::setRangeDragAxes) + ,iRangeZoom = 0x002 ///< <tt>0x002</tt> Axis ranges are zoomable with the mouse wheel (see \ref QCPAxisRect::setRangeZoom, \ref QCPAxisRect::setRangeZoomAxes) + ,iMultiSelect = 0x004 ///< <tt>0x004</tt> The user can select multiple objects by holding the modifier set by \ref QCustomPlot::setMultiSelectModifier while clicking + ,iSelectPlottables = 0x008 ///< <tt>0x008</tt> Plottables are selectable (e.g. graphs, curves, bars,... see QCPAbstractPlottable) + ,iSelectAxes = 0x010 ///< <tt>0x010</tt> Axes are selectable (or parts of them, see QCPAxis::setSelectableParts) + ,iSelectLegend = 0x020 ///< <tt>0x020</tt> Legends are selectable (or their child items, see QCPLegend::setSelectableParts) + ,iSelectItems = 0x040 ///< <tt>0x040</tt> Items are selectable (Rectangles, Arrows, Textitems, etc. see \ref QCPAbstractItem) + ,iSelectOther = 0x080 ///< <tt>0x080</tt> All other objects are selectable (e.g. your own derived layerables, other layout elements,...) + }; +Q_DECLARE_FLAGS(Interactions, Interaction) + +/*! + Defines the behaviour of the selection rect. + + \see QCustomPlot::setSelectionRectMode, QCustomPlot::selectionRect, QCPSelectionRect +*/ +enum SelectionRectMode { srmNone ///< The selection rect is disabled, and all mouse events are forwarded to the underlying objects, e.g. for axis range dragging + ,srmZoom ///< When dragging the mouse, a selection rect becomes active. Upon releasing, the axes that are currently set as range zoom axes (\ref QCPAxisRect::setRangeZoomAxes) will have their ranges zoomed accordingly. + ,srmSelect ///< When dragging the mouse, a selection rect becomes active. Upon releasing, plottable data points that were within the selection rect are selected, if the plottable's selectability setting permits. (See \ref dataselection "data selection mechanism" for details.) + ,srmCustom ///< When dragging the mouse, a selection rect becomes active. It is the programmer's responsibility to connect according slots to the selection rect's signals (e.g. \ref QCPSelectionRect::accepted) in order to process the user interaction. + }; + +/*! + Defines the different ways a plottable can be selected. These images show the effect of the + different selection types, when the indicated selection rect was dragged: + + <center> + <table> + <tr> + <td>\image html selectiontype-none.png stNone</td> + <td>\image html selectiontype-whole.png stWhole</td> + <td>\image html selectiontype-singledata.png stSingleData</td> + <td>\image html selectiontype-datarange.png stDataRange</td> + <td>\image html selectiontype-multipledataranges.png stMultipleDataRanges</td> + </tr> + </table> + </center> + + \see QCPAbstractPlottable::setSelectable, QCPDataSelection::enforceType +*/ +enum SelectionType { stNone ///< The plottable is not selectable + ,stWhole ///< Selection behaves like \ref stMultipleDataRanges, but if there are any data points selected, the entire plottable is drawn as selected. + ,stSingleData ///< One individual data point can be selected at a time + ,stDataRange ///< Multiple contiguous data points (a data range) can be selected + ,stMultipleDataRanges ///< Any combination of data points/ranges can be selected + }; + +/*! \internal + + Returns whether the specified \a value is considered an invalid data value for plottables (i.e. + is \e nan or \e +/-inf). This function is used to check data validity upon replots, when the + compiler flag \c QCUSTOMPLOT_CHECK_DATA is set. +*/ +inline bool isInvalidData(double value) +{ + return qIsNaN(value) || qIsInf(value); +} + +/*! \internal + \overload + + Checks two arguments instead of one. +*/ +inline bool isInvalidData(double value1, double value2) +{ + return isInvalidData(value1) || isInvalidData(value2); +} + +/*! \internal + + Sets the specified \a side of \a margins to \a value + + \see getMarginValue +*/ +inline void setMarginValue(QMargins &margins, QCP::MarginSide side, int value) +{ + switch (side) + { + case QCP::msLeft: margins.setLeft(value); break; + case QCP::msRight: margins.setRight(value); break; + case QCP::msTop: margins.setTop(value); break; + case QCP::msBottom: margins.setBottom(value); break; + case QCP::msAll: margins = QMargins(value, value, value, value); break; + default: break; + } +} + +/*! \internal + + Returns the value of the specified \a side of \a margins. If \a side is \ref QCP::msNone or + \ref QCP::msAll, returns 0. + + \see setMarginValue +*/ +inline int getMarginValue(const QMargins &margins, QCP::MarginSide side) +{ + switch (side) + { + case QCP::msLeft: return margins.left(); + case QCP::msRight: return margins.right(); + case QCP::msTop: return margins.top(); + case QCP::msBottom: return margins.bottom(); + default: break; + } + return 0; +} + + +extern const QMetaObject staticMetaObject; // in moc-run we create a static meta object for QCP "fake" object. This line is the link to it via QCP::staticMetaObject in normal operation as namespace + +} // end of namespace QCP +Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::AntialiasedElements) +Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::PlottingHints) +Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::MarginSides) +Q_DECLARE_OPERATORS_FOR_FLAGS(QCP::Interactions) +Q_DECLARE_METATYPE(QCP::ExportPen) +Q_DECLARE_METATYPE(QCP::ResolutionUnit) +Q_DECLARE_METATYPE(QCP::SignDomain) +Q_DECLARE_METATYPE(QCP::MarginSide) +Q_DECLARE_METATYPE(QCP::AntialiasedElement) +Q_DECLARE_METATYPE(QCP::PlottingHint) +Q_DECLARE_METATYPE(QCP::Interaction) +Q_DECLARE_METATYPE(QCP::SelectionRectMode) +Q_DECLARE_METATYPE(QCP::SelectionType) + +/* end of 'src/global.h' */ + + +/* including file 'src/vector2d.h', size 4928 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPVector2D +{ +public: + QCPVector2D(); + QCPVector2D(double x, double y); + QCPVector2D(const QPoint &point); + QCPVector2D(const QPointF &point); + + // getters: + double x() const { return mX; } + double y() const { return mY; } + double &rx() { return mX; } + double &ry() { return mY; } + + // setters: + void setX(double x) { mX = x; } + void setY(double y) { mY = y; } + + // non-virtual methods: + double length() const { return qSqrt(mX*mX+mY*mY); } + double lengthSquared() const { return mX*mX+mY*mY; } + QPoint toPoint() const { return QPoint(mX, mY); } + QPointF toPointF() const { return QPointF(mX, mY); } + + bool isNull() const { return qIsNull(mX) && qIsNull(mY); } + void normalize(); + QCPVector2D normalized() const; + QCPVector2D perpendicular() const { return QCPVector2D(-mY, mX); } + double dot(const QCPVector2D &vec) const { return mX*vec.mX+mY*vec.mY; } + double distanceSquaredToLine(const QCPVector2D &start, const QCPVector2D &end) const; + double distanceSquaredToLine(const QLineF &line) const; + double distanceToStraightLine(const QCPVector2D &base, const QCPVector2D &direction) const; + + QCPVector2D &operator*=(double factor); + QCPVector2D &operator/=(double divisor); + QCPVector2D &operator+=(const QCPVector2D &vector); + QCPVector2D &operator-=(const QCPVector2D &vector); + +private: + // property members: + double mX, mY; + + friend inline const QCPVector2D operator*(double factor, const QCPVector2D &vec); + friend inline const QCPVector2D operator*(const QCPVector2D &vec, double factor); + friend inline const QCPVector2D operator/(const QCPVector2D &vec, double divisor); + friend inline const QCPVector2D operator+(const QCPVector2D &vec1, const QCPVector2D &vec2); + friend inline const QCPVector2D operator-(const QCPVector2D &vec1, const QCPVector2D &vec2); + friend inline const QCPVector2D operator-(const QCPVector2D &vec); +}; +Q_DECLARE_TYPEINFO(QCPVector2D, Q_MOVABLE_TYPE); + +inline const QCPVector2D operator*(double factor, const QCPVector2D &vec) { return QCPVector2D(vec.mX*factor, vec.mY*factor); } +inline const QCPVector2D operator*(const QCPVector2D &vec, double factor) { return QCPVector2D(vec.mX*factor, vec.mY*factor); } +inline const QCPVector2D operator/(const QCPVector2D &vec, double divisor) { return QCPVector2D(vec.mX/divisor, vec.mY/divisor); } +inline const QCPVector2D operator+(const QCPVector2D &vec1, const QCPVector2D &vec2) { return QCPVector2D(vec1.mX+vec2.mX, vec1.mY+vec2.mY); } +inline const QCPVector2D operator-(const QCPVector2D &vec1, const QCPVector2D &vec2) { return QCPVector2D(vec1.mX-vec2.mX, vec1.mY-vec2.mY); } +inline const QCPVector2D operator-(const QCPVector2D &vec) { return QCPVector2D(-vec.mX, -vec.mY); } + +/*! \relates QCPVector2D + + Prints \a vec in a human readable format to the qDebug output. +*/ +inline QDebug operator<< (QDebug d, const QCPVector2D &vec) +{ + d.nospace() << "QCPVector2D(" << vec.x() << ", " << vec.y() << ")"; + return d.space(); +} + +/* end of 'src/vector2d.h' */ + + +/* including file 'src/painter.h', size 4035 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPPainter : public QPainter +{ + Q_GADGET +public: + /*! + Defines special modes the painter can operate in. They disable or enable certain subsets of features/fixes/workarounds, + depending on whether they are wanted on the respective output device. + */ + enum PainterMode { pmDefault = 0x00 ///< <tt>0x00</tt> Default mode for painting on screen devices + ,pmVectorized = 0x01 ///< <tt>0x01</tt> Mode for vectorized painting (e.g. PDF export). For example, this prevents some antialiasing fixes. + ,pmNoCaching = 0x02 ///< <tt>0x02</tt> Mode for all sorts of exports (e.g. PNG, PDF,...). For example, this prevents using cached pixmap labels + ,pmNonCosmetic = 0x04 ///< <tt>0x04</tt> Turns pen widths 0 to 1, i.e. disables cosmetic pens. (A cosmetic pen is always drawn with width 1 pixel in the vector image/pdf viewer, independent of zoom.) + }; + Q_ENUMS(PainterMode) + Q_FLAGS(PainterModes) + Q_DECLARE_FLAGS(PainterModes, PainterMode) + + QCPPainter(); + explicit QCPPainter(QPaintDevice *device); + + // getters: + bool antialiasing() const { return testRenderHint(QPainter::Antialiasing); } + PainterModes modes() const { return mModes; } + + // setters: + void setAntialiasing(bool enabled); + void setMode(PainterMode mode, bool enabled=true); + void setModes(PainterModes modes); + + // methods hiding non-virtual base class functions (QPainter bug workarounds): + bool begin(QPaintDevice *device); + void setPen(const QPen &pen); + void setPen(const QColor &color); + void setPen(Qt::PenStyle penStyle); + void drawLine(const QLineF &line); + void drawLine(const QPointF &p1, const QPointF &p2) {drawLine(QLineF(p1, p2));} + void save(); + void restore(); + + // non-virtual methods: + void makeNonCosmetic(); + +protected: + // property members: + PainterModes mModes; + bool mIsAntialiasing; + + // non-property members: + QStack<bool> mAntialiasingStack; +}; +Q_DECLARE_OPERATORS_FOR_FLAGS(QCPPainter::PainterModes) +Q_DECLARE_METATYPE(QCPPainter::PainterMode) + +/* end of 'src/painter.h' */ + + +/* including file 'src/paintbuffer.h', size 4958 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAbstractPaintBuffer +{ +public: + explicit QCPAbstractPaintBuffer(const QSize &size, double devicePixelRatio); + virtual ~QCPAbstractPaintBuffer(); + + // getters: + QSize size() const { return mSize; } + bool invalidated() const { return mInvalidated; } + double devicePixelRatio() const { return mDevicePixelRatio; } + + // setters: + void setSize(const QSize &size); + void setInvalidated(bool invalidated=true); + void setDevicePixelRatio(double ratio); + + // introduced virtual methods: + virtual QCPPainter *startPainting() = 0; + virtual void donePainting() {} + virtual void draw(QCPPainter *painter) const = 0; + virtual void clear(const QColor &color) = 0; + +protected: + // property members: + QSize mSize; + double mDevicePixelRatio; + + // non-property members: + bool mInvalidated; + + // introduced virtual methods: + virtual void reallocateBuffer() = 0; +}; + + +class QCP_LIB_DECL QCPPaintBufferPixmap : public QCPAbstractPaintBuffer +{ +public: + explicit QCPPaintBufferPixmap(const QSize &size, double devicePixelRatio); + virtual ~QCPPaintBufferPixmap(); + + // reimplemented virtual methods: + virtual QCPPainter *startPainting() Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) const Q_DECL_OVERRIDE; + void clear(const QColor &color) Q_DECL_OVERRIDE; + +protected: + // non-property members: + QPixmap mBuffer; + + // reimplemented virtual methods: + virtual void reallocateBuffer() Q_DECL_OVERRIDE; +}; + + +#ifdef QCP_OPENGL_PBUFFER +class QCP_LIB_DECL QCPPaintBufferGlPbuffer : public QCPAbstractPaintBuffer +{ +public: + explicit QCPPaintBufferGlPbuffer(const QSize &size, double devicePixelRatio, int multisamples); + virtual ~QCPPaintBufferGlPbuffer(); + + // reimplemented virtual methods: + virtual QCPPainter *startPainting() Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) const Q_DECL_OVERRIDE; + void clear(const QColor &color) Q_DECL_OVERRIDE; + +protected: + // non-property members: + QGLPixelBuffer *mGlPBuffer; + int mMultisamples; + + // reimplemented virtual methods: + virtual void reallocateBuffer() Q_DECL_OVERRIDE; +}; +#endif // QCP_OPENGL_PBUFFER + + +#ifdef QCP_OPENGL_FBO +class QCP_LIB_DECL QCPPaintBufferGlFbo : public QCPAbstractPaintBuffer +{ +public: + explicit QCPPaintBufferGlFbo(const QSize &size, double devicePixelRatio, QWeakPointer<QOpenGLContext> glContext, QWeakPointer<QOpenGLPaintDevice> glPaintDevice); + virtual ~QCPPaintBufferGlFbo(); + + // reimplemented virtual methods: + virtual QCPPainter *startPainting() Q_DECL_OVERRIDE; + virtual void donePainting() Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) const Q_DECL_OVERRIDE; + void clear(const QColor &color) Q_DECL_OVERRIDE; + +protected: + // non-property members: + QWeakPointer<QOpenGLContext> mGlContext; + QWeakPointer<QOpenGLPaintDevice> mGlPaintDevice; + QOpenGLFramebufferObject *mGlFrameBuffer; + + // reimplemented virtual methods: + virtual void reallocateBuffer() Q_DECL_OVERRIDE; +}; +#endif // QCP_OPENGL_FBO + +/* end of 'src/paintbuffer.h' */ + + +/* including file 'src/layer.h', size 6885 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPLayer : public QObject +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QCustomPlot* parentPlot READ parentPlot) + Q_PROPERTY(QString name READ name) + Q_PROPERTY(int index READ index) + Q_PROPERTY(QList<QCPLayerable*> children READ children) + Q_PROPERTY(bool visible READ visible WRITE setVisible) + Q_PROPERTY(LayerMode mode READ mode WRITE setMode) + /// \endcond +public: + + /*! + Defines the different rendering modes of a layer. Depending on the mode, certain layers can be + replotted individually, without the need to replot (possibly complex) layerables on other + layers. + + \see setMode + */ + enum LayerMode { lmLogical ///< Layer is used only for rendering order, and shares paint buffer with all other adjacent logical layers. + ,lmBuffered ///< Layer has its own paint buffer and may be replotted individually (see \ref replot). + }; + Q_ENUMS(LayerMode) + + QCPLayer(QCustomPlot* parentPlot, const QString &layerName); + virtual ~QCPLayer(); + + // getters: + QCustomPlot *parentPlot() const { return mParentPlot; } + QString name() const { return mName; } + int index() const { return mIndex; } + QList<QCPLayerable*> children() const { return mChildren; } + bool visible() const { return mVisible; } + LayerMode mode() const { return mMode; } + + // setters: + void setVisible(bool visible); + void setMode(LayerMode mode); + + // non-virtual methods: + void replot(); + +protected: + // property members: + QCustomPlot *mParentPlot; + QString mName; + int mIndex; + QList<QCPLayerable*> mChildren; + bool mVisible; + LayerMode mMode; + + // non-property members: + QWeakPointer<QCPAbstractPaintBuffer> mPaintBuffer; + + // non-virtual methods: + void draw(QCPPainter *painter); + void drawToPaintBuffer(); + void addChild(QCPLayerable *layerable, bool prepend); + void removeChild(QCPLayerable *layerable); + +private: + Q_DISABLE_COPY(QCPLayer) + + friend class QCustomPlot; + friend class QCPLayerable; +}; +Q_DECLARE_METATYPE(QCPLayer::LayerMode) + +class QCP_LIB_DECL QCPLayerable : public QObject +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(bool visible READ visible WRITE setVisible) + Q_PROPERTY(QCustomPlot* parentPlot READ parentPlot) + Q_PROPERTY(QCPLayerable* parentLayerable READ parentLayerable) + Q_PROPERTY(QCPLayer* layer READ layer WRITE setLayer NOTIFY layerChanged) + Q_PROPERTY(bool antialiased READ antialiased WRITE setAntialiased) + /// \endcond +public: + QCPLayerable(QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=0); + virtual ~QCPLayerable(); + + // getters: + bool visible() const { return mVisible; } + QCustomPlot *parentPlot() const { return mParentPlot; } + QCPLayerable *parentLayerable() const { return mParentLayerable.data(); } + QCPLayer *layer() const { return mLayer; } + bool antialiased() const { return mAntialiased; } + + // setters: + void setVisible(bool on); + Q_SLOT bool setLayer(QCPLayer *layer); + bool setLayer(const QString &layerName); + void setAntialiased(bool enabled); + + // introduced virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const; + + // non-property methods: + bool realVisibility() const; + +signals: + void layerChanged(QCPLayer *newLayer); + +protected: + // property members: + bool mVisible; + QCustomPlot *mParentPlot; + QPointer<QCPLayerable> mParentLayerable; + QCPLayer *mLayer; + bool mAntialiased; + + // introduced virtual methods: + virtual void parentPlotInitialized(QCustomPlot *parentPlot); + virtual QCP::Interaction selectionCategory() const; + virtual QRect clipRect() const; + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const = 0; + virtual void draw(QCPPainter *painter) = 0; + // selection events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged); + virtual void deselectEvent(bool *selectionStateChanged); + // low-level mouse events: + virtual void mousePressEvent(QMouseEvent *event, const QVariant &details); + virtual void mouseMoveEvent(QMouseEvent *event, const QPointF &startPos); + virtual void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos); + virtual void mouseDoubleClickEvent(QMouseEvent *event, const QVariant &details); + virtual void wheelEvent(QWheelEvent *event); + + // non-property methods: + void initializeParentPlot(QCustomPlot *parentPlot); + void setParentLayerable(QCPLayerable* parentLayerable); + bool moveToLayer(QCPLayer *layer, bool prepend); + void applyAntialiasingHint(QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const; + +private: + Q_DISABLE_COPY(QCPLayerable) + + friend class QCustomPlot; + friend class QCPLayer; + friend class QCPAxisRect; +}; + +/* end of 'src/layer.h' */ + + +/* including file 'src/axis/range.h', size 5280 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPRange +{ +public: + double lower, upper; + + QCPRange(); + QCPRange(double lower, double upper); + + bool operator==(const QCPRange& other) const { return lower == other.lower && upper == other.upper; } + bool operator!=(const QCPRange& other) const { return !(*this == other); } + + QCPRange &operator+=(const double& value) { lower+=value; upper+=value; return *this; } + QCPRange &operator-=(const double& value) { lower-=value; upper-=value; return *this; } + QCPRange &operator*=(const double& value) { lower*=value; upper*=value; return *this; } + QCPRange &operator/=(const double& value) { lower/=value; upper/=value; return *this; } + friend inline const QCPRange operator+(const QCPRange&, double); + friend inline const QCPRange operator+(double, const QCPRange&); + friend inline const QCPRange operator-(const QCPRange& range, double value); + friend inline const QCPRange operator*(const QCPRange& range, double value); + friend inline const QCPRange operator*(double value, const QCPRange& range); + friend inline const QCPRange operator/(const QCPRange& range, double value); + + double size() const { return upper-lower; } + double center() const { return (upper+lower)*0.5; } + void normalize() { if (lower > upper) qSwap(lower, upper); } + void expand(const QCPRange &otherRange); + void expand(double includeCoord); + QCPRange expanded(const QCPRange &otherRange) const; + QCPRange expanded(double includeCoord) const; + QCPRange bounded(double lowerBound, double upperBound) const; + QCPRange sanitizedForLogScale() const; + QCPRange sanitizedForLinScale() const; + bool contains(double value) const { return value >= lower && value <= upper; } + + static bool validRange(double lower, double upper); + static bool validRange(const QCPRange &range); + static const double minRange; + static const double maxRange; + +}; +Q_DECLARE_TYPEINFO(QCPRange, Q_MOVABLE_TYPE); + +/*! \relates QCPRange + + Prints \a range in a human readable format to the qDebug output. +*/ +inline QDebug operator<< (QDebug d, const QCPRange &range) +{ + d.nospace() << "QCPRange(" << range.lower << ", " << range.upper << ")"; + return d.space(); +} + +/*! + Adds \a value to both boundaries of the range. +*/ +inline const QCPRange operator+(const QCPRange& range, double value) +{ + QCPRange result(range); + result += value; + return result; +} + +/*! + Adds \a value to both boundaries of the range. +*/ +inline const QCPRange operator+(double value, const QCPRange& range) +{ + QCPRange result(range); + result += value; + return result; +} + +/*! + Subtracts \a value from both boundaries of the range. +*/ +inline const QCPRange operator-(const QCPRange& range, double value) +{ + QCPRange result(range); + result -= value; + return result; +} + +/*! + Multiplies both boundaries of the range by \a value. +*/ +inline const QCPRange operator*(const QCPRange& range, double value) +{ + QCPRange result(range); + result *= value; + return result; +} + +/*! + Multiplies both boundaries of the range by \a value. +*/ +inline const QCPRange operator*(double value, const QCPRange& range) +{ + QCPRange result(range); + result *= value; + return result; +} + +/*! + Divides both boundaries of the range by \a value. +*/ +inline const QCPRange operator/(const QCPRange& range, double value) +{ + QCPRange result(range); + result /= value; + return result; +} + +/* end of 'src/axis/range.h' */ + + +/* including file 'src/selection.h', size 8579 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPDataRange +{ +public: + QCPDataRange(); + QCPDataRange(int begin, int end); + + bool operator==(const QCPDataRange& other) const { return mBegin == other.mBegin && mEnd == other.mEnd; } + bool operator!=(const QCPDataRange& other) const { return !(*this == other); } + + // getters: + int begin() const { return mBegin; } + int end() const { return mEnd; } + int size() const { return mEnd-mBegin; } + int length() const { return size(); } + + // setters: + void setBegin(int begin) { mBegin = begin; } + void setEnd(int end) { mEnd = end; } + + // non-property methods: + bool isValid() const { return (mEnd >= mBegin) && (mBegin >= 0); } + bool isEmpty() const { return length() == 0; } + QCPDataRange bounded(const QCPDataRange &other) const; + QCPDataRange expanded(const QCPDataRange &other) const; + QCPDataRange intersection(const QCPDataRange &other) const; + QCPDataRange adjusted(int changeBegin, int changeEnd) const { return QCPDataRange(mBegin+changeBegin, mEnd+changeEnd); } + bool intersects(const QCPDataRange &other) const; + bool contains(const QCPDataRange &other) const; + +private: + // property members: + int mBegin, mEnd; + +}; +Q_DECLARE_TYPEINFO(QCPDataRange, Q_MOVABLE_TYPE); + + +class QCP_LIB_DECL QCPDataSelection +{ +public: + explicit QCPDataSelection(); + explicit QCPDataSelection(const QCPDataRange &range); + + bool operator==(const QCPDataSelection& other) const; + bool operator!=(const QCPDataSelection& other) const { return !(*this == other); } + QCPDataSelection &operator+=(const QCPDataSelection& other); + QCPDataSelection &operator+=(const QCPDataRange& other); + QCPDataSelection &operator-=(const QCPDataSelection& other); + QCPDataSelection &operator-=(const QCPDataRange& other); + friend inline const QCPDataSelection operator+(const QCPDataSelection& a, const QCPDataSelection& b); + friend inline const QCPDataSelection operator+(const QCPDataRange& a, const QCPDataSelection& b); + friend inline const QCPDataSelection operator+(const QCPDataSelection& a, const QCPDataRange& b); + friend inline const QCPDataSelection operator+(const QCPDataRange& a, const QCPDataRange& b); + friend inline const QCPDataSelection operator-(const QCPDataSelection& a, const QCPDataSelection& b); + friend inline const QCPDataSelection operator-(const QCPDataRange& a, const QCPDataSelection& b); + friend inline const QCPDataSelection operator-(const QCPDataSelection& a, const QCPDataRange& b); + friend inline const QCPDataSelection operator-(const QCPDataRange& a, const QCPDataRange& b); + + // getters: + int dataRangeCount() const { return mDataRanges.size(); } + int dataPointCount() const; + QCPDataRange dataRange(int index=0) const; + QList<QCPDataRange> dataRanges() const { return mDataRanges; } + QCPDataRange span() const; + + // non-property methods: + void addDataRange(const QCPDataRange &dataRange, bool simplify=true); + void clear(); + bool isEmpty() const { return mDataRanges.isEmpty(); } + void simplify(); + void enforceType(QCP::SelectionType type); + bool contains(const QCPDataSelection &other) const; + QCPDataSelection intersection(const QCPDataRange &other) const; + QCPDataSelection intersection(const QCPDataSelection &other) const; + QCPDataSelection inverse(const QCPDataRange &outerRange) const; + +private: + // property members: + QList<QCPDataRange> mDataRanges; + + inline static bool lessThanDataRangeBegin(const QCPDataRange &a, const QCPDataRange &b) { return a.begin() < b.begin(); } +}; +Q_DECLARE_METATYPE(QCPDataSelection) + + +/*! + Return a \ref QCPDataSelection with the data points in \a a joined with the data points in \a b. + The resulting data selection is already simplified (see \ref QCPDataSelection::simplify). +*/ +inline const QCPDataSelection operator+(const QCPDataSelection& a, const QCPDataSelection& b) +{ + QCPDataSelection result(a); + result += b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points in \a a joined with the data points in \a b. + The resulting data selection is already simplified (see \ref QCPDataSelection::simplify). +*/ +inline const QCPDataSelection operator+(const QCPDataRange& a, const QCPDataSelection& b) +{ + QCPDataSelection result(a); + result += b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points in \a a joined with the data points in \a b. + The resulting data selection is already simplified (see \ref QCPDataSelection::simplify). +*/ +inline const QCPDataSelection operator+(const QCPDataSelection& a, const QCPDataRange& b) +{ + QCPDataSelection result(a); + result += b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points in \a a joined with the data points in \a b. + The resulting data selection is already simplified (see \ref QCPDataSelection::simplify). +*/ +inline const QCPDataSelection operator+(const QCPDataRange& a, const QCPDataRange& b) +{ + QCPDataSelection result(a); + result += b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points which are in \a a but not in \a b. +*/ +inline const QCPDataSelection operator-(const QCPDataSelection& a, const QCPDataSelection& b) +{ + QCPDataSelection result(a); + result -= b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points which are in \a a but not in \a b. +*/ +inline const QCPDataSelection operator-(const QCPDataRange& a, const QCPDataSelection& b) +{ + QCPDataSelection result(a); + result -= b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points which are in \a a but not in \a b. +*/ +inline const QCPDataSelection operator-(const QCPDataSelection& a, const QCPDataRange& b) +{ + QCPDataSelection result(a); + result -= b; + return result; +} + +/*! + Return a \ref QCPDataSelection with the data points which are in \a a but not in \a b. +*/ +inline const QCPDataSelection operator-(const QCPDataRange& a, const QCPDataRange& b) +{ + QCPDataSelection result(a); + result -= b; + return result; +} + +/*! \relates QCPDataRange + + Prints \a dataRange in a human readable format to the qDebug output. +*/ +inline QDebug operator<< (QDebug d, const QCPDataRange &dataRange) +{ + d.nospace() << "[" << dataRange.begin() << ".." << dataRange.end()-1 << "]"; + return d.space(); +} + +/*! \relates QCPDataSelection + + Prints \a selection in a human readable format to the qDebug output. +*/ +inline QDebug operator<< (QDebug d, const QCPDataSelection &selection) +{ + d.nospace() << "QCPDataSelection("; + for (int i=0; i<selection.dataRangeCount(); ++i) + { + if (i != 0) + d << ", "; + d << selection.dataRange(i); + } + d << ")"; + return d.space(); +} + + + +/* end of 'src/selection.h' */ + + +/* including file 'src/selectionrect.h', size 3338 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPSelectionRect : public QCPLayerable +{ + Q_OBJECT +public: + explicit QCPSelectionRect(QCustomPlot *parentPlot); + virtual ~QCPSelectionRect(); + + // getters: + QRect rect() const { return mRect; } + QCPRange range(const QCPAxis *axis) const; + QPen pen() const { return mPen; } + QBrush brush() const { return mBrush; } + bool isActive() const { return mActive; } + + // setters: + void setPen(const QPen &pen); + void setBrush(const QBrush &brush); + + // non-property methods: + Q_SLOT void cancel(); + +signals: + void started(QMouseEvent *event); + void changed(const QRect &rect, QMouseEvent *event); + void canceled(const QRect &rect, QInputEvent *event); + void accepted(const QRect &rect, QMouseEvent *event); + +protected: + // property members: + QRect mRect; + QPen mPen; + QBrush mBrush; + // non-property members: + bool mActive; + + // introduced virtual methods: + virtual void startSelection(QMouseEvent *event); + virtual void moveSelection(QMouseEvent *event); + virtual void endSelection(QMouseEvent *event); + virtual void keyPressEvent(QKeyEvent *event); + + // reimplemented virtual methods + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + + friend class QCustomPlot; +}; + +/* end of 'src/selectionrect.h' */ + + +/* including file 'src/layout.h', size 14224 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPMarginGroup : public QObject +{ + Q_OBJECT +public: + explicit QCPMarginGroup(QCustomPlot *parentPlot); + virtual ~QCPMarginGroup(); + + // non-virtual methods: + QList<QCPLayoutElement*> elements(QCP::MarginSide side) const { return mChildren.value(side); } + bool isEmpty() const; + void clear(); + +protected: + // non-property members: + QCustomPlot *mParentPlot; + QHash<QCP::MarginSide, QList<QCPLayoutElement*> > mChildren; + + // introduced virtual methods: + virtual int commonMargin(QCP::MarginSide side) const; + + // non-virtual methods: + void addChild(QCP::MarginSide side, QCPLayoutElement *element); + void removeChild(QCP::MarginSide side, QCPLayoutElement *element); + +private: + Q_DISABLE_COPY(QCPMarginGroup) + + friend class QCPLayoutElement; +}; + + +class QCP_LIB_DECL QCPLayoutElement : public QCPLayerable +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QCPLayout* layout READ layout) + Q_PROPERTY(QRect rect READ rect) + Q_PROPERTY(QRect outerRect READ outerRect WRITE setOuterRect) + Q_PROPERTY(QMargins margins READ margins WRITE setMargins) + Q_PROPERTY(QMargins minimumMargins READ minimumMargins WRITE setMinimumMargins) + Q_PROPERTY(QSize minimumSize READ minimumSize WRITE setMinimumSize) + Q_PROPERTY(QSize maximumSize READ maximumSize WRITE setMaximumSize) + Q_PROPERTY(SizeConstraintRect sizeConstraintRect READ sizeConstraintRect WRITE setSizeConstraintRect) + /// \endcond +public: + /*! + Defines the phases of the update process, that happens just before a replot. At each phase, + \ref update is called with the according UpdatePhase value. + */ + enum UpdatePhase { upPreparation ///< Phase used for any type of preparation that needs to be done before margin calculation and layout + ,upMargins ///< Phase in which the margins are calculated and set + ,upLayout ///< Final phase in which the layout system places the rects of the elements + }; + Q_ENUMS(UpdatePhase) + + /*! + Defines to which rect of a layout element the size constraints that can be set via \ref + setMinimumSize and \ref setMaximumSize apply. The outer rect (\ref outerRect) includes the + margins (e.g. in the case of a QCPAxisRect the axis labels), whereas the inner rect (\ref rect) + does not. + + \see setSizeConstraintRect + */ + enum SizeConstraintRect { scrInnerRect ///< Minimum/Maximum size constraints apply to inner rect + , scrOuterRect ///< Minimum/Maximum size constraints apply to outer rect, thus include layout element margins + }; + Q_ENUMS(SizeConstraintRect) + + explicit QCPLayoutElement(QCustomPlot *parentPlot=0); + virtual ~QCPLayoutElement(); + + // getters: + QCPLayout *layout() const { return mParentLayout; } + QRect rect() const { return mRect; } + QRect outerRect() const { return mOuterRect; } + QMargins margins() const { return mMargins; } + QMargins minimumMargins() const { return mMinimumMargins; } + QCP::MarginSides autoMargins() const { return mAutoMargins; } + QSize minimumSize() const { return mMinimumSize; } + QSize maximumSize() const { return mMaximumSize; } + SizeConstraintRect sizeConstraintRect() const { return mSizeConstraintRect; } + QCPMarginGroup *marginGroup(QCP::MarginSide side) const { return mMarginGroups.value(side, (QCPMarginGroup*)0); } + QHash<QCP::MarginSide, QCPMarginGroup*> marginGroups() const { return mMarginGroups; } + + // setters: + void setOuterRect(const QRect &rect); + void setMargins(const QMargins &margins); + void setMinimumMargins(const QMargins &margins); + void setAutoMargins(QCP::MarginSides sides); + void setMinimumSize(const QSize &size); + void setMinimumSize(int width, int height); + void setMaximumSize(const QSize &size); + void setMaximumSize(int width, int height); + void setSizeConstraintRect(SizeConstraintRect constraintRect); + void setMarginGroup(QCP::MarginSides sides, QCPMarginGroup *group); + + // introduced virtual methods: + virtual void update(UpdatePhase phase); + virtual QSize minimumOuterSizeHint() const; + virtual QSize maximumOuterSizeHint() const; + virtual QList<QCPLayoutElement*> elements(bool recursive) const; + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + +protected: + // property members: + QCPLayout *mParentLayout; + QSize mMinimumSize, mMaximumSize; + SizeConstraintRect mSizeConstraintRect; + QRect mRect, mOuterRect; + QMargins mMargins, mMinimumMargins; + QCP::MarginSides mAutoMargins; + QHash<QCP::MarginSide, QCPMarginGroup*> mMarginGroups; + + // introduced virtual methods: + virtual int calculateAutoMargin(QCP::MarginSide side); + virtual void layoutChanged(); + + // reimplemented virtual methods: + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE { Q_UNUSED(painter) } + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE { Q_UNUSED(painter) } + virtual void parentPlotInitialized(QCustomPlot *parentPlot) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QCPLayoutElement) + + friend class QCustomPlot; + friend class QCPLayout; + friend class QCPMarginGroup; +}; +Q_DECLARE_METATYPE(QCPLayoutElement::UpdatePhase) + + +class QCP_LIB_DECL QCPLayout : public QCPLayoutElement +{ + Q_OBJECT +public: + explicit QCPLayout(); + + // reimplemented virtual methods: + virtual void update(UpdatePhase phase) Q_DECL_OVERRIDE; + virtual QList<QCPLayoutElement*> elements(bool recursive) const Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual int elementCount() const = 0; + virtual QCPLayoutElement* elementAt(int index) const = 0; + virtual QCPLayoutElement* takeAt(int index) = 0; + virtual bool take(QCPLayoutElement* element) = 0; + virtual void simplify(); + + // non-virtual methods: + bool removeAt(int index); + bool remove(QCPLayoutElement* element); + void clear(); + +protected: + // introduced virtual methods: + virtual void updateLayout(); + + // non-virtual methods: + void sizeConstraintsChanged() const; + void adoptElement(QCPLayoutElement *el); + void releaseElement(QCPLayoutElement *el); + QVector<int> getSectionSizes(QVector<int> maxSizes, QVector<int> minSizes, QVector<double> stretchFactors, int totalSize) const; + static QSize getFinalMinimumOuterSize(const QCPLayoutElement *el); + static QSize getFinalMaximumOuterSize(const QCPLayoutElement *el); + +private: + Q_DISABLE_COPY(QCPLayout) + friend class QCPLayoutElement; +}; + + +class QCP_LIB_DECL QCPLayoutGrid : public QCPLayout +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(int rowCount READ rowCount) + Q_PROPERTY(int columnCount READ columnCount) + Q_PROPERTY(QList<double> columnStretchFactors READ columnStretchFactors WRITE setColumnStretchFactors) + Q_PROPERTY(QList<double> rowStretchFactors READ rowStretchFactors WRITE setRowStretchFactors) + Q_PROPERTY(int columnSpacing READ columnSpacing WRITE setColumnSpacing) + Q_PROPERTY(int rowSpacing READ rowSpacing WRITE setRowSpacing) + Q_PROPERTY(FillOrder fillOrder READ fillOrder WRITE setFillOrder) + Q_PROPERTY(int wrap READ wrap WRITE setWrap) + /// \endcond +public: + + /*! + Defines in which direction the grid is filled when using \ref addElement(QCPLayoutElement*). + The column/row at which wrapping into the next row/column occurs can be specified with \ref + setWrap. + + \see setFillOrder + */ + enum FillOrder { foRowsFirst ///< Rows are filled first, and a new element is wrapped to the next column if the row count would exceed \ref setWrap. + ,foColumnsFirst ///< Columns are filled first, and a new element is wrapped to the next row if the column count would exceed \ref setWrap. + }; + Q_ENUMS(FillOrder) + + explicit QCPLayoutGrid(); + virtual ~QCPLayoutGrid(); + + // getters: + int rowCount() const { return mElements.size(); } + int columnCount() const { return mElements.size() > 0 ? mElements.first().size() : 0; } + QList<double> columnStretchFactors() const { return mColumnStretchFactors; } + QList<double> rowStretchFactors() const { return mRowStretchFactors; } + int columnSpacing() const { return mColumnSpacing; } + int rowSpacing() const { return mRowSpacing; } + int wrap() const { return mWrap; } + FillOrder fillOrder() const { return mFillOrder; } + + // setters: + void setColumnStretchFactor(int column, double factor); + void setColumnStretchFactors(const QList<double> &factors); + void setRowStretchFactor(int row, double factor); + void setRowStretchFactors(const QList<double> &factors); + void setColumnSpacing(int pixels); + void setRowSpacing(int pixels); + void setWrap(int count); + void setFillOrder(FillOrder order, bool rearrange=true); + + // reimplemented virtual methods: + virtual void updateLayout() Q_DECL_OVERRIDE; + virtual int elementCount() const Q_DECL_OVERRIDE { return rowCount()*columnCount(); } + virtual QCPLayoutElement* elementAt(int index) const Q_DECL_OVERRIDE; + virtual QCPLayoutElement* takeAt(int index) Q_DECL_OVERRIDE; + virtual bool take(QCPLayoutElement* element) Q_DECL_OVERRIDE; + virtual QList<QCPLayoutElement*> elements(bool recursive) const Q_DECL_OVERRIDE; + virtual void simplify() Q_DECL_OVERRIDE; + virtual QSize minimumOuterSizeHint() const Q_DECL_OVERRIDE; + virtual QSize maximumOuterSizeHint() const Q_DECL_OVERRIDE; + + // non-virtual methods: + QCPLayoutElement *element(int row, int column) const; + bool addElement(int row, int column, QCPLayoutElement *element); + bool addElement(QCPLayoutElement *element); + bool hasElement(int row, int column); + void expandTo(int newRowCount, int newColumnCount); + void insertRow(int newIndex); + void insertColumn(int newIndex); + int rowColToIndex(int row, int column) const; + void indexToRowCol(int index, int &row, int &column) const; + +protected: + // property members: + QList<QList<QCPLayoutElement*> > mElements; + QList<double> mColumnStretchFactors; + QList<double> mRowStretchFactors; + int mColumnSpacing, mRowSpacing; + int mWrap; + FillOrder mFillOrder; + + // non-virtual methods: + void getMinimumRowColSizes(QVector<int> *minColWidths, QVector<int> *minRowHeights) const; + void getMaximumRowColSizes(QVector<int> *maxColWidths, QVector<int> *maxRowHeights) const; + +private: + Q_DISABLE_COPY(QCPLayoutGrid) +}; +Q_DECLARE_METATYPE(QCPLayoutGrid::FillOrder) + + +class QCP_LIB_DECL QCPLayoutInset : public QCPLayout +{ + Q_OBJECT +public: + /*! + Defines how the placement and sizing is handled for a certain element in a QCPLayoutInset. + */ + enum InsetPlacement { ipFree ///< The element may be positioned/sized arbitrarily, see \ref setInsetRect + ,ipBorderAligned ///< The element is aligned to one of the layout sides, see \ref setInsetAlignment + }; + Q_ENUMS(InsetPlacement) + + explicit QCPLayoutInset(); + virtual ~QCPLayoutInset(); + + // getters: + InsetPlacement insetPlacement(int index) const; + Qt::Alignment insetAlignment(int index) const; + QRectF insetRect(int index) const; + + // setters: + void setInsetPlacement(int index, InsetPlacement placement); + void setInsetAlignment(int index, Qt::Alignment alignment); + void setInsetRect(int index, const QRectF &rect); + + // reimplemented virtual methods: + virtual void updateLayout() Q_DECL_OVERRIDE; + virtual int elementCount() const Q_DECL_OVERRIDE; + virtual QCPLayoutElement* elementAt(int index) const Q_DECL_OVERRIDE; + virtual QCPLayoutElement* takeAt(int index) Q_DECL_OVERRIDE; + virtual bool take(QCPLayoutElement* element) Q_DECL_OVERRIDE; + virtual void simplify() Q_DECL_OVERRIDE {} + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + // non-virtual methods: + void addElement(QCPLayoutElement *element, Qt::Alignment alignment); + void addElement(QCPLayoutElement *element, const QRectF &rect); + +protected: + // property members: + QList<QCPLayoutElement*> mElements; + QList<InsetPlacement> mInsetPlacement; + QList<Qt::Alignment> mInsetAlignment; + QList<QRectF> mInsetRect; + +private: + Q_DISABLE_COPY(QCPLayoutInset) +}; +Q_DECLARE_METATYPE(QCPLayoutInset::InsetPlacement) + +/* end of 'src/layout.h' */ + + +/* including file 'src/lineending.h', size 4426 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPLineEnding +{ + Q_GADGET +public: + /*! + Defines the type of ending decoration for line-like items, e.g. an arrow. + + \image html QCPLineEnding.png + + The width and length of these decorations can be controlled with the functions \ref setWidth + and \ref setLength. Some decorations like \ref esDisc, \ref esSquare, \ref esDiamond and \ref esBar only + support a width, the length property is ignored. + + \see QCPItemLine::setHead, QCPItemLine::setTail, QCPItemCurve::setHead, QCPItemCurve::setTail, QCPAxis::setLowerEnding, QCPAxis::setUpperEnding + */ + enum EndingStyle { esNone ///< No ending decoration + ,esFlatArrow ///< A filled arrow head with a straight/flat back (a triangle) + ,esSpikeArrow ///< A filled arrow head with an indented back + ,esLineArrow ///< A non-filled arrow head with open back + ,esDisc ///< A filled circle + ,esSquare ///< A filled square + ,esDiamond ///< A filled diamond (45 degrees rotated square) + ,esBar ///< A bar perpendicular to the line + ,esHalfBar ///< A bar perpendicular to the line, pointing out to only one side (to which side can be changed with \ref setInverted) + ,esSkewedBar ///< A bar that is skewed (skew controllable via \ref setLength) + }; + Q_ENUMS(EndingStyle) + + QCPLineEnding(); + QCPLineEnding(EndingStyle style, double width=8, double length=10, bool inverted=false); + + // getters: + EndingStyle style() const { return mStyle; } + double width() const { return mWidth; } + double length() const { return mLength; } + bool inverted() const { return mInverted; } + + // setters: + void setStyle(EndingStyle style); + void setWidth(double width); + void setLength(double length); + void setInverted(bool inverted); + + // non-property methods: + double boundingDistance() const; + double realLength() const; + void draw(QCPPainter *painter, const QCPVector2D &pos, const QCPVector2D &dir) const; + void draw(QCPPainter *painter, const QCPVector2D &pos, double angle) const; + +protected: + // property members: + EndingStyle mStyle; + double mWidth, mLength; + bool mInverted; +}; +Q_DECLARE_TYPEINFO(QCPLineEnding, Q_MOVABLE_TYPE); +Q_DECLARE_METATYPE(QCPLineEnding::EndingStyle) + +/* end of 'src/lineending.h' */ + + +/* including file 'src/axis/axisticker.h', size 4177 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTicker +{ + Q_GADGET +public: + /*! + Defines the strategies that the axis ticker may follow when choosing the size of the tick step. + + \see setTickStepStrategy + */ + enum TickStepStrategy + { + tssReadability ///< A nicely readable tick step is prioritized over matching the requested number of ticks (see \ref setTickCount) + ,tssMeetTickCount ///< Less readable tick steps are allowed which in turn facilitates getting closer to the requested tick count + }; + Q_ENUMS(TickStepStrategy) + + QCPAxisTicker(); + virtual ~QCPAxisTicker(); + + // getters: + TickStepStrategy tickStepStrategy() const { return mTickStepStrategy; } + int tickCount() const { return mTickCount; } + double tickOrigin() const { return mTickOrigin; } + + // setters: + void setTickStepStrategy(TickStepStrategy strategy); + void setTickCount(int count); + void setTickOrigin(double origin); + + // introduced virtual methods: + virtual void generate(const QCPRange &range, const QLocale &locale, QChar formatChar, int precision, QVector<double> &ticks, QVector<double> *subTicks, QVector<QString> *tickLabels); + +protected: + // property members: + TickStepStrategy mTickStepStrategy; + int mTickCount; + double mTickOrigin; + + // introduced virtual methods: + virtual double getTickStep(const QCPRange &range); + virtual int getSubTickCount(double tickStep); + virtual QString getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision); + virtual QVector<double> createTickVector(double tickStep, const QCPRange &range); + virtual QVector<double> createSubTickVector(int subTickCount, const QVector<double> &ticks); + virtual QVector<QString> createLabelVector(const QVector<double> &ticks, const QLocale &locale, QChar formatChar, int precision); + + // non-virtual methods: + void trimTicks(const QCPRange &range, QVector<double> &ticks, bool keepOneOutlier) const; + double pickClosest(double target, const QVector<double> &candidates) const; + double getMantissa(double input, double *magnitude=0) const; + double cleanMantissa(double input) const; +}; +Q_DECLARE_METATYPE(QCPAxisTicker::TickStepStrategy) +Q_DECLARE_METATYPE(QSharedPointer<QCPAxisTicker>) + +/* end of 'src/axis/axisticker.h' */ + + +/* including file 'src/axis/axistickerdatetime.h', size 3289 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTickerDateTime : public QCPAxisTicker +{ +public: + QCPAxisTickerDateTime(); + + // getters: + QString dateTimeFormat() const { return mDateTimeFormat; } + Qt::TimeSpec dateTimeSpec() const { return mDateTimeSpec; } + + // setters: + void setDateTimeFormat(const QString &format); + void setDateTimeSpec(Qt::TimeSpec spec); + void setTickOrigin(double origin); // hides base class method but calls baseclass implementation ("using" throws off IDEs and doxygen) + void setTickOrigin(const QDateTime &origin); + + // static methods: + static QDateTime keyToDateTime(double key); + static double dateTimeToKey(const QDateTime dateTime); + static double dateTimeToKey(const QDate date); + +protected: + // property members: + QString mDateTimeFormat; + Qt::TimeSpec mDateTimeSpec; + + // non-property members: + enum DateStrategy {dsNone, dsUniformTimeInDay, dsUniformDayInMonth} mDateStrategy; + + // reimplemented virtual methods: + virtual double getTickStep(const QCPRange &range) Q_DECL_OVERRIDE; + virtual int getSubTickCount(double tickStep) Q_DECL_OVERRIDE; + virtual QString getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) Q_DECL_OVERRIDE; + virtual QVector<double> createTickVector(double tickStep, const QCPRange &range) Q_DECL_OVERRIDE; +}; + +/* end of 'src/axis/axistickerdatetime.h' */ + + +/* including file 'src/axis/axistickertime.h', size 3542 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTickerTime : public QCPAxisTicker +{ + Q_GADGET +public: + /*! + Defines the logical units in which fractions of time spans can be expressed. + + \see setFieldWidth, setTimeFormat + */ + enum TimeUnit { tuMilliseconds ///< Milliseconds, one thousandth of a second (%%z in \ref setTimeFormat) + ,tuSeconds ///< Seconds (%%s in \ref setTimeFormat) + ,tuMinutes ///< Minutes (%%m in \ref setTimeFormat) + ,tuHours ///< Hours (%%h in \ref setTimeFormat) + ,tuDays ///< Days (%%d in \ref setTimeFormat) + }; + Q_ENUMS(TimeUnit) + + QCPAxisTickerTime(); + + // getters: + QString timeFormat() const { return mTimeFormat; } + int fieldWidth(TimeUnit unit) const { return mFieldWidth.value(unit); } + + // setters: + void setTimeFormat(const QString &format); + void setFieldWidth(TimeUnit unit, int width); + +protected: + // property members: + QString mTimeFormat; + QHash<TimeUnit, int> mFieldWidth; + + // non-property members: + TimeUnit mSmallestUnit, mBiggestUnit; + QHash<TimeUnit, QString> mFormatPattern; + + // reimplemented virtual methods: + virtual double getTickStep(const QCPRange &range) Q_DECL_OVERRIDE; + virtual int getSubTickCount(double tickStep) Q_DECL_OVERRIDE; + virtual QString getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) Q_DECL_OVERRIDE; + + // non-virtual methods: + void replaceUnit(QString &text, TimeUnit unit, int value) const; +}; +Q_DECLARE_METATYPE(QCPAxisTickerTime::TimeUnit) + +/* end of 'src/axis/axistickertime.h' */ + + +/* including file 'src/axis/axistickerfixed.h', size 3308 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTickerFixed : public QCPAxisTicker +{ + Q_GADGET +public: + /*! + Defines how the axis ticker may modify the specified tick step (\ref setTickStep) in order to + control the number of ticks in the axis range. + + \see setScaleStrategy + */ + enum ScaleStrategy { ssNone ///< Modifications are not allowed, the specified tick step is absolutely fixed. This might cause a high tick density and overlapping labels if the axis range is zoomed out. + ,ssMultiples ///< An integer multiple of the specified tick step is allowed. The used factor follows the base class properties of \ref setTickStepStrategy and \ref setTickCount. + ,ssPowers ///< An integer power of the specified tick step is allowed. + }; + Q_ENUMS(ScaleStrategy) + + QCPAxisTickerFixed(); + + // getters: + double tickStep() const { return mTickStep; } + ScaleStrategy scaleStrategy() const { return mScaleStrategy; } + + // setters: + void setTickStep(double step); + void setScaleStrategy(ScaleStrategy strategy); + +protected: + // property members: + double mTickStep; + ScaleStrategy mScaleStrategy; + + // reimplemented virtual methods: + virtual double getTickStep(const QCPRange &range) Q_DECL_OVERRIDE; +}; +Q_DECLARE_METATYPE(QCPAxisTickerFixed::ScaleStrategy) + +/* end of 'src/axis/axistickerfixed.h' */ + + +/* including file 'src/axis/axistickertext.h', size 3085 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTickerText : public QCPAxisTicker +{ +public: + QCPAxisTickerText(); + + // getters: + QMap<double, QString> &ticks() { return mTicks; } + int subTickCount() const { return mSubTickCount; } + + // setters: + void setTicks(const QMap<double, QString> &ticks); + void setTicks(const QVector<double> &positions, const QVector<QString> labels); + void setSubTickCount(int subTicks); + + // non-virtual methods: + void clear(); + void addTick(double position, QString label); + void addTicks(const QMap<double, QString> &ticks); + void addTicks(const QVector<double> &positions, const QVector<QString> &labels); + +protected: + // property members: + QMap<double, QString> mTicks; + int mSubTickCount; + + // reimplemented virtual methods: + virtual double getTickStep(const QCPRange &range) Q_DECL_OVERRIDE; + virtual int getSubTickCount(double tickStep) Q_DECL_OVERRIDE; + virtual QString getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) Q_DECL_OVERRIDE; + virtual QVector<double> createTickVector(double tickStep, const QCPRange &range) Q_DECL_OVERRIDE; + +}; + +/* end of 'src/axis/axistickertext.h' */ + + +/* including file 'src/axis/axistickerpi.h', size 3911 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTickerPi : public QCPAxisTicker +{ + Q_GADGET +public: + /*! + Defines how fractions should be displayed in tick labels. + + \see setFractionStyle + */ + enum FractionStyle { fsFloatingPoint ///< Fractions are displayed as regular decimal floating point numbers, e.g. "0.25" or "0.125". + ,fsAsciiFractions ///< Fractions are written as rationals using ASCII characters only, e.g. "1/4" or "1/8" + ,fsUnicodeFractions ///< Fractions are written using sub- and superscript UTF-8 digits and the fraction symbol. + }; + Q_ENUMS(FractionStyle) + + QCPAxisTickerPi(); + + // getters: + QString piSymbol() const { return mPiSymbol; } + double piValue() const { return mPiValue; } + bool periodicity() const { return mPeriodicity; } + FractionStyle fractionStyle() const { return mFractionStyle; } + + // setters: + void setPiSymbol(QString symbol); + void setPiValue(double pi); + void setPeriodicity(int multiplesOfPi); + void setFractionStyle(FractionStyle style); + +protected: + // property members: + QString mPiSymbol; + double mPiValue; + int mPeriodicity; + FractionStyle mFractionStyle; + + // non-property members: + double mPiTickStep; // size of one tick step in units of mPiValue + + // reimplemented virtual methods: + virtual double getTickStep(const QCPRange &range) Q_DECL_OVERRIDE; + virtual int getSubTickCount(double tickStep) Q_DECL_OVERRIDE; + virtual QString getTickLabel(double tick, const QLocale &locale, QChar formatChar, int precision) Q_DECL_OVERRIDE; + + // non-virtual methods: + void simplifyFraction(int &numerator, int &denominator) const; + QString fractionToString(int numerator, int denominator) const; + QString unicodeFraction(int numerator, int denominator) const; + QString unicodeSuperscript(int number) const; + QString unicodeSubscript(int number) const; +}; +Q_DECLARE_METATYPE(QCPAxisTickerPi::FractionStyle) + +/* end of 'src/axis/axistickerpi.h' */ + + +/* including file 'src/axis/axistickerlog.h', size 2663 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisTickerLog : public QCPAxisTicker +{ +public: + QCPAxisTickerLog(); + + // getters: + double logBase() const { return mLogBase; } + int subTickCount() const { return mSubTickCount; } + + // setters: + void setLogBase(double base); + void setSubTickCount(int subTicks); + +protected: + // property members: + double mLogBase; + int mSubTickCount; + + // non-property members: + double mLogBaseLnInv; + + // reimplemented virtual methods: + virtual double getTickStep(const QCPRange &range) Q_DECL_OVERRIDE; + virtual int getSubTickCount(double tickStep) Q_DECL_OVERRIDE; + virtual QVector<double> createTickVector(double tickStep, const QCPRange &range) Q_DECL_OVERRIDE; +}; + +/* end of 'src/axis/axistickerlog.h' */ + + +/* including file 'src/axis/axis.h', size 20634 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPGrid :public QCPLayerable +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(bool subGridVisible READ subGridVisible WRITE setSubGridVisible) + Q_PROPERTY(bool antialiasedSubGrid READ antialiasedSubGrid WRITE setAntialiasedSubGrid) + Q_PROPERTY(bool antialiasedZeroLine READ antialiasedZeroLine WRITE setAntialiasedZeroLine) + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen subGridPen READ subGridPen WRITE setSubGridPen) + Q_PROPERTY(QPen zeroLinePen READ zeroLinePen WRITE setZeroLinePen) + /// \endcond +public: + explicit QCPGrid(QCPAxis *parentAxis); + + // getters: + bool subGridVisible() const { return mSubGridVisible; } + bool antialiasedSubGrid() const { return mAntialiasedSubGrid; } + bool antialiasedZeroLine() const { return mAntialiasedZeroLine; } + QPen pen() const { return mPen; } + QPen subGridPen() const { return mSubGridPen; } + QPen zeroLinePen() const { return mZeroLinePen; } + + // setters: + void setSubGridVisible(bool visible); + void setAntialiasedSubGrid(bool enabled); + void setAntialiasedZeroLine(bool enabled); + void setPen(const QPen &pen); + void setSubGridPen(const QPen &pen); + void setZeroLinePen(const QPen &pen); + +protected: + // property members: + bool mSubGridVisible; + bool mAntialiasedSubGrid, mAntialiasedZeroLine; + QPen mPen, mSubGridPen, mZeroLinePen; + + // non-property members: + QCPAxis *mParentAxis; + + // reimplemented virtual methods: + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + + // non-virtual methods: + void drawGridLines(QCPPainter *painter) const; + void drawSubGridLines(QCPPainter *painter) const; + + friend class QCPAxis; +}; + + +class QCP_LIB_DECL QCPAxis : public QCPLayerable +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(AxisType axisType READ axisType) + Q_PROPERTY(QCPAxisRect* axisRect READ axisRect) + Q_PROPERTY(ScaleType scaleType READ scaleType WRITE setScaleType NOTIFY scaleTypeChanged) + Q_PROPERTY(QCPRange range READ range WRITE setRange NOTIFY rangeChanged) + Q_PROPERTY(bool rangeReversed READ rangeReversed WRITE setRangeReversed) + Q_PROPERTY(QSharedPointer<QCPAxisTicker> ticker READ ticker WRITE setTicker) + Q_PROPERTY(bool ticks READ ticks WRITE setTicks) + Q_PROPERTY(bool tickLabels READ tickLabels WRITE setTickLabels) + Q_PROPERTY(int tickLabelPadding READ tickLabelPadding WRITE setTickLabelPadding) + Q_PROPERTY(QFont tickLabelFont READ tickLabelFont WRITE setTickLabelFont) + Q_PROPERTY(QColor tickLabelColor READ tickLabelColor WRITE setTickLabelColor) + Q_PROPERTY(double tickLabelRotation READ tickLabelRotation WRITE setTickLabelRotation) + Q_PROPERTY(LabelSide tickLabelSide READ tickLabelSide WRITE setTickLabelSide) + Q_PROPERTY(QString numberFormat READ numberFormat WRITE setNumberFormat) + Q_PROPERTY(int numberPrecision READ numberPrecision WRITE setNumberPrecision) + Q_PROPERTY(QVector<double> tickVector READ tickVector) + Q_PROPERTY(QVector<QString> tickVectorLabels READ tickVectorLabels) + Q_PROPERTY(int tickLengthIn READ tickLengthIn WRITE setTickLengthIn) + Q_PROPERTY(int tickLengthOut READ tickLengthOut WRITE setTickLengthOut) + Q_PROPERTY(bool subTicks READ subTicks WRITE setSubTicks) + Q_PROPERTY(int subTickLengthIn READ subTickLengthIn WRITE setSubTickLengthIn) + Q_PROPERTY(int subTickLengthOut READ subTickLengthOut WRITE setSubTickLengthOut) + Q_PROPERTY(QPen basePen READ basePen WRITE setBasePen) + Q_PROPERTY(QPen tickPen READ tickPen WRITE setTickPen) + Q_PROPERTY(QPen subTickPen READ subTickPen WRITE setSubTickPen) + Q_PROPERTY(QFont labelFont READ labelFont WRITE setLabelFont) + Q_PROPERTY(QColor labelColor READ labelColor WRITE setLabelColor) + Q_PROPERTY(QString label READ label WRITE setLabel) + Q_PROPERTY(int labelPadding READ labelPadding WRITE setLabelPadding) + Q_PROPERTY(int padding READ padding WRITE setPadding) + Q_PROPERTY(int offset READ offset WRITE setOffset) + Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE setSelectedParts NOTIFY selectionChanged) + Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE setSelectableParts NOTIFY selectableChanged) + Q_PROPERTY(QFont selectedTickLabelFont READ selectedTickLabelFont WRITE setSelectedTickLabelFont) + Q_PROPERTY(QFont selectedLabelFont READ selectedLabelFont WRITE setSelectedLabelFont) + Q_PROPERTY(QColor selectedTickLabelColor READ selectedTickLabelColor WRITE setSelectedTickLabelColor) + Q_PROPERTY(QColor selectedLabelColor READ selectedLabelColor WRITE setSelectedLabelColor) + Q_PROPERTY(QPen selectedBasePen READ selectedBasePen WRITE setSelectedBasePen) + Q_PROPERTY(QPen selectedTickPen READ selectedTickPen WRITE setSelectedTickPen) + Q_PROPERTY(QPen selectedSubTickPen READ selectedSubTickPen WRITE setSelectedSubTickPen) + Q_PROPERTY(QCPLineEnding lowerEnding READ lowerEnding WRITE setLowerEnding) + Q_PROPERTY(QCPLineEnding upperEnding READ upperEnding WRITE setUpperEnding) + Q_PROPERTY(QCPGrid* grid READ grid) + /// \endcond +public: + /*! + Defines at which side of the axis rect the axis will appear. This also affects how the tick + marks are drawn, on which side the labels are placed etc. + */ + enum AxisType { atLeft = 0x01 ///< <tt>0x01</tt> Axis is vertical and on the left side of the axis rect + ,atRight = 0x02 ///< <tt>0x02</tt> Axis is vertical and on the right side of the axis rect + ,atTop = 0x04 ///< <tt>0x04</tt> Axis is horizontal and on the top side of the axis rect + ,atBottom = 0x08 ///< <tt>0x08</tt> Axis is horizontal and on the bottom side of the axis rect + }; + Q_ENUMS(AxisType) + Q_FLAGS(AxisTypes) + Q_DECLARE_FLAGS(AxisTypes, AxisType) + /*! + Defines on which side of the axis the tick labels (numbers) shall appear. + + \see setTickLabelSide + */ + enum LabelSide { lsInside ///< Tick labels will be displayed inside the axis rect and clipped to the inner axis rect + ,lsOutside ///< Tick labels will be displayed outside the axis rect + }; + Q_ENUMS(LabelSide) + /*! + Defines the scale of an axis. + \see setScaleType + */ + enum ScaleType { stLinear ///< Linear scaling + ,stLogarithmic ///< Logarithmic scaling with correspondingly transformed axis coordinates (possibly also \ref setTicker to a \ref QCPAxisTickerLog instance). + }; + Q_ENUMS(ScaleType) + /*! + Defines the selectable parts of an axis. + \see setSelectableParts, setSelectedParts + */ + enum SelectablePart { spNone = 0 ///< None of the selectable parts + ,spAxis = 0x001 ///< The axis backbone and tick marks + ,spTickLabels = 0x002 ///< Tick labels (numbers) of this axis (as a whole, not individually) + ,spAxisLabel = 0x004 ///< The axis label + }; + Q_ENUMS(SelectablePart) + Q_FLAGS(SelectableParts) + Q_DECLARE_FLAGS(SelectableParts, SelectablePart) + + explicit QCPAxis(QCPAxisRect *parent, AxisType type); + virtual ~QCPAxis(); + + // getters: + AxisType axisType() const { return mAxisType; } + QCPAxisRect *axisRect() const { return mAxisRect; } + ScaleType scaleType() const { return mScaleType; } + const QCPRange range() const { return mRange; } + bool rangeReversed() const { return mRangeReversed; } + QSharedPointer<QCPAxisTicker> ticker() const { return mTicker; } + bool ticks() const { return mTicks; } + bool tickLabels() const { return mTickLabels; } + int tickLabelPadding() const; + QFont tickLabelFont() const { return mTickLabelFont; } + QColor tickLabelColor() const { return mTickLabelColor; } + double tickLabelRotation() const; + LabelSide tickLabelSide() const; + QString numberFormat() const; + int numberPrecision() const { return mNumberPrecision; } + QVector<double> tickVector() const { return mTickVector; } + QVector<QString> tickVectorLabels() const { return mTickVectorLabels; } + int tickLengthIn() const; + int tickLengthOut() const; + bool subTicks() const { return mSubTicks; } + int subTickLengthIn() const; + int subTickLengthOut() const; + QPen basePen() const { return mBasePen; } + QPen tickPen() const { return mTickPen; } + QPen subTickPen() const { return mSubTickPen; } + QFont labelFont() const { return mLabelFont; } + QColor labelColor() const { return mLabelColor; } + QString label() const { return mLabel; } + int labelPadding() const; + int padding() const { return mPadding; } + int offset() const; + SelectableParts selectedParts() const { return mSelectedParts; } + SelectableParts selectableParts() const { return mSelectableParts; } + QFont selectedTickLabelFont() const { return mSelectedTickLabelFont; } + QFont selectedLabelFont() const { return mSelectedLabelFont; } + QColor selectedTickLabelColor() const { return mSelectedTickLabelColor; } + QColor selectedLabelColor() const { return mSelectedLabelColor; } + QPen selectedBasePen() const { return mSelectedBasePen; } + QPen selectedTickPen() const { return mSelectedTickPen; } + QPen selectedSubTickPen() const { return mSelectedSubTickPen; } + QCPLineEnding lowerEnding() const; + QCPLineEnding upperEnding() const; + QCPGrid *grid() const { return mGrid; } + + // setters: + Q_SLOT void setScaleType(QCPAxis::ScaleType type); + Q_SLOT void setRange(const QCPRange &range); + void setRange(double lower, double upper); + void setRange(double position, double size, Qt::AlignmentFlag alignment); + void setRangeLower(double lower); + void setRangeUpper(double upper); + void setRangeReversed(bool reversed); + void setTicker(QSharedPointer<QCPAxisTicker> ticker); + void setTicks(bool show); + void setTickLabels(bool show); + void setTickLabelPadding(int padding); + void setTickLabelFont(const QFont &font); + void setTickLabelColor(const QColor &color); + void setTickLabelRotation(double degrees); + void setTickLabelSide(LabelSide side); + void setNumberFormat(const QString &formatCode); + void setNumberPrecision(int precision); + void setTickLength(int inside, int outside=0); + void setTickLengthIn(int inside); + void setTickLengthOut(int outside); + void setSubTicks(bool show); + void setSubTickLength(int inside, int outside=0); + void setSubTickLengthIn(int inside); + void setSubTickLengthOut(int outside); + void setBasePen(const QPen &pen); + void setTickPen(const QPen &pen); + void setSubTickPen(const QPen &pen); + void setLabelFont(const QFont &font); + void setLabelColor(const QColor &color); + void setLabel(const QString &str); + void setLabelPadding(int padding); + void setPadding(int padding); + void setOffset(int offset); + void setSelectedTickLabelFont(const QFont &font); + void setSelectedLabelFont(const QFont &font); + void setSelectedTickLabelColor(const QColor &color); + void setSelectedLabelColor(const QColor &color); + void setSelectedBasePen(const QPen &pen); + void setSelectedTickPen(const QPen &pen); + void setSelectedSubTickPen(const QPen &pen); + Q_SLOT void setSelectableParts(const QCPAxis::SelectableParts &selectableParts); + Q_SLOT void setSelectedParts(const QCPAxis::SelectableParts &selectedParts); + void setLowerEnding(const QCPLineEnding &ending); + void setUpperEnding(const QCPLineEnding &ending); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + // non-property methods: + Qt::Orientation orientation() const { return mOrientation; } + int pixelOrientation() const { return rangeReversed() != (orientation()==Qt::Vertical) ? -1 : 1; } + void moveRange(double diff); + void scaleRange(double factor); + void scaleRange(double factor, double center); + void setScaleRatio(const QCPAxis *otherAxis, double ratio=1.0); + void rescale(bool onlyVisiblePlottables=false); + double pixelToCoord(double value) const; + double coordToPixel(double value) const; + SelectablePart getPartAt(const QPointF &pos) const; + QList<QCPAbstractPlottable*> plottables() const; + QList<QCPGraph*> graphs() const; + QList<QCPAbstractItem*> items() const; + + static AxisType marginSideToAxisType(QCP::MarginSide side); + static Qt::Orientation orientation(AxisType type) { return type==atBottom||type==atTop ? Qt::Horizontal : Qt::Vertical; } + static AxisType opposite(AxisType type); + +signals: + void rangeChanged(const QCPRange &newRange); + void rangeChanged(const QCPRange &newRange, const QCPRange &oldRange); + void scaleTypeChanged(QCPAxis::ScaleType scaleType); + void selectionChanged(const QCPAxis::SelectableParts &parts); + void selectableChanged(const QCPAxis::SelectableParts &parts); + +protected: + // property members: + // axis base: + AxisType mAxisType; + QCPAxisRect *mAxisRect; + //int mOffset; // in QCPAxisPainter + int mPadding; + Qt::Orientation mOrientation; + SelectableParts mSelectableParts, mSelectedParts; + QPen mBasePen, mSelectedBasePen; + //QCPLineEnding mLowerEnding, mUpperEnding; // in QCPAxisPainter + // axis label: + //int mLabelPadding; // in QCPAxisPainter + QString mLabel; + QFont mLabelFont, mSelectedLabelFont; + QColor mLabelColor, mSelectedLabelColor; + // tick labels: + //int mTickLabelPadding; // in QCPAxisPainter + bool mTickLabels; + //double mTickLabelRotation; // in QCPAxisPainter + QFont mTickLabelFont, mSelectedTickLabelFont; + QColor mTickLabelColor, mSelectedTickLabelColor; + int mNumberPrecision; + QLatin1Char mNumberFormatChar; + bool mNumberBeautifulPowers; + //bool mNumberMultiplyCross; // QCPAxisPainter + // ticks and subticks: + bool mTicks; + bool mSubTicks; + //int mTickLengthIn, mTickLengthOut, mSubTickLengthIn, mSubTickLengthOut; // QCPAxisPainter + QPen mTickPen, mSelectedTickPen; + QPen mSubTickPen, mSelectedSubTickPen; + // scale and range: + QCPRange mRange; + bool mRangeReversed; + ScaleType mScaleType; + + // non-property members: + QCPGrid *mGrid; + QCPAxisPainterPrivate *mAxisPainter; + QSharedPointer<QCPAxisTicker> mTicker; + QVector<double> mTickVector; + QVector<QString> mTickVectorLabels; + QVector<double> mSubTickVector; + bool mCachedMarginValid; + int mCachedMargin; + bool mDragging; + QCPRange mDragStartRange; + QCP::AntialiasedElements mAADragBackup, mNotAADragBackup; + + // introduced virtual methods: + virtual int calculateMargin(); + + // reimplemented virtual methods: + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QCP::Interaction selectionCategory() const Q_DECL_OVERRIDE; + // events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE; + virtual void deselectEvent(bool *selectionStateChanged) Q_DECL_OVERRIDE; + // mouse events: + virtual void mousePressEvent(QMouseEvent *event, const QVariant &details) Q_DECL_OVERRIDE; + virtual void mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE; + + // non-virtual methods: + void setupTickVectors(); + QPen getBasePen() const; + QPen getTickPen() const; + QPen getSubTickPen() const; + QFont getTickLabelFont() const; + QFont getLabelFont() const; + QColor getTickLabelColor() const; + QColor getLabelColor() const; + +private: + Q_DISABLE_COPY(QCPAxis) + + friend class QCustomPlot; + friend class QCPGrid; + friend class QCPAxisRect; +}; +Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::SelectableParts) +Q_DECLARE_OPERATORS_FOR_FLAGS(QCPAxis::AxisTypes) +Q_DECLARE_METATYPE(QCPAxis::AxisType) +Q_DECLARE_METATYPE(QCPAxis::LabelSide) +Q_DECLARE_METATYPE(QCPAxis::ScaleType) +Q_DECLARE_METATYPE(QCPAxis::SelectablePart) + + +class QCPAxisPainterPrivate +{ +public: + explicit QCPAxisPainterPrivate(QCustomPlot *parentPlot); + virtual ~QCPAxisPainterPrivate(); + + virtual void draw(QCPPainter *painter); + virtual int size() const; + void clearCache(); + + QRect axisSelectionBox() const { return mAxisSelectionBox; } + QRect tickLabelsSelectionBox() const { return mTickLabelsSelectionBox; } + QRect labelSelectionBox() const { return mLabelSelectionBox; } + + // public property members: + QCPAxis::AxisType type; + QPen basePen; + QCPLineEnding lowerEnding, upperEnding; // directly accessed by QCPAxis setters/getters + int labelPadding; // directly accessed by QCPAxis setters/getters + QFont labelFont; + QColor labelColor; + QString label; + int tickLabelPadding; // directly accessed by QCPAxis setters/getters + double tickLabelRotation; // directly accessed by QCPAxis setters/getters + QCPAxis::LabelSide tickLabelSide; // directly accessed by QCPAxis setters/getters + bool substituteExponent; + bool numberMultiplyCross; // directly accessed by QCPAxis setters/getters + int tickLengthIn, tickLengthOut, subTickLengthIn, subTickLengthOut; // directly accessed by QCPAxis setters/getters + QPen tickPen, subTickPen; + QFont tickLabelFont; + QColor tickLabelColor; + QRect axisRect, viewportRect; + double offset; // directly accessed by QCPAxis setters/getters + bool abbreviateDecimalPowers; + bool reversedEndings; + + QVector<double> subTickPositions; + QVector<double> tickPositions; + QVector<QString> tickLabels; + +protected: + struct CachedLabel + { + QPointF offset; + QPixmap pixmap; + }; + struct TickLabelData + { + QString basePart, expPart, suffixPart; + QRect baseBounds, expBounds, suffixBounds, totalBounds, rotatedTotalBounds; + QFont baseFont, expFont; + }; + QCustomPlot *mParentPlot; + QByteArray mLabelParameterHash; // to determine whether mLabelCache needs to be cleared due to changed parameters + QCache<QString, CachedLabel> mLabelCache; + QRect mAxisSelectionBox, mTickLabelsSelectionBox, mLabelSelectionBox; + + virtual QByteArray generateLabelParameterHash() const; + + virtual void placeTickLabel(QCPPainter *painter, double position, int distanceToAxis, const QString &text, QSize *tickLabelsSize); + virtual void drawTickLabel(QCPPainter *painter, double x, double y, const TickLabelData &labelData) const; + virtual TickLabelData getTickLabelData(const QFont &font, const QString &text) const; + virtual QPointF getTickLabelDrawOffset(const TickLabelData &labelData) const; + virtual void getMaxTickLabelSize(const QFont &font, const QString &text, QSize *tickLabelsSize) const; +}; + +/* end of 'src/axis/axis.h' */ + + +/* including file 'src/scatterstyle.h', size 7275 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPScatterStyle +{ + Q_GADGET +public: + /*! + Represents the various properties of a scatter style instance. For example, this enum is used + to specify which properties of \ref QCPSelectionDecorator::setScatterStyle will be used when + highlighting selected data points. + + Specific scatter properties can be transferred between \ref QCPScatterStyle instances via \ref + setFromOther. + */ + enum ScatterProperty { spNone = 0x00 ///< <tt>0x00</tt> None + ,spPen = 0x01 ///< <tt>0x01</tt> The pen property, see \ref setPen + ,spBrush = 0x02 ///< <tt>0x02</tt> The brush property, see \ref setBrush + ,spSize = 0x04 ///< <tt>0x04</tt> The size property, see \ref setSize + ,spShape = 0x08 ///< <tt>0x08</tt> The shape property, see \ref setShape + ,spAll = 0xFF ///< <tt>0xFF</tt> All properties + }; + Q_ENUMS(ScatterProperty) + Q_FLAGS(ScatterProperties) + Q_DECLARE_FLAGS(ScatterProperties, ScatterProperty) + + /*! + Defines the shape used for scatter points. + + On plottables/items that draw scatters, the sizes of these visualizations (with exception of + \ref ssDot and \ref ssPixmap) can be controlled with the \ref setSize function. Scatters are + drawn with the pen and brush specified with \ref setPen and \ref setBrush. + */ + enum ScatterShape { ssNone ///< no scatter symbols are drawn (e.g. in QCPGraph, data only represented with lines) + ,ssDot ///< \enumimage{ssDot.png} a single pixel (use \ref ssDisc or \ref ssCircle if you want a round shape with a certain radius) + ,ssCross ///< \enumimage{ssCross.png} a cross + ,ssPlus ///< \enumimage{ssPlus.png} a plus + ,ssCircle ///< \enumimage{ssCircle.png} a circle + ,ssDisc ///< \enumimage{ssDisc.png} a circle which is filled with the pen's color (not the brush as with ssCircle) + ,ssSquare ///< \enumimage{ssSquare.png} a square + ,ssDiamond ///< \enumimage{ssDiamond.png} a diamond + ,ssStar ///< \enumimage{ssStar.png} a star with eight arms, i.e. a combination of cross and plus + ,ssTriangle ///< \enumimage{ssTriangle.png} an equilateral triangle, standing on baseline + ,ssTriangleInverted ///< \enumimage{ssTriangleInverted.png} an equilateral triangle, standing on corner + ,ssCrossSquare ///< \enumimage{ssCrossSquare.png} a square with a cross inside + ,ssPlusSquare ///< \enumimage{ssPlusSquare.png} a square with a plus inside + ,ssCrossCircle ///< \enumimage{ssCrossCircle.png} a circle with a cross inside + ,ssPlusCircle ///< \enumimage{ssPlusCircle.png} a circle with a plus inside + ,ssPeace ///< \enumimage{ssPeace.png} a circle, with one vertical and two downward diagonal lines + ,ssPixmap ///< a custom pixmap specified by \ref setPixmap, centered on the data point coordinates + ,ssCustom ///< custom painter operations are performed per scatter (As QPainterPath, see \ref setCustomPath) + }; + Q_ENUMS(ScatterShape) + + QCPScatterStyle(); + QCPScatterStyle(ScatterShape shape, double size=6); + QCPScatterStyle(ScatterShape shape, const QColor &color, double size); + QCPScatterStyle(ScatterShape shape, const QColor &color, const QColor &fill, double size); + QCPScatterStyle(ScatterShape shape, const QPen &pen, const QBrush &brush, double size); + QCPScatterStyle(const QPixmap &pixmap); + QCPScatterStyle(const QPainterPath &customPath, const QPen &pen, const QBrush &brush=Qt::NoBrush, double size=6); + + // getters: + double size() const { return mSize; } + ScatterShape shape() const { return mShape; } + QPen pen() const { return mPen; } + QBrush brush() const { return mBrush; } + QPixmap pixmap() const { return mPixmap; } + QPainterPath customPath() const { return mCustomPath; } + + // setters: + void setFromOther(const QCPScatterStyle &other, ScatterProperties properties); + void setSize(double size); + void setShape(ScatterShape shape); + void setPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setPixmap(const QPixmap &pixmap); + void setCustomPath(const QPainterPath &customPath); + + // non-property methods: + bool isNone() const { return mShape == ssNone; } + bool isPenDefined() const { return mPenDefined; } + void undefinePen(); + void applyTo(QCPPainter *painter, const QPen &defaultPen) const; + void drawShape(QCPPainter *painter, const QPointF &pos) const; + void drawShape(QCPPainter *painter, double x, double y) const; + +protected: + // property members: + double mSize; + ScatterShape mShape; + QPen mPen; + QBrush mBrush; + QPixmap mPixmap; + QPainterPath mCustomPath; + + // non-property members: + bool mPenDefined; +}; +Q_DECLARE_TYPEINFO(QCPScatterStyle, Q_MOVABLE_TYPE); +Q_DECLARE_OPERATORS_FOR_FLAGS(QCPScatterStyle::ScatterProperties) +Q_DECLARE_METATYPE(QCPScatterStyle::ScatterProperty) +Q_DECLARE_METATYPE(QCPScatterStyle::ScatterShape) + +/* end of 'src/scatterstyle.h' */ + + +/* including file 'src/datacontainer.h', size 4596 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +/*! \relates QCPDataContainer + Returns whether the sort key of \a a is less than the sort key of \a b. + + \see QCPDataContainer::sort +*/ +template <class DataType> +inline bool qcpLessThanSortKey(const DataType &a, const DataType &b) { return a.sortKey() < b.sortKey(); } + +template <class DataType> +class QCPDataContainer // no QCP_LIB_DECL, template class ends up in header (cpp included below) +{ +public: + typedef typename QVector<DataType>::const_iterator const_iterator; + typedef typename QVector<DataType>::iterator iterator; + + QCPDataContainer(); + + // getters: + int size() const { return mData.size()-mPreallocSize; } + bool isEmpty() const { return size() == 0; } + bool autoSqueeze() const { return mAutoSqueeze; } + + // setters: + void setAutoSqueeze(bool enabled); + + // non-virtual methods: + void set(const QCPDataContainer<DataType> &data); + void set(const QVector<DataType> &data, bool alreadySorted=false); + void add(const QCPDataContainer<DataType> &data); + void add(const QVector<DataType> &data, bool alreadySorted=false); + void add(const DataType &data); + void removeBefore(double sortKey); + void removeAfter(double sortKey); + void remove(double sortKeyFrom, double sortKeyTo); + void remove(double sortKey); + void clear(); + void sort(); + void squeeze(bool preAllocation=true, bool postAllocation=true); + + const_iterator constBegin() const { return mData.constBegin()+mPreallocSize; } + const_iterator constEnd() const { return mData.constEnd(); } + iterator begin() { return mData.begin()+mPreallocSize; } + iterator end() { return mData.end(); } + const_iterator findBegin(double sortKey, bool expandedRange=true) const; + const_iterator findEnd(double sortKey, bool expandedRange=true) const; + const_iterator at(int index) const { return constBegin()+qBound(0, index, size()); } + QCPRange keyRange(bool &foundRange, QCP::SignDomain signDomain=QCP::sdBoth); + QCPRange valueRange(bool &foundRange, QCP::SignDomain signDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()); + QCPDataRange dataRange() const { return QCPDataRange(0, size()); } + void limitIteratorsToDataRange(const_iterator &begin, const_iterator &end, const QCPDataRange &dataRange) const; + +protected: + // property members: + bool mAutoSqueeze; + + // non-property memebers: + QVector<DataType> mData; + int mPreallocSize; + int mPreallocIteration; + + // non-virtual methods: + void preallocateGrow(int minimumPreallocSize); + void performAutoSqueeze(); +}; + +// include implementation in header since it is a class template: + +/* including file 'src/datacontainer.cpp', size 31349 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPDataContainer +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPDataContainer + \brief The generic data container for one-dimensional plottables + + This class template provides a fast container for data storage of one-dimensional data. The data + type is specified as template parameter (called \a DataType in the following) and must provide + some methods as described in the \ref qcpdatacontainer-datatype "next section". + + The data is stored in a sorted fashion, which allows very quick lookups by the sorted key as well + as retrieval of ranges (see \ref findBegin, \ref findEnd, \ref keyRange) using binary search. The + container uses a preallocation and a postallocation scheme, such that appending and prepending + data (with respect to the sort key) is very fast and minimizes reallocations. If data is added + which needs to be inserted between existing keys, the merge usually can be done quickly too, + using the fact that existing data is always sorted. The user can further improve performance by + specifying that added data is already itself sorted by key, if he can guarantee that this is the + case (see for example \ref add(const QVector<DataType> &data, bool alreadySorted)). + + The data can be accessed with the provided const iterators (\ref constBegin, \ref constEnd). If + it is necessary to alter existing data in-place, the non-const iterators can be used (\ref begin, + \ref end). Changing data members that are not the sort key (for most data types called \a key) is + safe from the container's perspective. + + Great care must be taken however if the sort key is modified through the non-const iterators. For + performance reasons, the iterators don't automatically cause a re-sorting upon their + manipulation. It is thus the responsibility of the user to leave the container in a sorted state + when finished with the data manipulation, before calling any other methods on the container. A + complete re-sort (e.g. after finishing all sort key manipulation) can be done by calling \ref + sort. Failing to do so can not be detected by the container efficiently and will cause both + rendering artifacts and potential data loss. + + Implementing one-dimensional plottables that make use of a \ref QCPDataContainer<T> is usually + done by subclassing from \ref QCPAbstractPlottable1D "QCPAbstractPlottable1D<T>", which + introduces an according \a mDataContainer member and some convenience methods. + + \section qcpdatacontainer-datatype Requirements for the DataType template parameter + + The template parameter <tt>DataType</tt> is the type of the stored data points. It must be + trivially copyable and have the following public methods, preferably inline: + + \li <tt>double sortKey() const</tt>\n Returns the member variable of this data point that is the + sort key, defining the ordering in the container. Often this variable is simply called \a key. + + \li <tt>static DataType fromSortKey(double sortKey)</tt>\n Returns a new instance of the data + type initialized with its sort key set to \a sortKey. + + \li <tt>static bool sortKeyIsMainKey()</tt>\n Returns true if the sort key is equal to the main + key (see method \c mainKey below). For most plottables this is the case. It is not the case for + example for \ref QCPCurve, which uses \a t as sort key and \a key as main key. This is the reason + why QCPCurve unlike QCPGraph can display parametric curves with loops. + + \li <tt>double mainKey() const</tt>\n Returns the variable of this data point considered the main + key. This is commonly the variable that is used as the coordinate of this data point on the key + axis of the plottable. This method is used for example when determining the automatic axis + rescaling of key axes (\ref QCPAxis::rescale). + + \li <tt>double mainValue() const</tt>\n Returns the variable of this data point considered the + main value. This is commonly the variable that is used as the coordinate of this data point on + the value axis of the plottable. + + \li <tt>QCPRange valueRange() const</tt>\n Returns the range this data point spans in the value + axis coordinate. If the data is single-valued (e.g. QCPGraphData), this is simply a range with + both lower and upper set to the main data point value. However if the data points can represent + multiple values at once (e.g QCPFinancialData with its \a high, \a low, \a open and \a close + values at each \a key) this method should return the range those values span. This method is used + for example when determining the automatic axis rescaling of value axes (\ref + QCPAxis::rescale). +*/ + +/* start documentation of inline functions */ + +/*! \fn int QCPDataContainer<DataType>::size() const + + Returns the number of data points in the container. +*/ + +/*! \fn bool QCPDataContainer<DataType>::isEmpty() const + + Returns whether this container holds no data points. +*/ + +/*! \fn QCPDataContainer::const_iterator QCPDataContainer<DataType>::constBegin() const + + Returns a const iterator to the first data point in this container. +*/ + +/*! \fn QCPDataContainer::const_iterator QCPDataContainer<DataType>::constEnd() const + + Returns a const iterator to the element past the last data point in this container. +*/ + +/*! \fn QCPDataContainer::iterator QCPDataContainer<DataType>::begin() const + + Returns a non-const iterator to the first data point in this container. + + You can manipulate the data points in-place through the non-const iterators, but great care must + be taken when manipulating the sort key of a data point, see \ref sort, or the detailed + description of this class. +*/ + +/*! \fn QCPDataContainer::iterator QCPDataContainer<DataType>::end() const + + Returns a non-const iterator to the element past the last data point in this container. + + You can manipulate the data points in-place through the non-const iterators, but great care must + be taken when manipulating the sort key of a data point, see \ref sort, or the detailed + description of this class. +*/ + +/*! \fn QCPDataContainer::const_iterator QCPDataContainer<DataType>::at(int index) const + + Returns a const iterator to the element with the specified \a index. If \a index points beyond + the available elements in this container, returns \ref constEnd, i.e. an iterator past the last + valid element. + + You can use this method to easily obtain iterators from a \ref QCPDataRange, see the \ref + dataselection-accessing "data selection page" for an example. +*/ + +/*! \fn QCPDataRange QCPDataContainer::dataRange() const + + Returns a \ref QCPDataRange encompassing the entire data set of this container. This means the + begin index of the returned range is 0, and the end index is \ref size. +*/ + +/* end documentation of inline functions */ + +/*! + Constructs a QCPDataContainer used for plottable classes that represent a series of key-sorted + data +*/ +template <class DataType> +QCPDataContainer<DataType>::QCPDataContainer() : + mAutoSqueeze(true), + mPreallocSize(0), + mPreallocIteration(0) +{ +} + +/*! + Sets whether the container automatically decides when to release memory from its post- and + preallocation pools when data points are removed. By default this is enabled and for typical + applications shouldn't be changed. + + If auto squeeze is disabled, you can manually decide when to release pre-/postallocation with + \ref squeeze. +*/ +template <class DataType> +void QCPDataContainer<DataType>::setAutoSqueeze(bool enabled) +{ + if (mAutoSqueeze != enabled) + { + mAutoSqueeze = enabled; + if (mAutoSqueeze) + performAutoSqueeze(); + } +} + +/*! \overload + + Replaces the current data in this container with the provided \a data. + + \see add, remove +*/ +template <class DataType> +void QCPDataContainer<DataType>::set(const QCPDataContainer<DataType> &data) +{ + clear(); + add(data); +} + +/*! \overload + + Replaces the current data in this container with the provided \a data + + If you can guarantee that the data points in \a data have ascending order with respect to the + DataType's sort key, set \a alreadySorted to true to avoid an unnecessary sorting run. + + \see add, remove +*/ +template <class DataType> +void QCPDataContainer<DataType>::set(const QVector<DataType> &data, bool alreadySorted) +{ + mData = data; + mPreallocSize = 0; + mPreallocIteration = 0; + if (!alreadySorted) + sort(); +} + +/*! \overload + + Adds the provided \a data to the current data in this container. + + \see set, remove +*/ +template <class DataType> +void QCPDataContainer<DataType>::add(const QCPDataContainer<DataType> &data) +{ + if (data.isEmpty()) + return; + + const int n = data.size(); + const int oldSize = size(); + + if (oldSize > 0 && !qcpLessThanSortKey<DataType>(*constBegin(), *(data.constEnd()-1))) // prepend if new data keys are all smaller than or equal to existing ones + { + if (mPreallocSize < n) + preallocateGrow(n); + mPreallocSize -= n; + std::copy(data.constBegin(), data.constEnd(), begin()); + } else // don't need to prepend, so append and merge if necessary + { + mData.resize(mData.size()+n); + std::copy(data.constBegin(), data.constEnd(), end()-n); + if (oldSize > 0 && !qcpLessThanSortKey<DataType>(*(constEnd()-n-1), *(constEnd()-n))) // if appended range keys aren't all greater than existing ones, merge the two partitions + std::inplace_merge(begin(), end()-n, end(), qcpLessThanSortKey<DataType>); + } +} + +/*! + Adds the provided data points in \a data to the current data. + + If you can guarantee that the data points in \a data have ascending order with respect to the + DataType's sort key, set \a alreadySorted to true to avoid an unnecessary sorting run. + + \see set, remove +*/ +template <class DataType> +void QCPDataContainer<DataType>::add(const QVector<DataType> &data, bool alreadySorted) +{ + if (data.isEmpty()) + return; + if (isEmpty()) + { + set(data, alreadySorted); + return; + } + + const int n = data.size(); + const int oldSize = size(); + + if (alreadySorted && oldSize > 0 && !qcpLessThanSortKey<DataType>(*constBegin(), *(data.constEnd()-1))) // prepend if new data is sorted and keys are all smaller than or equal to existing ones + { + if (mPreallocSize < n) + preallocateGrow(n); + mPreallocSize -= n; + std::copy(data.constBegin(), data.constEnd(), begin()); + } else // don't need to prepend, so append and then sort and merge if necessary + { + mData.resize(mData.size()+n); + std::copy(data.constBegin(), data.constEnd(), end()-n); + if (!alreadySorted) // sort appended subrange if it wasn't already sorted + std::sort(end()-n, end(), qcpLessThanSortKey<DataType>); + if (oldSize > 0 && !qcpLessThanSortKey<DataType>(*(constEnd()-n-1), *(constEnd()-n))) // if appended range keys aren't all greater than existing ones, merge the two partitions + std::inplace_merge(begin(), end()-n, end(), qcpLessThanSortKey<DataType>); + } +} + +/*! \overload + + Adds the provided single data point to the current data. + + \see remove +*/ +template <class DataType> +void QCPDataContainer<DataType>::add(const DataType &data) +{ + if (isEmpty() || !qcpLessThanSortKey<DataType>(data, *(constEnd()-1))) // quickly handle appends if new data key is greater or equal to existing ones + { + mData.append(data); + } else if (qcpLessThanSortKey<DataType>(data, *constBegin())) // quickly handle prepends using preallocated space + { + if (mPreallocSize < 1) + preallocateGrow(1); + --mPreallocSize; + *begin() = data; + } else // handle inserts, maintaining sorted keys + { + QCPDataContainer<DataType>::iterator insertionPoint = std::lower_bound(begin(), end(), data, qcpLessThanSortKey<DataType>); + mData.insert(insertionPoint, data); + } +} + +/*! + Removes all data points with (sort-)keys smaller than or equal to \a sortKey. + + \see removeAfter, remove, clear +*/ +template <class DataType> +void QCPDataContainer<DataType>::removeBefore(double sortKey) +{ + QCPDataContainer<DataType>::iterator it = begin(); + QCPDataContainer<DataType>::iterator itEnd = std::lower_bound(begin(), end(), DataType::fromSortKey(sortKey), qcpLessThanSortKey<DataType>); + mPreallocSize += itEnd-it; // don't actually delete, just add it to the preallocated block (if it gets too large, squeeze will take care of it) + if (mAutoSqueeze) + performAutoSqueeze(); +} + +/*! + Removes all data points with (sort-)keys greater than or equal to \a sortKey. + + \see removeBefore, remove, clear +*/ +template <class DataType> +void QCPDataContainer<DataType>::removeAfter(double sortKey) +{ + QCPDataContainer<DataType>::iterator it = std::upper_bound(begin(), end(), DataType::fromSortKey(sortKey), qcpLessThanSortKey<DataType>); + QCPDataContainer<DataType>::iterator itEnd = end(); + mData.erase(it, itEnd); // typically adds it to the postallocated block + if (mAutoSqueeze) + performAutoSqueeze(); +} + +/*! + Removes all data points with (sort-)keys between \a sortKeyFrom and \a sortKeyTo. if \a + sortKeyFrom is greater or equal to \a sortKeyTo, the function does nothing. To remove a single + data point with known (sort-)key, use \ref remove(double sortKey). + + \see removeBefore, removeAfter, clear +*/ +template <class DataType> +void QCPDataContainer<DataType>::remove(double sortKeyFrom, double sortKeyTo) +{ + if (sortKeyFrom >= sortKeyTo || isEmpty()) + return; + + QCPDataContainer<DataType>::iterator it = std::lower_bound(begin(), end(), DataType::fromSortKey(sortKeyFrom), qcpLessThanSortKey<DataType>); + QCPDataContainer<DataType>::iterator itEnd = std::upper_bound(it, end(), DataType::fromSortKey(sortKeyTo), qcpLessThanSortKey<DataType>); + mData.erase(it, itEnd); + if (mAutoSqueeze) + performAutoSqueeze(); +} + +/*! \overload + + Removes a single data point at \a sortKey. If the position is not known with absolute (binary) + precision, consider using \ref remove(double sortKeyFrom, double sortKeyTo) with a small + fuzziness interval around the suspected position, depeding on the precision with which the + (sort-)key is known. + + \see removeBefore, removeAfter, clear +*/ +template <class DataType> +void QCPDataContainer<DataType>::remove(double sortKey) +{ + QCPDataContainer::iterator it = std::lower_bound(begin(), end(), DataType::fromSortKey(sortKey), qcpLessThanSortKey<DataType>); + if (it != end() && it->sortKey() == sortKey) + { + if (it == begin()) + ++mPreallocSize; // don't actually delete, just add it to the preallocated block (if it gets too large, squeeze will take care of it) + else + mData.erase(it); + } + if (mAutoSqueeze) + performAutoSqueeze(); +} + +/*! + Removes all data points. + + \see remove, removeAfter, removeBefore +*/ +template <class DataType> +void QCPDataContainer<DataType>::clear() +{ + mData.clear(); + mPreallocIteration = 0; + mPreallocSize = 0; +} + +/*! + Re-sorts all data points in the container by their sort key. + + When setting, adding or removing points using the QCPDataContainer interface (\ref set, \ref add, + \ref remove, etc.), the container makes sure to always stay in a sorted state such that a full + resort is never necessary. However, if you choose to directly manipulate the sort key on data + points by accessing and modifying it through the non-const iterators (\ref begin, \ref end), it + is your responsibility to bring the container back into a sorted state before any other methods + are called on it. This can be achieved by calling this method immediately after finishing the + sort key manipulation. +*/ +template <class DataType> +void QCPDataContainer<DataType>::sort() +{ + std::sort(begin(), end(), qcpLessThanSortKey<DataType>); +} + +/*! + Frees all unused memory that is currently in the preallocation and postallocation pools. + + Note that QCPDataContainer automatically decides whether squeezing is necessary, if \ref + setAutoSqueeze is left enabled. It should thus not be necessary to use this method for typical + applications. + + The parameters \a preAllocation and \a postAllocation control whether pre- and/or post allocation + should be freed, respectively. +*/ +template <class DataType> +void QCPDataContainer<DataType>::squeeze(bool preAllocation, bool postAllocation) +{ + if (preAllocation) + { + if (mPreallocSize > 0) + { + std::copy(begin(), end(), mData.begin()); + mData.resize(size()); + mPreallocSize = 0; + } + mPreallocIteration = 0; + } + if (postAllocation) + mData.squeeze(); +} + +/*! + Returns an iterator to the data point with a (sort-)key that is equal to, just below, or just + above \a sortKey. If \a expandedRange is true, the data point just below \a sortKey will be + considered, otherwise the one just above. + + This can be used in conjunction with \ref findEnd to iterate over data points within a given key + range, including or excluding the bounding data points that are just beyond the specified range. + + If \a expandedRange is true but there are no data points below \a sortKey, \ref constBegin is + returned. + + If the container is empty, returns \ref constEnd. + + \see findEnd, QCPPlottableInterface1D::findBegin +*/ +template <class DataType> +typename QCPDataContainer<DataType>::const_iterator QCPDataContainer<DataType>::findBegin(double sortKey, bool expandedRange) const +{ + if (isEmpty()) + return constEnd(); + + QCPDataContainer<DataType>::const_iterator it = std::lower_bound(constBegin(), constEnd(), DataType::fromSortKey(sortKey), qcpLessThanSortKey<DataType>); + if (expandedRange && it != constBegin()) // also covers it == constEnd case, and we know --constEnd is valid because mData isn't empty + --it; + return it; +} + +/*! + Returns an iterator to the element after the data point with a (sort-)key that is equal to, just + above or just below \a sortKey. If \a expandedRange is true, the data point just above \a sortKey + will be considered, otherwise the one just below. + + This can be used in conjunction with \ref findBegin to iterate over data points within a given + key range, including the bounding data points that are just below and above the specified range. + + If \a expandedRange is true but there are no data points above \a sortKey, \ref constEnd is + returned. + + If the container is empty, \ref constEnd is returned. + + \see findBegin, QCPPlottableInterface1D::findEnd +*/ +template <class DataType> +typename QCPDataContainer<DataType>::const_iterator QCPDataContainer<DataType>::findEnd(double sortKey, bool expandedRange) const +{ + if (isEmpty()) + return constEnd(); + + QCPDataContainer<DataType>::const_iterator it = std::upper_bound(constBegin(), constEnd(), DataType::fromSortKey(sortKey), qcpLessThanSortKey<DataType>); + if (expandedRange && it != constEnd()) + ++it; + return it; +} + +/*! + Returns the range encompassed by the (main-)key coordinate of all data points. The output + parameter \a foundRange indicates whether a sensible range was found. If this is false, you + should not use the returned QCPRange (e.g. the data container is empty or all points have the + same key). + + Use \a signDomain to control which sign of the key coordinates should be considered. This is + relevant e.g. for logarithmic plots which can mathematically only display one sign domain at a + time. + + If the DataType reports that its main key is equal to the sort key (\a sortKeyIsMainKey), as is + the case for most plottables, this method uses this fact and finds the range very quickly. + + \see valueRange +*/ +template <class DataType> +QCPRange QCPDataContainer<DataType>::keyRange(bool &foundRange, QCP::SignDomain signDomain) +{ + if (isEmpty()) + { + foundRange = false; + return QCPRange(); + } + QCPRange range; + bool haveLower = false; + bool haveUpper = false; + double current; + + QCPDataContainer<DataType>::const_iterator it = constBegin(); + QCPDataContainer<DataType>::const_iterator itEnd = constEnd(); + if (signDomain == QCP::sdBoth) // range may be anywhere + { + if (DataType::sortKeyIsMainKey()) // if DataType is sorted by main key (e.g. QCPGraph, but not QCPCurve), use faster algorithm by finding just first and last key with non-NaN value + { + while (it != itEnd) // find first non-nan going up from left + { + if (!qIsNaN(it->mainValue())) + { + range.lower = it->mainKey(); + haveLower = true; + break; + } + ++it; + } + it = itEnd; + while (it != constBegin()) // find first non-nan going down from right + { + --it; + if (!qIsNaN(it->mainValue())) + { + range.upper = it->mainKey(); + haveUpper = true; + break; + } + } + } else // DataType is not sorted by main key, go through all data points and accordingly expand range + { + while (it != itEnd) + { + if (!qIsNaN(it->mainValue())) + { + current = it->mainKey(); + if (current < range.lower || !haveLower) + { + range.lower = current; + haveLower = true; + } + if (current > range.upper || !haveUpper) + { + range.upper = current; + haveUpper = true; + } + } + ++it; + } + } + } else if (signDomain == QCP::sdNegative) // range may only be in the negative sign domain + { + while (it != itEnd) + { + if (!qIsNaN(it->mainValue())) + { + current = it->mainKey(); + if ((current < range.lower || !haveLower) && current < 0) + { + range.lower = current; + haveLower = true; + } + if ((current > range.upper || !haveUpper) && current < 0) + { + range.upper = current; + haveUpper = true; + } + } + ++it; + } + } else if (signDomain == QCP::sdPositive) // range may only be in the positive sign domain + { + while (it != itEnd) + { + if (!qIsNaN(it->mainValue())) + { + current = it->mainKey(); + if ((current < range.lower || !haveLower) && current > 0) + { + range.lower = current; + haveLower = true; + } + if ((current > range.upper || !haveUpper) && current > 0) + { + range.upper = current; + haveUpper = true; + } + } + ++it; + } + } + + foundRange = haveLower && haveUpper; + return range; +} + +/*! + Returns the range encompassed by the value coordinates of the data points in the specified key + range (\a inKeyRange), using the full \a DataType::valueRange reported by the data points. The + output parameter \a foundRange indicates whether a sensible range was found. If this is false, + you should not use the returned QCPRange (e.g. the data container is empty or all points have the + same value). + + If \a inKeyRange has both lower and upper bound set to zero (is equal to <tt>QCPRange()</tt>), + all data points are considered, without any restriction on the keys. + + Use \a signDomain to control which sign of the value coordinates should be considered. This is + relevant e.g. for logarithmic plots which can mathematically only display one sign domain at a + time. + + \see keyRange +*/ +template <class DataType> +QCPRange QCPDataContainer<DataType>::valueRange(bool &foundRange, QCP::SignDomain signDomain, const QCPRange &inKeyRange) +{ + if (isEmpty()) + { + foundRange = false; + return QCPRange(); + } + QCPRange range; + const bool restrictKeyRange = inKeyRange != QCPRange(); + bool haveLower = false; + bool haveUpper = false; + QCPRange current; + QCPDataContainer<DataType>::const_iterator itBegin = constBegin(); + QCPDataContainer<DataType>::const_iterator itEnd = constEnd(); + if (DataType::sortKeyIsMainKey() && restrictKeyRange) + { + itBegin = findBegin(inKeyRange.lower); + itEnd = findEnd(inKeyRange.upper); + } + if (signDomain == QCP::sdBoth) // range may be anywhere + { + for (QCPDataContainer<DataType>::const_iterator it = itBegin; it != itEnd; ++it) + { + if (restrictKeyRange && (it->mainKey() < inKeyRange.lower || it->mainKey() > inKeyRange.upper)) + continue; + current = it->valueRange(); + if ((current.lower < range.lower || !haveLower) && !qIsNaN(current.lower)) + { + range.lower = current.lower; + haveLower = true; + } + if ((current.upper > range.upper || !haveUpper) && !qIsNaN(current.upper)) + { + range.upper = current.upper; + haveUpper = true; + } + } + } else if (signDomain == QCP::sdNegative) // range may only be in the negative sign domain + { + for (QCPDataContainer<DataType>::const_iterator it = itBegin; it != itEnd; ++it) + { + if (restrictKeyRange && (it->mainKey() < inKeyRange.lower || it->mainKey() > inKeyRange.upper)) + continue; + current = it->valueRange(); + if ((current.lower < range.lower || !haveLower) && current.lower < 0 && !qIsNaN(current.lower)) + { + range.lower = current.lower; + haveLower = true; + } + if ((current.upper > range.upper || !haveUpper) && current.upper < 0 && !qIsNaN(current.upper)) + { + range.upper = current.upper; + haveUpper = true; + } + } + } else if (signDomain == QCP::sdPositive) // range may only be in the positive sign domain + { + for (QCPDataContainer<DataType>::const_iterator it = itBegin; it != itEnd; ++it) + { + if (restrictKeyRange && (it->mainKey() < inKeyRange.lower || it->mainKey() > inKeyRange.upper)) + continue; + current = it->valueRange(); + if ((current.lower < range.lower || !haveLower) && current.lower > 0 && !qIsNaN(current.lower)) + { + range.lower = current.lower; + haveLower = true; + } + if ((current.upper > range.upper || !haveUpper) && current.upper > 0 && !qIsNaN(current.upper)) + { + range.upper = current.upper; + haveUpper = true; + } + } + } + + foundRange = haveLower && haveUpper; + return range; +} + +/*! + Makes sure \a begin and \a end mark a data range that is both within the bounds of this data + container's data, as well as within the specified \a dataRange. The initial range described by + the passed iterators \a begin and \a end is never expanded, only contracted if necessary. + + This function doesn't require for \a dataRange to be within the bounds of this data container's + valid range. +*/ +template <class DataType> +void QCPDataContainer<DataType>::limitIteratorsToDataRange(const_iterator &begin, const_iterator &end, const QCPDataRange &dataRange) const +{ + QCPDataRange iteratorRange(begin-constBegin(), end-constBegin()); + iteratorRange = iteratorRange.bounded(dataRange.bounded(this->dataRange())); + begin = constBegin()+iteratorRange.begin(); + end = constBegin()+iteratorRange.end(); +} + +/*! \internal + + Increases the preallocation pool to have a size of at least \a minimumPreallocSize. Depending on + the preallocation history, the container will grow by more than requested, to speed up future + consecutive size increases. + + if \a minimumPreallocSize is smaller than or equal to the current preallocation pool size, this + method does nothing. +*/ +template <class DataType> +void QCPDataContainer<DataType>::preallocateGrow(int minimumPreallocSize) +{ + if (minimumPreallocSize <= mPreallocSize) + return; + + int newPreallocSize = minimumPreallocSize; + newPreallocSize += (1u<<qBound(4, mPreallocIteration+4, 15)) - 12; // do 4 up to 32768-12 preallocation, doubling in each intermediate iteration + ++mPreallocIteration; + + int sizeDifference = newPreallocSize-mPreallocSize; + mData.resize(mData.size()+sizeDifference); + std::copy_backward(mData.begin()+mPreallocSize, mData.end()-sizeDifference, mData.end()); + mPreallocSize = newPreallocSize; +} + +/*! \internal + + This method decides, depending on the total allocation size and the size of the unused pre- and + postallocation pools, whether it is sensible to reduce the pools in order to free up unused + memory. It then possibly calls \ref squeeze to do the deallocation. + + If \ref setAutoSqueeze is enabled, this method is called automatically each time data points are + removed from the container (e.g. \ref remove). + + \note when changing the decision parameters, care must be taken not to cause a back-and-forth + between squeezing and reallocation due to the growth strategy of the internal QVector and \ref + preallocateGrow. The hysteresis between allocation and deallocation should be made high enough + (at the expense of possibly larger unused memory from time to time). +*/ +template <class DataType> +void QCPDataContainer<DataType>::performAutoSqueeze() +{ + const int totalAlloc = mData.capacity(); + const int postAllocSize = totalAlloc-mData.size(); + const int usedSize = size(); + bool shrinkPostAllocation = false; + bool shrinkPreAllocation = false; + if (totalAlloc > 650000) // if allocation is larger, shrink earlier with respect to total used size + { + shrinkPostAllocation = postAllocSize > usedSize*1.5; // QVector grow strategy is 2^n for static data. Watch out not to oscillate! + shrinkPreAllocation = mPreallocSize*10 > usedSize; + } else if (totalAlloc > 1000) // below 10 MiB raw data be generous with preallocated memory, below 1k points don't even bother + { + shrinkPostAllocation = postAllocSize > usedSize*5; + shrinkPreAllocation = mPreallocSize > usedSize*1.5; // preallocation can grow into postallocation, so can be smaller + } + + if (shrinkPreAllocation || shrinkPostAllocation) + squeeze(shrinkPreAllocation, shrinkPostAllocation); +} +/* end of 'src/datacontainer.cpp' */ + + +/* end of 'src/datacontainer.h' */ + + +/* including file 'src/plottable.h', size 8312 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPSelectionDecorator +{ + Q_GADGET +public: + QCPSelectionDecorator(); + virtual ~QCPSelectionDecorator(); + + // getters: + QPen pen() const { return mPen; } + QBrush brush() const { return mBrush; } + QCPScatterStyle scatterStyle() const { return mScatterStyle; } + QCPScatterStyle::ScatterProperties usedScatterProperties() const { return mUsedScatterProperties; } + + // setters: + void setPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setScatterStyle(const QCPScatterStyle &scatterStyle, QCPScatterStyle::ScatterProperties usedProperties=QCPScatterStyle::spPen); + void setUsedScatterProperties(const QCPScatterStyle::ScatterProperties &properties); + + // non-virtual methods: + void applyPen(QCPPainter *painter) const; + void applyBrush(QCPPainter *painter) const; + QCPScatterStyle getFinalScatterStyle(const QCPScatterStyle &unselectedStyle) const; + + // introduced virtual methods: + virtual void copyFrom(const QCPSelectionDecorator *other); + virtual void drawDecoration(QCPPainter *painter, QCPDataSelection selection); + +protected: + // property members: + QPen mPen; + QBrush mBrush; + QCPScatterStyle mScatterStyle; + QCPScatterStyle::ScatterProperties mUsedScatterProperties; + // non-property members: + QCPAbstractPlottable *mPlottable; + + // introduced virtual methods: + virtual bool registerWithPlottable(QCPAbstractPlottable *plottable); + +private: + Q_DISABLE_COPY(QCPSelectionDecorator) + friend class QCPAbstractPlottable; +}; +Q_DECLARE_METATYPE(QCPSelectionDecorator*) + + +class QCP_LIB_DECL QCPAbstractPlottable : public QCPLayerable +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QString name READ name WRITE setName) + Q_PROPERTY(bool antialiasedFill READ antialiasedFill WRITE setAntialiasedFill) + Q_PROPERTY(bool antialiasedScatters READ antialiasedScatters WRITE setAntialiasedScatters) + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QBrush brush READ brush WRITE setBrush) + Q_PROPERTY(QCPAxis* keyAxis READ keyAxis WRITE setKeyAxis) + Q_PROPERTY(QCPAxis* valueAxis READ valueAxis WRITE setValueAxis) + Q_PROPERTY(QCP::SelectionType selectable READ selectable WRITE setSelectable NOTIFY selectableChanged) + Q_PROPERTY(QCPDataSelection selection READ selection WRITE setSelection NOTIFY selectionChanged) + Q_PROPERTY(QCPSelectionDecorator* selectionDecorator READ selectionDecorator WRITE setSelectionDecorator) + /// \endcond +public: + QCPAbstractPlottable(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPAbstractPlottable(); + + // getters: + QString name() const { return mName; } + bool antialiasedFill() const { return mAntialiasedFill; } + bool antialiasedScatters() const { return mAntialiasedScatters; } + QPen pen() const { return mPen; } + QBrush brush() const { return mBrush; } + QCPAxis *keyAxis() const { return mKeyAxis.data(); } + QCPAxis *valueAxis() const { return mValueAxis.data(); } + QCP::SelectionType selectable() const { return mSelectable; } + bool selected() const { return !mSelection.isEmpty(); } + QCPDataSelection selection() const { return mSelection; } + QCPSelectionDecorator *selectionDecorator() const { return mSelectionDecorator; } + + // setters: + void setName(const QString &name); + void setAntialiasedFill(bool enabled); + void setAntialiasedScatters(bool enabled); + void setPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setKeyAxis(QCPAxis *axis); + void setValueAxis(QCPAxis *axis); + Q_SLOT void setSelectable(QCP::SelectionType selectable); + Q_SLOT void setSelection(QCPDataSelection selection); + void setSelectionDecorator(QCPSelectionDecorator *decorator); + + // introduced virtual methods: + virtual QCPPlottableInterface1D *interface1D() { return 0; } + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const = 0; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const = 0; + + // non-property methods: + void coordsToPixels(double key, double value, double &x, double &y) const; + const QPointF coordsToPixels(double key, double value) const; + void pixelsToCoords(double x, double y, double &key, double &value) const; + void pixelsToCoords(const QPointF &pixelPos, double &key, double &value) const; + void rescaleAxes(bool onlyEnlarge=false) const; + void rescaleKeyAxis(bool onlyEnlarge=false) const; + void rescaleValueAxis(bool onlyEnlarge=false, bool inKeyRange=false) const; + bool addToLegend(QCPLegend *legend); + bool addToLegend(); + bool removeFromLegend(QCPLegend *legend) const; + bool removeFromLegend() const; + +signals: + void selectionChanged(bool selected); + void selectionChanged(const QCPDataSelection &selection); + void selectableChanged(QCP::SelectionType selectable); + +protected: + // property members: + QString mName; + bool mAntialiasedFill, mAntialiasedScatters; + QPen mPen; + QBrush mBrush; + QPointer<QCPAxis> mKeyAxis, mValueAxis; + QCP::SelectionType mSelectable; + QCPDataSelection mSelection; + QCPSelectionDecorator *mSelectionDecorator; + + // reimplemented virtual methods: + virtual QRect clipRect() const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE = 0; + virtual QCP::Interaction selectionCategory() const Q_DECL_OVERRIDE; + void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + // events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE; + virtual void deselectEvent(bool *selectionStateChanged) Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const = 0; + + // non-virtual methods: + void applyFillAntialiasingHint(QCPPainter *painter) const; + void applyScattersAntialiasingHint(QCPPainter *painter) const; + +private: + Q_DISABLE_COPY(QCPAbstractPlottable) + + friend class QCustomPlot; + friend class QCPAxis; + friend class QCPPlottableLegendItem; +}; + + +/* end of 'src/plottable.h' */ + + +/* including file 'src/item.h', size 9384 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemAnchor +{ + Q_GADGET +public: + QCPItemAnchor(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString &name, int anchorId=-1); + virtual ~QCPItemAnchor(); + + // getters: + QString name() const { return mName; } + virtual QPointF pixelPosition() const; + +protected: + // property members: + QString mName; + + // non-property members: + QCustomPlot *mParentPlot; + QCPAbstractItem *mParentItem; + int mAnchorId; + QSet<QCPItemPosition*> mChildrenX, mChildrenY; + + // introduced virtual methods: + virtual QCPItemPosition *toQCPItemPosition() { return 0; } + + // non-virtual methods: + void addChildX(QCPItemPosition* pos); // called from pos when this anchor is set as parent + void removeChildX(QCPItemPosition *pos); // called from pos when its parent anchor is reset or pos deleted + void addChildY(QCPItemPosition* pos); // called from pos when this anchor is set as parent + void removeChildY(QCPItemPosition *pos); // called from pos when its parent anchor is reset or pos deleted + +private: + Q_DISABLE_COPY(QCPItemAnchor) + + friend class QCPItemPosition; +}; + + + +class QCP_LIB_DECL QCPItemPosition : public QCPItemAnchor +{ + Q_GADGET +public: + /*! + Defines the ways an item position can be specified. Thus it defines what the numbers passed to + \ref setCoords actually mean. + + \see setType + */ + enum PositionType { ptAbsolute ///< Static positioning in pixels, starting from the top left corner of the viewport/widget. + ,ptViewportRatio ///< Static positioning given by a fraction of the viewport size. For example, if you call setCoords(0, 0), the position will be at the top + ///< left corner of the viewport/widget. setCoords(1, 1) will be at the bottom right corner, setCoords(0.5, 0) will be horizontally centered and + ///< vertically at the top of the viewport/widget, etc. + ,ptAxisRectRatio ///< Static positioning given by a fraction of the axis rect size (see \ref setAxisRect). For example, if you call setCoords(0, 0), the position will be at the top + ///< left corner of the axis rect. setCoords(1, 1) will be at the bottom right corner, setCoords(0.5, 0) will be horizontally centered and + ///< vertically at the top of the axis rect, etc. You can also go beyond the axis rect by providing negative coordinates or coordinates larger than 1. + ,ptPlotCoords ///< Dynamic positioning at a plot coordinate defined by two axes (see \ref setAxes). + }; + Q_ENUMS(PositionType) + + QCPItemPosition(QCustomPlot *parentPlot, QCPAbstractItem *parentItem, const QString &name); + virtual ~QCPItemPosition(); + + // getters: + PositionType type() const { return typeX(); } + PositionType typeX() const { return mPositionTypeX; } + PositionType typeY() const { return mPositionTypeY; } + QCPItemAnchor *parentAnchor() const { return parentAnchorX(); } + QCPItemAnchor *parentAnchorX() const { return mParentAnchorX; } + QCPItemAnchor *parentAnchorY() const { return mParentAnchorY; } + double key() const { return mKey; } + double value() const { return mValue; } + QPointF coords() const { return QPointF(mKey, mValue); } + QCPAxis *keyAxis() const { return mKeyAxis.data(); } + QCPAxis *valueAxis() const { return mValueAxis.data(); } + QCPAxisRect *axisRect() const; + virtual QPointF pixelPosition() const Q_DECL_OVERRIDE; + + // setters: + void setType(PositionType type); + void setTypeX(PositionType type); + void setTypeY(PositionType type); + bool setParentAnchor(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false); + bool setParentAnchorX(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false); + bool setParentAnchorY(QCPItemAnchor *parentAnchor, bool keepPixelPosition=false); + void setCoords(double key, double value); + void setCoords(const QPointF &coords); + void setAxes(QCPAxis* keyAxis, QCPAxis* valueAxis); + void setAxisRect(QCPAxisRect *axisRect); + void setPixelPosition(const QPointF &pixelPosition); + +protected: + // property members: + PositionType mPositionTypeX, mPositionTypeY; + QPointer<QCPAxis> mKeyAxis, mValueAxis; + QPointer<QCPAxisRect> mAxisRect; + double mKey, mValue; + QCPItemAnchor *mParentAnchorX, *mParentAnchorY; + + // reimplemented virtual methods: + virtual QCPItemPosition *toQCPItemPosition() Q_DECL_OVERRIDE { return this; } + +private: + Q_DISABLE_COPY(QCPItemPosition) + +}; +Q_DECLARE_METATYPE(QCPItemPosition::PositionType) + + +class QCP_LIB_DECL QCPAbstractItem : public QCPLayerable +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(bool clipToAxisRect READ clipToAxisRect WRITE setClipToAxisRect) + Q_PROPERTY(QCPAxisRect* clipAxisRect READ clipAxisRect WRITE setClipAxisRect) + Q_PROPERTY(bool selectable READ selectable WRITE setSelectable NOTIFY selectableChanged) + Q_PROPERTY(bool selected READ selected WRITE setSelected NOTIFY selectionChanged) + /// \endcond +public: + explicit QCPAbstractItem(QCustomPlot *parentPlot); + virtual ~QCPAbstractItem(); + + // getters: + bool clipToAxisRect() const { return mClipToAxisRect; } + QCPAxisRect *clipAxisRect() const; + bool selectable() const { return mSelectable; } + bool selected() const { return mSelected; } + + // setters: + void setClipToAxisRect(bool clip); + void setClipAxisRect(QCPAxisRect *rect); + Q_SLOT void setSelectable(bool selectable); + Q_SLOT void setSelected(bool selected); + + // non-virtual methods: + QList<QCPItemPosition*> positions() const { return mPositions; } + QList<QCPItemAnchor*> anchors() const { return mAnchors; } + QCPItemPosition *position(const QString &name) const; + QCPItemAnchor *anchor(const QString &name) const; + bool hasAnchor(const QString &name) const; + +signals: + void selectionChanged(bool selected); + void selectableChanged(bool selectable); + +protected: + // property members: + bool mClipToAxisRect; + QPointer<QCPAxisRect> mClipAxisRect; + QList<QCPItemPosition*> mPositions; + QList<QCPItemAnchor*> mAnchors; + bool mSelectable, mSelected; + + // reimplemented virtual methods: + virtual QCP::Interaction selectionCategory() const Q_DECL_OVERRIDE; + virtual QRect clipRect() const Q_DECL_OVERRIDE; + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE = 0; + // events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE; + virtual void deselectEvent(bool *selectionStateChanged) Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual QPointF anchorPixelPosition(int anchorId) const; + + // non-virtual methods: + double rectDistance(const QRectF &rect, const QPointF &pos, bool filledRect) const; + QCPItemPosition *createPosition(const QString &name); + QCPItemAnchor *createAnchor(const QString &name, int anchorId); + +private: + Q_DISABLE_COPY(QCPAbstractItem) + + friend class QCustomPlot; + friend class QCPItemAnchor; +}; + +/* end of 'src/item.h' */ + + +/* including file 'src/core.h', size 14886 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCustomPlot : public QWidget +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QRect viewport READ viewport WRITE setViewport) + Q_PROPERTY(QPixmap background READ background WRITE setBackground) + Q_PROPERTY(bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled) + Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode) + Q_PROPERTY(QCPLayoutGrid* plotLayout READ plotLayout) + Q_PROPERTY(bool autoAddPlottableToLegend READ autoAddPlottableToLegend WRITE setAutoAddPlottableToLegend) + Q_PROPERTY(int selectionTolerance READ selectionTolerance WRITE setSelectionTolerance) + Q_PROPERTY(bool noAntialiasingOnDrag READ noAntialiasingOnDrag WRITE setNoAntialiasingOnDrag) + Q_PROPERTY(Qt::KeyboardModifier multiSelectModifier READ multiSelectModifier WRITE setMultiSelectModifier) + Q_PROPERTY(bool openGl READ openGl WRITE setOpenGl) + /// \endcond +public: + /*! + Defines how a layer should be inserted relative to an other layer. + + \see addLayer, moveLayer + */ + enum LayerInsertMode { limBelow ///< Layer is inserted below other layer + ,limAbove ///< Layer is inserted above other layer + }; + Q_ENUMS(LayerInsertMode) + + /*! + Defines with what timing the QCustomPlot surface is refreshed after a replot. + + \see replot + */ + enum RefreshPriority { rpImmediateRefresh ///< Replots immediately and repaints the widget immediately by calling QWidget::repaint() after the replot + ,rpQueuedRefresh ///< Replots immediately, but queues the widget repaint, by calling QWidget::update() after the replot. This way multiple redundant widget repaints can be avoided. + ,rpRefreshHint ///< Whether to use immediate or queued refresh depends on whether the plotting hint \ref QCP::phImmediateRefresh is set, see \ref setPlottingHints. + ,rpQueuedReplot ///< Queues the entire replot for the next event loop iteration. This way multiple redundant replots can be avoided. The actual replot is then done with \ref rpRefreshHint priority. + }; + Q_ENUMS(RefreshPriority) + + explicit QCustomPlot(QWidget *parent = 0); + virtual ~QCustomPlot(); + + // getters: + QRect viewport() const { return mViewport; } + double bufferDevicePixelRatio() const { return mBufferDevicePixelRatio; } + QPixmap background() const { return mBackgroundPixmap; } + bool backgroundScaled() const { return mBackgroundScaled; } + Qt::AspectRatioMode backgroundScaledMode() const { return mBackgroundScaledMode; } + QCPLayoutGrid *plotLayout() const { return mPlotLayout; } + QCP::AntialiasedElements antialiasedElements() const { return mAntialiasedElements; } + QCP::AntialiasedElements notAntialiasedElements() const { return mNotAntialiasedElements; } + bool autoAddPlottableToLegend() const { return mAutoAddPlottableToLegend; } + const QCP::Interactions interactions() const { return mInteractions; } + int selectionTolerance() const { return mSelectionTolerance; } + bool noAntialiasingOnDrag() const { return mNoAntialiasingOnDrag; } + QCP::PlottingHints plottingHints() const { return mPlottingHints; } + Qt::KeyboardModifier multiSelectModifier() const { return mMultiSelectModifier; } + QCP::SelectionRectMode selectionRectMode() const { return mSelectionRectMode; } + QCPSelectionRect *selectionRect() const { return mSelectionRect; } + bool openGl() const { return mOpenGl; } + + // setters: + void setViewport(const QRect &rect); + void setBufferDevicePixelRatio(double ratio); + void setBackground(const QPixmap &pm); + void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding); + void setBackground(const QBrush &brush); + void setBackgroundScaled(bool scaled); + void setBackgroundScaledMode(Qt::AspectRatioMode mode); + void setAntialiasedElements(const QCP::AntialiasedElements &antialiasedElements); + void setAntialiasedElement(QCP::AntialiasedElement antialiasedElement, bool enabled=true); + void setNotAntialiasedElements(const QCP::AntialiasedElements &notAntialiasedElements); + void setNotAntialiasedElement(QCP::AntialiasedElement notAntialiasedElement, bool enabled=true); + void setAutoAddPlottableToLegend(bool on); + void setInteractions(const QCP::Interactions &interactions); + void setInteraction(const QCP::Interaction &interaction, bool enabled=true); + void setSelectionTolerance(int pixels); + void setNoAntialiasingOnDrag(bool enabled); + void setPlottingHints(const QCP::PlottingHints &hints); + void setPlottingHint(QCP::PlottingHint hint, bool enabled=true); + void setMultiSelectModifier(Qt::KeyboardModifier modifier); + void setSelectionRectMode(QCP::SelectionRectMode mode); + void setSelectionRect(QCPSelectionRect *selectionRect); + void setOpenGl(bool enabled, int multisampling=16); + + // non-property methods: + // plottable interface: + QCPAbstractPlottable *plottable(int index); + QCPAbstractPlottable *plottable(); + bool removePlottable(QCPAbstractPlottable *plottable); + bool removePlottable(int index); + int clearPlottables(); + int plottableCount() const; + QList<QCPAbstractPlottable*> selectedPlottables() const; + QCPAbstractPlottable *plottableAt(const QPointF &pos, bool onlySelectable=false) const; + bool hasPlottable(QCPAbstractPlottable *plottable) const; + + // specialized interface for QCPGraph: + QCPGraph *graph(int index) const; + QCPGraph *graph() const; + QCPGraph *addGraph(QCPAxis *keyAxis=0, QCPAxis *valueAxis=0); + bool removeGraph(QCPGraph *graph); + bool removeGraph(int index); + int clearGraphs(); + int graphCount() const; + QList<QCPGraph*> selectedGraphs() const; + + // item interface: + QCPAbstractItem *item(int index) const; + QCPAbstractItem *item() const; + bool removeItem(QCPAbstractItem *item); + bool removeItem(int index); + int clearItems(); + int itemCount() const; + QList<QCPAbstractItem*> selectedItems() const; + QCPAbstractItem *itemAt(const QPointF &pos, bool onlySelectable=false) const; + bool hasItem(QCPAbstractItem *item) const; + + // layer interface: + QCPLayer *layer(const QString &name) const; + QCPLayer *layer(int index) const; + QCPLayer *currentLayer() const; + bool setCurrentLayer(const QString &name); + bool setCurrentLayer(QCPLayer *layer); + int layerCount() const; + bool addLayer(const QString &name, QCPLayer *otherLayer=0, LayerInsertMode insertMode=limAbove); + bool removeLayer(QCPLayer *layer); + bool moveLayer(QCPLayer *layer, QCPLayer *otherLayer, LayerInsertMode insertMode=limAbove); + + // axis rect/layout interface: + int axisRectCount() const; + QCPAxisRect* axisRect(int index=0) const; + QList<QCPAxisRect*> axisRects() const; + QCPLayoutElement* layoutElementAt(const QPointF &pos) const; + QCPAxisRect* axisRectAt(const QPointF &pos) const; + Q_SLOT void rescaleAxes(bool onlyVisiblePlottables=false); + + QList<QCPAxis*> selectedAxes() const; + QList<QCPLegend*> selectedLegends() const; + Q_SLOT void deselectAll(); + + bool savePdf(const QString &fileName, int width=0, int height=0, QCP::ExportPen exportPen=QCP::epAllowCosmetic, const QString &pdfCreator=QString(), const QString &pdfTitle=QString()); + bool savePng(const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1, int resolution=96, QCP::ResolutionUnit resolutionUnit=QCP::ruDotsPerInch); + bool saveJpg(const QString &fileName, int width=0, int height=0, double scale=1.0, int quality=-1, int resolution=96, QCP::ResolutionUnit resolutionUnit=QCP::ruDotsPerInch); + bool saveBmp(const QString &fileName, int width=0, int height=0, double scale=1.0, int resolution=96, QCP::ResolutionUnit resolutionUnit=QCP::ruDotsPerInch); + bool saveRastered(const QString &fileName, int width, int height, double scale, const char *format, int quality=-1, int resolution=96, QCP::ResolutionUnit resolutionUnit=QCP::ruDotsPerInch); + QPixmap toPixmap(int width=0, int height=0, double scale=1.0); + void toPainter(QCPPainter *painter, int width=0, int height=0); + Q_SLOT void replot(QCustomPlot::RefreshPriority refreshPriority=QCustomPlot::rpRefreshHint); + + QCPAxis *xAxis, *yAxis, *xAxis2, *yAxis2; + QCPLegend *legend; + +signals: + void mouseDoubleClick(QMouseEvent *event); + void mousePress(QMouseEvent *event); + void mouseMove(QMouseEvent *event); + void mouseRelease(QMouseEvent *event); + void mouseWheel(QWheelEvent *event); + + void plottableClick(QCPAbstractPlottable *plottable, int dataIndex, QMouseEvent *event); + void plottableDoubleClick(QCPAbstractPlottable *plottable, int dataIndex, QMouseEvent *event); + void itemClick(QCPAbstractItem *item, QMouseEvent *event); + void itemDoubleClick(QCPAbstractItem *item, QMouseEvent *event); + void axisClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event); + void axisDoubleClick(QCPAxis *axis, QCPAxis::SelectablePart part, QMouseEvent *event); + void legendClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event); + void legendDoubleClick(QCPLegend *legend, QCPAbstractLegendItem *item, QMouseEvent *event); + + void selectionChangedByUser(); + void beforeReplot(); + void afterReplot(); + +protected: + // property members: + QRect mViewport; + double mBufferDevicePixelRatio; + QCPLayoutGrid *mPlotLayout; + bool mAutoAddPlottableToLegend; + QList<QCPAbstractPlottable*> mPlottables; + QList<QCPGraph*> mGraphs; // extra list of plottables also in mPlottables that are of type QCPGraph + QList<QCPAbstractItem*> mItems; + QList<QCPLayer*> mLayers; + QCP::AntialiasedElements mAntialiasedElements, mNotAntialiasedElements; + QCP::Interactions mInteractions; + int mSelectionTolerance; + bool mNoAntialiasingOnDrag; + QBrush mBackgroundBrush; + QPixmap mBackgroundPixmap; + QPixmap mScaledBackgroundPixmap; + bool mBackgroundScaled; + Qt::AspectRatioMode mBackgroundScaledMode; + QCPLayer *mCurrentLayer; + QCP::PlottingHints mPlottingHints; + Qt::KeyboardModifier mMultiSelectModifier; + QCP::SelectionRectMode mSelectionRectMode; + QCPSelectionRect *mSelectionRect; + bool mOpenGl; + + // non-property members: + QList<QSharedPointer<QCPAbstractPaintBuffer> > mPaintBuffers; + QPoint mMousePressPos; + bool mMouseHasMoved; + QPointer<QCPLayerable> mMouseEventLayerable; + QPointer<QCPLayerable> mMouseSignalLayerable; + QVariant mMouseEventLayerableDetails; + QVariant mMouseSignalLayerableDetails; + bool mReplotting; + bool mReplotQueued; + int mOpenGlMultisamples; + QCP::AntialiasedElements mOpenGlAntialiasedElementsBackup; + bool mOpenGlCacheLabelsBackup; +#ifdef QCP_OPENGL_FBO + QSharedPointer<QOpenGLContext> mGlContext; + QSharedPointer<QSurface> mGlSurface; + QSharedPointer<QOpenGLPaintDevice> mGlPaintDevice; +#endif + + // reimplemented virtual methods: + virtual QSize minimumSizeHint() const Q_DECL_OVERRIDE; + virtual QSize sizeHint() const Q_DECL_OVERRIDE; + virtual void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE; + virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE; + virtual void mouseDoubleClickEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + virtual void mousePressEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + virtual void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + virtual void mouseReleaseEvent(QMouseEvent *event) Q_DECL_OVERRIDE; + virtual void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual void draw(QCPPainter *painter); + virtual void updateLayout(); + virtual void axisRemoved(QCPAxis *axis); + virtual void legendRemoved(QCPLegend *legend); + Q_SLOT virtual void processRectSelection(QRect rect, QMouseEvent *event); + Q_SLOT virtual void processRectZoom(QRect rect, QMouseEvent *event); + Q_SLOT virtual void processPointSelection(QMouseEvent *event); + + // non-virtual methods: + bool registerPlottable(QCPAbstractPlottable *plottable); + bool registerGraph(QCPGraph *graph); + bool registerItem(QCPAbstractItem* item); + void updateLayerIndices() const; + QCPLayerable *layerableAt(const QPointF &pos, bool onlySelectable, QVariant *selectionDetails=0) const; + QList<QCPLayerable*> layerableListAt(const QPointF &pos, bool onlySelectable, QList<QVariant> *selectionDetails=0) const; + void drawBackground(QCPPainter *painter); + void setupPaintBuffers(); + QCPAbstractPaintBuffer *createPaintBuffer(); + bool hasInvalidatedPaintBuffers(); + bool setupOpenGl(); + void freeOpenGl(); + + friend class QCPLegend; + friend class QCPAxis; + friend class QCPLayer; + friend class QCPAxisRect; + friend class QCPAbstractPlottable; + friend class QCPGraph; + friend class QCPAbstractItem; +}; +Q_DECLARE_METATYPE(QCustomPlot::LayerInsertMode) +Q_DECLARE_METATYPE(QCustomPlot::RefreshPriority) + +/* end of 'src/core.h' */ + + +/* including file 'src/plottable1d.h', size 4544 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCPPlottableInterface1D +{ +public: + virtual ~QCPPlottableInterface1D() {} + // introduced pure virtual methods: + virtual int dataCount() const = 0; + virtual double dataMainKey(int index) const = 0; + virtual double dataSortKey(int index) const = 0; + virtual double dataMainValue(int index) const = 0; + virtual QCPRange dataValueRange(int index) const = 0; + virtual QPointF dataPixelPosition(int index) const = 0; + virtual bool sortKeyIsMainKey() const = 0; + virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const = 0; + virtual int findBegin(double sortKey, bool expandedRange=true) const = 0; + virtual int findEnd(double sortKey, bool expandedRange=true) const = 0; +}; + +template <class DataType> +class QCPAbstractPlottable1D : public QCPAbstractPlottable, public QCPPlottableInterface1D // no QCP_LIB_DECL, template class ends up in header (cpp included below) +{ + // No Q_OBJECT macro due to template class + +public: + QCPAbstractPlottable1D(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPAbstractPlottable1D(); + + // virtual methods of 1d plottable interface: + virtual int dataCount() const Q_DECL_OVERRIDE; + virtual double dataMainKey(int index) const Q_DECL_OVERRIDE; + virtual double dataSortKey(int index) const Q_DECL_OVERRIDE; + virtual double dataMainValue(int index) const Q_DECL_OVERRIDE; + virtual QCPRange dataValueRange(int index) const Q_DECL_OVERRIDE; + virtual QPointF dataPixelPosition(int index) const Q_DECL_OVERRIDE; + virtual bool sortKeyIsMainKey() const Q_DECL_OVERRIDE; + virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const Q_DECL_OVERRIDE; + virtual int findBegin(double sortKey, bool expandedRange=true) const Q_DECL_OVERRIDE; + virtual int findEnd(double sortKey, bool expandedRange=true) const Q_DECL_OVERRIDE; + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPPlottableInterface1D *interface1D() Q_DECL_OVERRIDE { return this; } + +protected: + // property members: + QSharedPointer<QCPDataContainer<DataType> > mDataContainer; + + // helpers for subclasses: + void getDataSegments(QList<QCPDataRange> &selectedSegments, QList<QCPDataRange> &unselectedSegments) const; + void drawPolyline(QCPPainter *painter, const QVector<QPointF> &lineData) const; + +private: + Q_DISABLE_COPY(QCPAbstractPlottable1D) + +}; + +// include implementation in header since it is a class template: + +/* including file 'src/plottable1d.cpp', size 22240 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPPlottableInterface1D +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPPlottableInterface1D + \brief Defines an abstract interface for one-dimensional plottables + + This class contains only pure virtual methods which define a common interface to the data + of one-dimensional plottables. + + For example, it is implemented by the template class \ref QCPAbstractPlottable1D (the preferred + base class for one-dimensional plottables). So if you use that template class as base class of + your one-dimensional plottable, you won't have to care about implementing the 1d interface + yourself. + + If your plottable doesn't derive from \ref QCPAbstractPlottable1D but still wants to provide a 1d + interface (e.g. like \ref QCPErrorBars does), you should inherit from both \ref + QCPAbstractPlottable and \ref QCPPlottableInterface1D and accordingly reimplement the pure + virtual methods of the 1d interface, matching your data container. Also, reimplement \ref + QCPAbstractPlottable::interface1D to return the \c this pointer. + + If you have a \ref QCPAbstractPlottable pointer, you can check whether it implements this + interface by calling \ref QCPAbstractPlottable::interface1D and testing it for a non-zero return + value. If it indeed implements this interface, you may use it to access the plottable's data + without needing to know the exact type of the plottable or its data point type. +*/ + +/* start documentation of pure virtual functions */ + +/*! \fn virtual int QCPPlottableInterface1D::dataCount() const = 0; + + Returns the number of data points of the plottable. +*/ + +/*! \fn virtual QCPDataSelection QCPPlottableInterface1D::selectTestRect(const QRectF &rect, bool onlySelectable) const = 0; + + Returns a data selection containing all the data points of this plottable which are contained (or + hit by) \a rect. This is used mainly in the selection rect interaction for data selection (\ref + dataselection "data selection mechanism"). + + If \a onlySelectable is true, an empty QCPDataSelection is returned if this plottable is not + selectable (i.e. if \ref QCPAbstractPlottable::setSelectable is \ref QCP::stNone). + + \note \a rect must be a normalized rect (positive or zero width and height). This is especially + important when using the rect of \ref QCPSelectionRect::accepted, which is not necessarily + normalized. Use <tt>QRect::normalized()</tt> when passing a rect which might not be normalized. +*/ + +/*! \fn virtual double QCPPlottableInterface1D::dataMainKey(int index) const = 0 + + Returns the main key of the data point at the given \a index. + + What the main key is, is defined by the plottable's data type. See the \ref + qcpdatacontainer-datatype "QCPDataContainer DataType" documentation for details about this naming + convention. +*/ + +/*! \fn virtual double QCPPlottableInterface1D::dataSortKey(int index) const = 0 + + Returns the sort key of the data point at the given \a index. + + What the sort key is, is defined by the plottable's data type. See the \ref + qcpdatacontainer-datatype "QCPDataContainer DataType" documentation for details about this naming + convention. +*/ + +/*! \fn virtual double QCPPlottableInterface1D::dataMainValue(int index) const = 0 + + Returns the main value of the data point at the given \a index. + + What the main value is, is defined by the plottable's data type. See the \ref + qcpdatacontainer-datatype "QCPDataContainer DataType" documentation for details about this naming + convention. +*/ + +/*! \fn virtual QCPRange QCPPlottableInterface1D::dataValueRange(int index) const = 0 + + Returns the value range of the data point at the given \a index. + + What the value range is, is defined by the plottable's data type. See the \ref + qcpdatacontainer-datatype "QCPDataContainer DataType" documentation for details about this naming + convention. +*/ + +/*! \fn virtual QPointF QCPPlottableInterface1D::dataPixelPosition(int index) const = 0 + + Returns the pixel position on the widget surface at which the data point at the given \a index + appears. + + Usually this corresponds to the point of \ref dataMainKey/\ref dataMainValue, in pixel + coordinates. However, depending on the plottable, this might be a different apparent position + than just a coord-to-pixel transform of those values. For example, \ref QCPBars apparent data + values can be shifted depending on their stacking, bar grouping or configured base value. +*/ + +/*! \fn virtual bool QCPPlottableInterface1D::sortKeyIsMainKey() const = 0 + + Returns whether the sort key (\ref dataSortKey) is identical to the main key (\ref dataMainKey). + + What the sort and main keys are, is defined by the plottable's data type. See the \ref + qcpdatacontainer-datatype "QCPDataContainer DataType" documentation for details about this naming + convention. +*/ + +/*! \fn virtual int QCPPlottableInterface1D::findBegin(double sortKey, bool expandedRange) const = 0 + + Returns the index of the data point with a (sort-)key that is equal to, just below, or just above + \a sortKey. If \a expandedRange is true, the data point just below \a sortKey will be considered, + otherwise the one just above. + + This can be used in conjunction with \ref findEnd to iterate over data points within a given key + range, including or excluding the bounding data points that are just beyond the specified range. + + If \a expandedRange is true but there are no data points below \a sortKey, 0 is returned. + + If the container is empty, returns 0 (in that case, \ref findEnd will also return 0, so a loop + using these methods will not iterate over the index 0). + + \see findEnd, QCPDataContainer::findBegin +*/ + +/*! \fn virtual int QCPPlottableInterface1D::findEnd(double sortKey, bool expandedRange) const = 0 + + Returns the index one after the data point with a (sort-)key that is equal to, just above, or + just below \a sortKey. If \a expandedRange is true, the data point just above \a sortKey will be + considered, otherwise the one just below. + + This can be used in conjunction with \ref findBegin to iterate over data points within a given + key range, including the bounding data points that are just below and above the specified range. + + If \a expandedRange is true but there are no data points above \a sortKey, the index just above the + highest data point is returned. + + If the container is empty, returns 0. + + \see findBegin, QCPDataContainer::findEnd +*/ + +/* end documentation of pure virtual functions */ + + +//////////////////////////////////////////////////////////////////////////////////////////////////// +//////////////////// QCPAbstractPlottable1D +//////////////////////////////////////////////////////////////////////////////////////////////////// + +/*! \class QCPAbstractPlottable1D + \brief A template base class for plottables with one-dimensional data + + This template class derives from \ref QCPAbstractPlottable and from the abstract interface \ref + QCPPlottableInterface1D. It serves as a base class for all one-dimensional data (i.e. data with + one key dimension), such as \ref QCPGraph and QCPCurve. + + The template parameter \a DataType is the type of the data points of this plottable (e.g. \ref + QCPGraphData or \ref QCPCurveData). The main purpose of this base class is to provide the member + \a mDataContainer (a shared pointer to a \ref QCPDataContainer "QCPDataContainer<DataType>") and + implement the according virtual methods of the \ref QCPPlottableInterface1D, such that most + subclassed plottables don't need to worry about this anymore. + + Further, it provides a convenience method for retrieving selected/unselected data segments via + \ref getDataSegments. This is useful when subclasses implement their \ref draw method and need to + draw selected segments with a different pen/brush than unselected segments (also see \ref + QCPSelectionDecorator). + + This class implements basic functionality of \ref QCPAbstractPlottable::selectTest and \ref + QCPPlottableInterface1D::selectTestRect, assuming point-like data points, based on the 1D data + interface. In spite of that, most plottable subclasses will want to reimplement those methods + again, to provide a more accurate hit test based on their specific data visualization geometry. +*/ + +/* start documentation of inline functions */ + +/*! \fn QCPPlottableInterface1D *QCPAbstractPlottable1D::interface1D() + + Returns a \ref QCPPlottableInterface1D pointer to this plottable, providing access to its 1D + interface. + + \seebaseclassmethod +*/ + +/* end documentation of inline functions */ + +/*! + Forwards \a keyAxis and \a valueAxis to the \ref QCPAbstractPlottable::QCPAbstractPlottable + "QCPAbstractPlottable" constructor and allocates the \a mDataContainer. +*/ +template <class DataType> +QCPAbstractPlottable1D<DataType>::QCPAbstractPlottable1D(QCPAxis *keyAxis, QCPAxis *valueAxis) : + QCPAbstractPlottable(keyAxis, valueAxis), + mDataContainer(new QCPDataContainer<DataType>) +{ +} + +template <class DataType> +QCPAbstractPlottable1D<DataType>::~QCPAbstractPlottable1D() +{ +} + +/*! + \copydoc QCPPlottableInterface1D::dataCount +*/ +template <class DataType> +int QCPAbstractPlottable1D<DataType>::dataCount() const +{ + return mDataContainer->size(); +} + +/*! + \copydoc QCPPlottableInterface1D::dataMainKey +*/ +template <class DataType> +double QCPAbstractPlottable1D<DataType>::dataMainKey(int index) const +{ + if (index >= 0 && index < mDataContainer->size()) + { + return (mDataContainer->constBegin()+index)->mainKey(); + } else + { + qDebug() << Q_FUNC_INFO << "Index out of bounds" << index; + return 0; + } +} + +/*! + \copydoc QCPPlottableInterface1D::dataSortKey +*/ +template <class DataType> +double QCPAbstractPlottable1D<DataType>::dataSortKey(int index) const +{ + if (index >= 0 && index < mDataContainer->size()) + { + return (mDataContainer->constBegin()+index)->sortKey(); + } else + { + qDebug() << Q_FUNC_INFO << "Index out of bounds" << index; + return 0; + } +} + +/*! + \copydoc QCPPlottableInterface1D::dataMainValue +*/ +template <class DataType> +double QCPAbstractPlottable1D<DataType>::dataMainValue(int index) const +{ + if (index >= 0 && index < mDataContainer->size()) + { + return (mDataContainer->constBegin()+index)->mainValue(); + } else + { + qDebug() << Q_FUNC_INFO << "Index out of bounds" << index; + return 0; + } +} + +/*! + \copydoc QCPPlottableInterface1D::dataValueRange +*/ +template <class DataType> +QCPRange QCPAbstractPlottable1D<DataType>::dataValueRange(int index) const +{ + if (index >= 0 && index < mDataContainer->size()) + { + return (mDataContainer->constBegin()+index)->valueRange(); + } else + { + qDebug() << Q_FUNC_INFO << "Index out of bounds" << index; + return QCPRange(0, 0); + } +} + +/*! + \copydoc QCPPlottableInterface1D::dataPixelPosition +*/ +template <class DataType> +QPointF QCPAbstractPlottable1D<DataType>::dataPixelPosition(int index) const +{ + if (index >= 0 && index < mDataContainer->size()) + { + const typename QCPDataContainer<DataType>::const_iterator it = mDataContainer->constBegin()+index; + return coordsToPixels(it->mainKey(), it->mainValue()); + } else + { + qDebug() << Q_FUNC_INFO << "Index out of bounds" << index; + return QPointF(); + } +} + +/*! + \copydoc QCPPlottableInterface1D::sortKeyIsMainKey +*/ +template <class DataType> +bool QCPAbstractPlottable1D<DataType>::sortKeyIsMainKey() const +{ + return DataType::sortKeyIsMainKey(); +} + +/*! + Implements a rect-selection algorithm assuming the data (accessed via the 1D data interface) is + point-like. Most subclasses will want to reimplement this method again, to provide a more + accurate hit test based on the true data visualization geometry. + + \seebaseclassmethod +*/ +template <class DataType> +QCPDataSelection QCPAbstractPlottable1D<DataType>::selectTestRect(const QRectF &rect, bool onlySelectable) const +{ + QCPDataSelection result; + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return result; + if (!mKeyAxis || !mValueAxis) + return result; + + // convert rect given in pixels to ranges given in plot coordinates: + double key1, value1, key2, value2; + pixelsToCoords(rect.topLeft(), key1, value1); + pixelsToCoords(rect.bottomRight(), key2, value2); + QCPRange keyRange(key1, key2); // QCPRange normalizes internally so we don't have to care about whether key1 < key2 + QCPRange valueRange(value1, value2); + typename QCPDataContainer<DataType>::const_iterator begin = mDataContainer->constBegin(); + typename QCPDataContainer<DataType>::const_iterator end = mDataContainer->constEnd(); + if (DataType::sortKeyIsMainKey()) // we can assume that data is sorted by main key, so can reduce the searched key interval: + { + begin = mDataContainer->findBegin(keyRange.lower, false); + end = mDataContainer->findEnd(keyRange.upper, false); + } + if (begin == end) + return result; + + int currentSegmentBegin = -1; // -1 means we're currently not in a segment that's contained in rect + for (typename QCPDataContainer<DataType>::const_iterator it=begin; it!=end; ++it) + { + if (currentSegmentBegin == -1) + { + if (valueRange.contains(it->mainValue()) && keyRange.contains(it->mainKey())) // start segment + currentSegmentBegin = it-mDataContainer->constBegin(); + } else if (!valueRange.contains(it->mainValue()) || !keyRange.contains(it->mainKey())) // segment just ended + { + result.addDataRange(QCPDataRange(currentSegmentBegin, it-mDataContainer->constBegin()), false); + currentSegmentBegin = -1; + } + } + // process potential last segment: + if (currentSegmentBegin != -1) + result.addDataRange(QCPDataRange(currentSegmentBegin, end-mDataContainer->constBegin()), false); + + result.simplify(); + return result; +} + +/*! + \copydoc QCPPlottableInterface1D::findBegin +*/ +template <class DataType> +int QCPAbstractPlottable1D<DataType>::findBegin(double sortKey, bool expandedRange) const +{ + return mDataContainer->findBegin(sortKey, expandedRange)-mDataContainer->constBegin(); +} + +/*! + \copydoc QCPPlottableInterface1D::findEnd +*/ +template <class DataType> +int QCPAbstractPlottable1D<DataType>::findEnd(double sortKey, bool expandedRange) const +{ + return mDataContainer->findEnd(sortKey, expandedRange)-mDataContainer->constBegin(); +} + +/*! + Implements a point-selection algorithm assuming the data (accessed via the 1D data interface) is + point-like. Most subclasses will want to reimplement this method again, to provide a more + accurate hit test based on the true data visualization geometry. + + \seebaseclassmethod +*/ +template <class DataType> +double QCPAbstractPlottable1D<DataType>::selectTest(const QPointF &pos, bool onlySelectable, QVariant *details) const +{ + if ((onlySelectable && mSelectable == QCP::stNone) || mDataContainer->isEmpty()) + return -1; + if (!mKeyAxis || !mValueAxis) + return -1; + + QCPDataSelection selectionResult; + double minDistSqr = std::numeric_limits<double>::max(); + int minDistIndex = mDataContainer->size(); + + typename QCPDataContainer<DataType>::const_iterator begin = mDataContainer->constBegin(); + typename QCPDataContainer<DataType>::const_iterator end = mDataContainer->constEnd(); + if (DataType::sortKeyIsMainKey()) // we can assume that data is sorted by main key, so can reduce the searched key interval: + { + // determine which key range comes into question, taking selection tolerance around pos into account: + double posKeyMin, posKeyMax, dummy; + pixelsToCoords(pos-QPointF(mParentPlot->selectionTolerance(), mParentPlot->selectionTolerance()), posKeyMin, dummy); + pixelsToCoords(pos+QPointF(mParentPlot->selectionTolerance(), mParentPlot->selectionTolerance()), posKeyMax, dummy); + if (posKeyMin > posKeyMax) + qSwap(posKeyMin, posKeyMax); + begin = mDataContainer->findBegin(posKeyMin, true); + end = mDataContainer->findEnd(posKeyMax, true); + } + if (begin == end) + return -1; + QCPRange keyRange(mKeyAxis->range()); + QCPRange valueRange(mValueAxis->range()); + for (typename QCPDataContainer<DataType>::const_iterator it=begin; it!=end; ++it) + { + const double mainKey = it->mainKey(); + const double mainValue = it->mainValue(); + if (keyRange.contains(mainKey) && valueRange.contains(mainValue)) // make sure data point is inside visible range, for speedup in cases where sort key isn't main key and we iterate over all points + { + const double currentDistSqr = QCPVector2D(coordsToPixels(mainKey, mainValue)-pos).lengthSquared(); + if (currentDistSqr < minDistSqr) + { + minDistSqr = currentDistSqr; + minDistIndex = it-mDataContainer->constBegin(); + } + } + } + if (minDistIndex != mDataContainer->size()) + selectionResult.addDataRange(QCPDataRange(minDistIndex, minDistIndex+1), false); + + selectionResult.simplify(); + if (details) + details->setValue(selectionResult); + return qSqrt(minDistSqr); +} + +/*! + Splits all data into selected and unselected segments and outputs them via \a selectedSegments + and \a unselectedSegments, respectively. + + This is useful when subclasses implement their \ref draw method and need to draw selected + segments with a different pen/brush than unselected segments (also see \ref + QCPSelectionDecorator). + + \see setSelection +*/ +template <class DataType> +void QCPAbstractPlottable1D<DataType>::getDataSegments(QList<QCPDataRange> &selectedSegments, QList<QCPDataRange> &unselectedSegments) const +{ + selectedSegments.clear(); + unselectedSegments.clear(); + if (mSelectable == QCP::stWhole) // stWhole selection type draws the entire plottable with selected style if mSelection isn't empty + { + if (selected()) + selectedSegments << QCPDataRange(0, dataCount()); + else + unselectedSegments << QCPDataRange(0, dataCount()); + } else + { + QCPDataSelection sel(selection()); + sel.simplify(); + selectedSegments = sel.dataRanges(); + unselectedSegments = sel.inverse(QCPDataRange(0, dataCount())).dataRanges(); + } +} + +/*! + A helper method which draws a line with the passed \a painter, according to the pixel data in \a + lineData. NaN points create gaps in the line, as expected from QCustomPlot's plottables (this is + the main difference to QPainter's regular drawPolyline, which handles NaNs by lagging or + crashing). + + Further it uses a faster line drawing technique based on \ref QCPPainter::drawLine rather than \c + QPainter::drawPolyline if the configured \ref QCustomPlot::setPlottingHints() and \a painter + style allows. +*/ +template <class DataType> +void QCPAbstractPlottable1D<DataType>::drawPolyline(QCPPainter *painter, const QVector<QPointF> &lineData) const +{ + // if drawing solid line and not in PDF, use much faster line drawing instead of polyline: + if (mParentPlot->plottingHints().testFlag(QCP::phFastPolylines) && + painter->pen().style() == Qt::SolidLine && + !painter->modes().testFlag(QCPPainter::pmVectorized) && + !painter->modes().testFlag(QCPPainter::pmNoCaching)) + { + int i = 0; + bool lastIsNan = false; + const int lineDataSize = lineData.size(); + while (i < lineDataSize && (qIsNaN(lineData.at(i).y()) || qIsNaN(lineData.at(i).x()))) // make sure first point is not NaN + ++i; + ++i; // because drawing works in 1 point retrospect + while (i < lineDataSize) + { + if (!qIsNaN(lineData.at(i).y()) && !qIsNaN(lineData.at(i).x())) // NaNs create a gap in the line + { + if (!lastIsNan) + painter->drawLine(lineData.at(i-1), lineData.at(i)); + else + lastIsNan = false; + } else + lastIsNan = true; + ++i; + } + } else + { + int segmentStart = 0; + int i = 0; + const int lineDataSize = lineData.size(); + while (i < lineDataSize) + { + if (qIsNaN(lineData.at(i).y()) || qIsNaN(lineData.at(i).x()) || qIsInf(lineData.at(i).y())) // NaNs create a gap in the line. Also filter Infs which make drawPolyline block + { + painter->drawPolyline(lineData.constData()+segmentStart, i-segmentStart); // i, because we don't want to include the current NaN point + segmentStart = i+1; + } + ++i; + } + // draw last segment: + painter->drawPolyline(lineData.constData()+segmentStart, lineDataSize-segmentStart); + } +} +/* end of 'src/plottable1d.cpp' */ + + +/* end of 'src/plottable1d.h' */ + + +/* including file 'src/colorgradient.h', size 6243 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPColorGradient +{ + Q_GADGET +public: + /*! + Defines the color spaces in which color interpolation between gradient stops can be performed. + + \see setColorInterpolation + */ + enum ColorInterpolation { ciRGB ///< Color channels red, green and blue are linearly interpolated + ,ciHSV ///< Color channels hue, saturation and value are linearly interpolated (The hue is interpolated over the shortest angle distance) + }; + Q_ENUMS(ColorInterpolation) + + /*! + Defines the available presets that can be loaded with \ref loadPreset. See the documentation + there for an image of the presets. + */ + enum GradientPreset { gpGrayscale ///< Continuous lightness from black to white (suited for non-biased data representation) + ,gpHot ///< Continuous lightness from black over firey colors to white (suited for non-biased data representation) + ,gpCold ///< Continuous lightness from black over icey colors to white (suited for non-biased data representation) + ,gpNight ///< Continuous lightness from black over weak blueish colors to white (suited for non-biased data representation) + ,gpCandy ///< Blue over pink to white + ,gpGeography ///< Colors suitable to represent different elevations on geographical maps + ,gpIon ///< Half hue spectrum from black over purple to blue and finally green (creates banding illusion but allows more precise magnitude estimates) + ,gpThermal ///< Colors suitable for thermal imaging, ranging from dark blue over purple to orange, yellow and white + ,gpPolar ///< Colors suitable to emphasize polarity around the center, with blue for negative, black in the middle and red for positive values + ,gpSpectrum ///< An approximation of the visible light spectrum (creates banding illusion but allows more precise magnitude estimates) + ,gpJet ///< Hue variation similar to a spectrum, often used in numerical visualization (creates banding illusion but allows more precise magnitude estimates) + ,gpHues ///< Full hue cycle, with highest and lowest color red (suitable for periodic data, such as angles and phases, see \ref setPeriodic) + }; + Q_ENUMS(GradientPreset) + + QCPColorGradient(); + QCPColorGradient(GradientPreset preset); + bool operator==(const QCPColorGradient &other) const; + bool operator!=(const QCPColorGradient &other) const { return !(*this == other); } + + // getters: + int levelCount() const { return mLevelCount; } + QMap<double, QColor> colorStops() const { return mColorStops; } + ColorInterpolation colorInterpolation() const { return mColorInterpolation; } + bool periodic() const { return mPeriodic; } + + // setters: + void setLevelCount(int n); + void setColorStops(const QMap<double, QColor> &colorStops); + void setColorStopAt(double position, const QColor &color); + void setColorInterpolation(ColorInterpolation interpolation); + void setPeriodic(bool enabled); + + // non-property methods: + void colorize(const double *data, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor=1, bool logarithmic=false); + void colorize(const double *data, const unsigned char *alpha, const QCPRange &range, QRgb *scanLine, int n, int dataIndexFactor=1, bool logarithmic=false); + QRgb color(double position, const QCPRange &range, bool logarithmic=false); + void loadPreset(GradientPreset preset); + void clearColorStops(); + QCPColorGradient inverted() const; + +protected: + // property members: + int mLevelCount; + QMap<double, QColor> mColorStops; + ColorInterpolation mColorInterpolation; + bool mPeriodic; + + // non-property members: + QVector<QRgb> mColorBuffer; // have colors premultiplied with alpha (for usage with QImage::Format_ARGB32_Premultiplied) + bool mColorBufferInvalidated; + + // non-virtual methods: + bool stopsUseAlpha() const; + void updateColorBuffer(); +}; +Q_DECLARE_METATYPE(QCPColorGradient::ColorInterpolation) +Q_DECLARE_METATYPE(QCPColorGradient::GradientPreset) + +/* end of 'src/colorgradient.h' */ + + +/* including file 'src/selectiondecorator-bracket.h', size 4442 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPSelectionDecoratorBracket : public QCPSelectionDecorator +{ + Q_GADGET +public: + + /*! + Defines which shape is drawn at the boundaries of selected data ranges. + + Some of the bracket styles further allow specifying a height and/or width, see \ref + setBracketHeight and \ref setBracketWidth. + */ + enum BracketStyle { bsSquareBracket ///< A square bracket is drawn. + ,bsHalfEllipse ///< A half ellipse is drawn. The size of the ellipse is given by the bracket width/height properties. + ,bsEllipse ///< An ellipse is drawn. The size of the ellipse is given by the bracket width/height properties. + ,bsPlus ///< A plus is drawn. + ,bsUserStyle ///< Start custom bracket styles at this index when subclassing and reimplementing \ref drawBracket. + }; + Q_ENUMS(BracketStyle) + + QCPSelectionDecoratorBracket(); + virtual ~QCPSelectionDecoratorBracket(); + + // getters: + QPen bracketPen() const { return mBracketPen; } + QBrush bracketBrush() const { return mBracketBrush; } + int bracketWidth() const { return mBracketWidth; } + int bracketHeight() const { return mBracketHeight; } + BracketStyle bracketStyle() const { return mBracketStyle; } + bool tangentToData() const { return mTangentToData; } + int tangentAverage() const { return mTangentAverage; } + + // setters: + void setBracketPen(const QPen &pen); + void setBracketBrush(const QBrush &brush); + void setBracketWidth(int width); + void setBracketHeight(int height); + void setBracketStyle(BracketStyle style); + void setTangentToData(bool enabled); + void setTangentAverage(int pointCount); + + // introduced virtual methods: + virtual void drawBracket(QCPPainter *painter, int direction) const; + + // virtual methods: + virtual void drawDecoration(QCPPainter *painter, QCPDataSelection selection) Q_DECL_OVERRIDE; + +protected: + // property members: + QPen mBracketPen; + QBrush mBracketBrush; + int mBracketWidth; + int mBracketHeight; + BracketStyle mBracketStyle; + bool mTangentToData; + int mTangentAverage; + + // non-virtual methods: + double getTangentAngle(const QCPPlottableInterface1D *interface1d, int dataIndex, int direction) const; + QPointF getPixelCoordinates(const QCPPlottableInterface1D *interface1d, int dataIndex) const; + +}; +Q_DECLARE_METATYPE(QCPSelectionDecoratorBracket::BracketStyle) + +/* end of 'src/selectiondecorator-bracket.h' */ + + +/* including file 'src/layoutelements/layoutelement-axisrect.h', size 7507 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAxisRect : public QCPLayoutElement +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPixmap background READ background WRITE setBackground) + Q_PROPERTY(bool backgroundScaled READ backgroundScaled WRITE setBackgroundScaled) + Q_PROPERTY(Qt::AspectRatioMode backgroundScaledMode READ backgroundScaledMode WRITE setBackgroundScaledMode) + Q_PROPERTY(Qt::Orientations rangeDrag READ rangeDrag WRITE setRangeDrag) + Q_PROPERTY(Qt::Orientations rangeZoom READ rangeZoom WRITE setRangeZoom) + /// \endcond +public: + explicit QCPAxisRect(QCustomPlot *parentPlot, bool setupDefaultAxes=true); + virtual ~QCPAxisRect(); + + // getters: + QPixmap background() const { return mBackgroundPixmap; } + QBrush backgroundBrush() const { return mBackgroundBrush; } + bool backgroundScaled() const { return mBackgroundScaled; } + Qt::AspectRatioMode backgroundScaledMode() const { return mBackgroundScaledMode; } + Qt::Orientations rangeDrag() const { return mRangeDrag; } + Qt::Orientations rangeZoom() const { return mRangeZoom; } + QCPAxis *rangeDragAxis(Qt::Orientation orientation); + QCPAxis *rangeZoomAxis(Qt::Orientation orientation); + QList<QCPAxis*> rangeDragAxes(Qt::Orientation orientation); + QList<QCPAxis*> rangeZoomAxes(Qt::Orientation orientation); + double rangeZoomFactor(Qt::Orientation orientation); + + // setters: + void setBackground(const QPixmap &pm); + void setBackground(const QPixmap &pm, bool scaled, Qt::AspectRatioMode mode=Qt::KeepAspectRatioByExpanding); + void setBackground(const QBrush &brush); + void setBackgroundScaled(bool scaled); + void setBackgroundScaledMode(Qt::AspectRatioMode mode); + void setRangeDrag(Qt::Orientations orientations); + void setRangeZoom(Qt::Orientations orientations); + void setRangeDragAxes(QCPAxis *horizontal, QCPAxis *vertical); + void setRangeDragAxes(QList<QCPAxis*> axes); + void setRangeDragAxes(QList<QCPAxis*> horizontal, QList<QCPAxis*> vertical); + void setRangeZoomAxes(QCPAxis *horizontal, QCPAxis *vertical); + void setRangeZoomAxes(QList<QCPAxis*> axes); + void setRangeZoomAxes(QList<QCPAxis*> horizontal, QList<QCPAxis*> vertical); + void setRangeZoomFactor(double horizontalFactor, double verticalFactor); + void setRangeZoomFactor(double factor); + + // non-property methods: + int axisCount(QCPAxis::AxisType type) const; + QCPAxis *axis(QCPAxis::AxisType type, int index=0) const; + QList<QCPAxis*> axes(QCPAxis::AxisTypes types) const; + QList<QCPAxis*> axes() const; + QCPAxis *addAxis(QCPAxis::AxisType type, QCPAxis *axis=0); + QList<QCPAxis*> addAxes(QCPAxis::AxisTypes types); + bool removeAxis(QCPAxis *axis); + QCPLayoutInset *insetLayout() const { return mInsetLayout; } + + void zoom(const QRectF &pixelRect); + void zoom(const QRectF &pixelRect, const QList<QCPAxis*> &affectedAxes); + void setupFullAxesBox(bool connectRanges=false); + QList<QCPAbstractPlottable*> plottables() const; + QList<QCPGraph*> graphs() const; + QList<QCPAbstractItem*> items() const; + + // read-only interface imitating a QRect: + int left() const { return mRect.left(); } + int right() const { return mRect.right(); } + int top() const { return mRect.top(); } + int bottom() const { return mRect.bottom(); } + int width() const { return mRect.width(); } + int height() const { return mRect.height(); } + QSize size() const { return mRect.size(); } + QPoint topLeft() const { return mRect.topLeft(); } + QPoint topRight() const { return mRect.topRight(); } + QPoint bottomLeft() const { return mRect.bottomLeft(); } + QPoint bottomRight() const { return mRect.bottomRight(); } + QPoint center() const { return mRect.center(); } + + // reimplemented virtual methods: + virtual void update(UpdatePhase phase) Q_DECL_OVERRIDE; + virtual QList<QCPLayoutElement*> elements(bool recursive) const Q_DECL_OVERRIDE; + +protected: + // property members: + QBrush mBackgroundBrush; + QPixmap mBackgroundPixmap; + QPixmap mScaledBackgroundPixmap; + bool mBackgroundScaled; + Qt::AspectRatioMode mBackgroundScaledMode; + QCPLayoutInset *mInsetLayout; + Qt::Orientations mRangeDrag, mRangeZoom; + QList<QPointer<QCPAxis> > mRangeDragHorzAxis, mRangeDragVertAxis; + QList<QPointer<QCPAxis> > mRangeZoomHorzAxis, mRangeZoomVertAxis; + double mRangeZoomFactorHorz, mRangeZoomFactorVert; + + // non-property members: + QList<QCPRange> mDragStartHorzRange, mDragStartVertRange; + QCP::AntialiasedElements mAADragBackup, mNotAADragBackup; + bool mDragging; + QHash<QCPAxis::AxisType, QList<QCPAxis*> > mAxes; + + // reimplemented virtual methods: + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual int calculateAutoMargin(QCP::MarginSide side) Q_DECL_OVERRIDE; + virtual void layoutChanged() Q_DECL_OVERRIDE; + // events: + virtual void mousePressEvent(QMouseEvent *event, const QVariant &details) Q_DECL_OVERRIDE; + virtual void mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE; + + // non-property methods: + void drawBackground(QCPPainter *painter); + void updateAxesOffset(QCPAxis::AxisType type); + +private: + Q_DISABLE_COPY(QCPAxisRect) + + friend class QCustomPlot; +}; + + +/* end of 'src/layoutelements/layoutelement-axisrect.h' */ + + +/* including file 'src/layoutelements/layoutelement-legend.h', size 10397 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPAbstractLegendItem : public QCPLayoutElement +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QCPLegend* parentLegend READ parentLegend) + Q_PROPERTY(QFont font READ font WRITE setFont) + Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor) + Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) + Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor) + Q_PROPERTY(bool selectable READ selectable WRITE setSelectable NOTIFY selectionChanged) + Q_PROPERTY(bool selected READ selected WRITE setSelected NOTIFY selectableChanged) + /// \endcond +public: + explicit QCPAbstractLegendItem(QCPLegend *parent); + + // getters: + QCPLegend *parentLegend() const { return mParentLegend; } + QFont font() const { return mFont; } + QColor textColor() const { return mTextColor; } + QFont selectedFont() const { return mSelectedFont; } + QColor selectedTextColor() const { return mSelectedTextColor; } + bool selectable() const { return mSelectable; } + bool selected() const { return mSelected; } + + // setters: + void setFont(const QFont &font); + void setTextColor(const QColor &color); + void setSelectedFont(const QFont &font); + void setSelectedTextColor(const QColor &color); + Q_SLOT void setSelectable(bool selectable); + Q_SLOT void setSelected(bool selected); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + +signals: + void selectionChanged(bool selected); + void selectableChanged(bool selectable); + +protected: + // property members: + QCPLegend *mParentLegend; + QFont mFont; + QColor mTextColor; + QFont mSelectedFont; + QColor mSelectedTextColor; + bool mSelectable, mSelected; + + // reimplemented virtual methods: + virtual QCP::Interaction selectionCategory() const Q_DECL_OVERRIDE; + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual QRect clipRect() const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE = 0; + // events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE; + virtual void deselectEvent(bool *selectionStateChanged) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QCPAbstractLegendItem) + + friend class QCPLegend; +}; + + +class QCP_LIB_DECL QCPPlottableLegendItem : public QCPAbstractLegendItem +{ + Q_OBJECT +public: + QCPPlottableLegendItem(QCPLegend *parent, QCPAbstractPlottable *plottable); + + // getters: + QCPAbstractPlottable *plottable() { return mPlottable; } + +protected: + // property members: + QCPAbstractPlottable *mPlottable; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QSize minimumOuterSizeHint() const Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen getIconBorderPen() const; + QColor getTextColor() const; + QFont getFont() const; +}; + + +class QCP_LIB_DECL QCPLegend : public QCPLayoutGrid +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen borderPen READ borderPen WRITE setBorderPen) + Q_PROPERTY(QBrush brush READ brush WRITE setBrush) + Q_PROPERTY(QFont font READ font WRITE setFont) + Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor) + Q_PROPERTY(QSize iconSize READ iconSize WRITE setIconSize) + Q_PROPERTY(int iconTextPadding READ iconTextPadding WRITE setIconTextPadding) + Q_PROPERTY(QPen iconBorderPen READ iconBorderPen WRITE setIconBorderPen) + Q_PROPERTY(SelectableParts selectableParts READ selectableParts WRITE setSelectableParts NOTIFY selectionChanged) + Q_PROPERTY(SelectableParts selectedParts READ selectedParts WRITE setSelectedParts NOTIFY selectableChanged) + Q_PROPERTY(QPen selectedBorderPen READ selectedBorderPen WRITE setSelectedBorderPen) + Q_PROPERTY(QPen selectedIconBorderPen READ selectedIconBorderPen WRITE setSelectedIconBorderPen) + Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) + Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) + Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor) + /// \endcond +public: + /*! + Defines the selectable parts of a legend + + \see setSelectedParts, setSelectableParts + */ + enum SelectablePart { spNone = 0x000 ///< <tt>0x000</tt> None + ,spLegendBox = 0x001 ///< <tt>0x001</tt> The legend box (frame) + ,spItems = 0x002 ///< <tt>0x002</tt> Legend items individually (see \ref selectedItems) + }; + Q_ENUMS(SelectablePart) + Q_FLAGS(SelectableParts) + Q_DECLARE_FLAGS(SelectableParts, SelectablePart) + + explicit QCPLegend(); + virtual ~QCPLegend(); + + // getters: + QPen borderPen() const { return mBorderPen; } + QBrush brush() const { return mBrush; } + QFont font() const { return mFont; } + QColor textColor() const { return mTextColor; } + QSize iconSize() const { return mIconSize; } + int iconTextPadding() const { return mIconTextPadding; } + QPen iconBorderPen() const { return mIconBorderPen; } + SelectableParts selectableParts() const { return mSelectableParts; } + SelectableParts selectedParts() const; + QPen selectedBorderPen() const { return mSelectedBorderPen; } + QPen selectedIconBorderPen() const { return mSelectedIconBorderPen; } + QBrush selectedBrush() const { return mSelectedBrush; } + QFont selectedFont() const { return mSelectedFont; } + QColor selectedTextColor() const { return mSelectedTextColor; } + + // setters: + void setBorderPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setFont(const QFont &font); + void setTextColor(const QColor &color); + void setIconSize(const QSize &size); + void setIconSize(int width, int height); + void setIconTextPadding(int padding); + void setIconBorderPen(const QPen &pen); + Q_SLOT void setSelectableParts(const SelectableParts &selectableParts); + Q_SLOT void setSelectedParts(const SelectableParts &selectedParts); + void setSelectedBorderPen(const QPen &pen); + void setSelectedIconBorderPen(const QPen &pen); + void setSelectedBrush(const QBrush &brush); + void setSelectedFont(const QFont &font); + void setSelectedTextColor(const QColor &color); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + // non-virtual methods: + QCPAbstractLegendItem *item(int index) const; + QCPPlottableLegendItem *itemWithPlottable(const QCPAbstractPlottable *plottable) const; + int itemCount() const; + bool hasItem(QCPAbstractLegendItem *item) const; + bool hasItemWithPlottable(const QCPAbstractPlottable *plottable) const; + bool addItem(QCPAbstractLegendItem *item); + bool removeItem(int index); + bool removeItem(QCPAbstractLegendItem *item); + void clearItems(); + QList<QCPAbstractLegendItem*> selectedItems() const; + +signals: + void selectionChanged(QCPLegend::SelectableParts parts); + void selectableChanged(QCPLegend::SelectableParts parts); + +protected: + // property members: + QPen mBorderPen, mIconBorderPen; + QBrush mBrush; + QFont mFont; + QColor mTextColor; + QSize mIconSize; + int mIconTextPadding; + SelectableParts mSelectedParts, mSelectableParts; + QPen mSelectedBorderPen, mSelectedIconBorderPen; + QBrush mSelectedBrush; + QFont mSelectedFont; + QColor mSelectedTextColor; + + // reimplemented virtual methods: + virtual void parentPlotInitialized(QCustomPlot *parentPlot) Q_DECL_OVERRIDE; + virtual QCP::Interaction selectionCategory() const Q_DECL_OVERRIDE; + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + // events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE; + virtual void deselectEvent(bool *selectionStateChanged) Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen getBorderPen() const; + QBrush getBrush() const; + +private: + Q_DISABLE_COPY(QCPLegend) + + friend class QCustomPlot; + friend class QCPAbstractLegendItem; +}; +Q_DECLARE_OPERATORS_FOR_FLAGS(QCPLegend::SelectableParts) +Q_DECLARE_METATYPE(QCPLegend::SelectablePart) + +/* end of 'src/layoutelements/layoutelement-legend.h' */ + + +/* including file 'src/layoutelements/layoutelement-textelement.h', size 5353 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPTextElement : public QCPLayoutElement +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(QFont font READ font WRITE setFont) + Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor) + Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) + Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor) + Q_PROPERTY(bool selectable READ selectable WRITE setSelectable NOTIFY selectableChanged) + Q_PROPERTY(bool selected READ selected WRITE setSelected NOTIFY selectionChanged) + /// \endcond +public: + explicit QCPTextElement(QCustomPlot *parentPlot); + QCPTextElement(QCustomPlot *parentPlot, const QString &text); + QCPTextElement(QCustomPlot *parentPlot, const QString &text, double pointSize); + QCPTextElement(QCustomPlot *parentPlot, const QString &text, const QString &fontFamily, double pointSize); + QCPTextElement(QCustomPlot *parentPlot, const QString &text, const QFont &font); + + // getters: + QString text() const { return mText; } + int textFlags() const { return mTextFlags; } + QFont font() const { return mFont; } + QColor textColor() const { return mTextColor; } + QFont selectedFont() const { return mSelectedFont; } + QColor selectedTextColor() const { return mSelectedTextColor; } + bool selectable() const { return mSelectable; } + bool selected() const { return mSelected; } + + // setters: + void setText(const QString &text); + void setTextFlags(int flags); + void setFont(const QFont &font); + void setTextColor(const QColor &color); + void setSelectedFont(const QFont &font); + void setSelectedTextColor(const QColor &color); + Q_SLOT void setSelectable(bool selectable); + Q_SLOT void setSelected(bool selected); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual void mousePressEvent(QMouseEvent *event, const QVariant &details) Q_DECL_OVERRIDE; + virtual void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void mouseDoubleClickEvent(QMouseEvent *event, const QVariant &details) Q_DECL_OVERRIDE; + +signals: + void selectionChanged(bool selected); + void selectableChanged(bool selectable); + void clicked(QMouseEvent *event); + void doubleClicked(QMouseEvent *event); + +protected: + // property members: + QString mText; + int mTextFlags; + QFont mFont; + QColor mTextColor; + QFont mSelectedFont; + QColor mSelectedTextColor; + QRect mTextBoundingRect; + bool mSelectable, mSelected; + + // reimplemented virtual methods: + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QSize minimumOuterSizeHint() const Q_DECL_OVERRIDE; + virtual QSize maximumOuterSizeHint() const Q_DECL_OVERRIDE; + // events: + virtual void selectEvent(QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged) Q_DECL_OVERRIDE; + virtual void deselectEvent(bool *selectionStateChanged) Q_DECL_OVERRIDE; + + // non-virtual methods: + QFont mainFont() const; + QColor mainTextColor() const; + +private: + Q_DISABLE_COPY(QCPTextElement) +}; + + + +/* end of 'src/layoutelements/layoutelement-textelement.h' */ + + +/* including file 'src/layoutelements/layoutelement-colorscale.h', size 5923 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + + +class QCPColorScaleAxisRectPrivate : public QCPAxisRect +{ + Q_OBJECT +public: + explicit QCPColorScaleAxisRectPrivate(QCPColorScale *parentColorScale); +protected: + QCPColorScale *mParentColorScale; + QImage mGradientImage; + bool mGradientImageInvalidated; + // re-using some methods of QCPAxisRect to make them available to friend class QCPColorScale + using QCPAxisRect::calculateAutoMargin; + using QCPAxisRect::mousePressEvent; + using QCPAxisRect::mouseMoveEvent; + using QCPAxisRect::mouseReleaseEvent; + using QCPAxisRect::wheelEvent; + using QCPAxisRect::update; + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + void updateGradientImage(); + Q_SLOT void axisSelectionChanged(QCPAxis::SelectableParts selectedParts); + Q_SLOT void axisSelectableChanged(QCPAxis::SelectableParts selectableParts); + friend class QCPColorScale; +}; + + +class QCP_LIB_DECL QCPColorScale : public QCPLayoutElement +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QCPAxis::AxisType type READ type WRITE setType) + Q_PROPERTY(QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY dataRangeChanged) + Q_PROPERTY(QCPAxis::ScaleType dataScaleType READ dataScaleType WRITE setDataScaleType NOTIFY dataScaleTypeChanged) + Q_PROPERTY(QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY gradientChanged) + Q_PROPERTY(QString label READ label WRITE setLabel) + Q_PROPERTY(int barWidth READ barWidth WRITE setBarWidth) + Q_PROPERTY(bool rangeDrag READ rangeDrag WRITE setRangeDrag) + Q_PROPERTY(bool rangeZoom READ rangeZoom WRITE setRangeZoom) + /// \endcond +public: + explicit QCPColorScale(QCustomPlot *parentPlot); + virtual ~QCPColorScale(); + + // getters: + QCPAxis *axis() const { return mColorAxis.data(); } + QCPAxis::AxisType type() const { return mType; } + QCPRange dataRange() const { return mDataRange; } + QCPAxis::ScaleType dataScaleType() const { return mDataScaleType; } + QCPColorGradient gradient() const { return mGradient; } + QString label() const; + int barWidth () const { return mBarWidth; } + bool rangeDrag() const; + bool rangeZoom() const; + + // setters: + void setType(QCPAxis::AxisType type); + Q_SLOT void setDataRange(const QCPRange &dataRange); + Q_SLOT void setDataScaleType(QCPAxis::ScaleType scaleType); + Q_SLOT void setGradient(const QCPColorGradient &gradient); + void setLabel(const QString &str); + void setBarWidth(int width); + void setRangeDrag(bool enabled); + void setRangeZoom(bool enabled); + + // non-property methods: + QList<QCPColorMap*> colorMaps() const; + void rescaleDataRange(bool onlyVisibleMaps); + + // reimplemented virtual methods: + virtual void update(UpdatePhase phase) Q_DECL_OVERRIDE; + +signals: + void dataRangeChanged(const QCPRange &newRange); + void dataScaleTypeChanged(QCPAxis::ScaleType scaleType); + void gradientChanged(const QCPColorGradient &newGradient); + +protected: + // property members: + QCPAxis::AxisType mType; + QCPRange mDataRange; + QCPAxis::ScaleType mDataScaleType; + QCPColorGradient mGradient; + int mBarWidth; + + // non-property members: + QPointer<QCPColorScaleAxisRectPrivate> mAxisRect; + QPointer<QCPAxis> mColorAxis; + + // reimplemented virtual methods: + virtual void applyDefaultAntialiasingHint(QCPPainter *painter) const Q_DECL_OVERRIDE; + // events: + virtual void mousePressEvent(QMouseEvent *event, const QVariant &details) Q_DECL_OVERRIDE; + virtual void mouseMoveEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void mouseReleaseEvent(QMouseEvent *event, const QPointF &startPos) Q_DECL_OVERRIDE; + virtual void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE; + +private: + Q_DISABLE_COPY(QCPColorScale) + + friend class QCPColorScaleAxisRectPrivate; +}; + + +/* end of 'src/layoutelements/layoutelement-colorscale.h' */ + + +/* including file 'src/plottables/plottable-graph.h', size 9294 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPGraphData +{ +public: + QCPGraphData(); + QCPGraphData(double key, double value); + + inline double sortKey() const { return key; } + inline static QCPGraphData fromSortKey(double sortKey) { return QCPGraphData(sortKey, 0); } + inline static bool sortKeyIsMainKey() { return true; } + + inline double mainKey() const { return key; } + inline double mainValue() const { return value; } + + inline QCPRange valueRange() const { return QCPRange(value, value); } + + double key, value; +}; +Q_DECLARE_TYPEINFO(QCPGraphData, Q_PRIMITIVE_TYPE); + + +/*! \typedef QCPGraphDataContainer + + Container for storing \ref QCPGraphData points. The data is stored sorted by \a key. + + This template instantiation is the container in which QCPGraph holds its data. For details about + the generic container, see the documentation of the class template \ref QCPDataContainer. + + \see QCPGraphData, QCPGraph::setData +*/ +typedef QCPDataContainer<QCPGraphData> QCPGraphDataContainer; + +class QCP_LIB_DECL QCPGraph : public QCPAbstractPlottable1D<QCPGraphData> +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle) + Q_PROPERTY(QCPScatterStyle scatterStyle READ scatterStyle WRITE setScatterStyle) + Q_PROPERTY(int scatterSkip READ scatterSkip WRITE setScatterSkip) + Q_PROPERTY(QCPGraph* channelFillGraph READ channelFillGraph WRITE setChannelFillGraph) + Q_PROPERTY(bool adaptiveSampling READ adaptiveSampling WRITE setAdaptiveSampling) + /// \endcond +public: + /*! + Defines how the graph's line is represented visually in the plot. The line is drawn with the + current pen of the graph (\ref setPen). + \see setLineStyle + */ + enum LineStyle { lsNone ///< data points are not connected with any lines (e.g. data only represented + ///< with symbols according to the scatter style, see \ref setScatterStyle) + ,lsLine ///< data points are connected by a straight line + ,lsStepLeft ///< line is drawn as steps where the step height is the value of the left data point + ,lsStepRight ///< line is drawn as steps where the step height is the value of the right data point + ,lsStepCenter ///< line is drawn as steps where the step is in between two data points + ,lsImpulse ///< each data point is represented by a line parallel to the value axis, which reaches from the data point to the zero-value-line + }; + Q_ENUMS(LineStyle) + + explicit QCPGraph(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPGraph(); + + // getters: + QSharedPointer<QCPGraphDataContainer> data() const { return mDataContainer; } + LineStyle lineStyle() const { return mLineStyle; } + QCPScatterStyle scatterStyle() const { return mScatterStyle; } + int scatterSkip() const { return mScatterSkip; } + QCPGraph *channelFillGraph() const { return mChannelFillGraph.data(); } + bool adaptiveSampling() const { return mAdaptiveSampling; } + + // setters: + void setData(QSharedPointer<QCPGraphDataContainer> data); + void setData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false); + void setLineStyle(LineStyle ls); + void setScatterStyle(const QCPScatterStyle &style); + void setScatterSkip(int skip); + void setChannelFillGraph(QCPGraph *targetGraph); + void setAdaptiveSampling(bool enabled); + + // non-property methods: + void addData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false); + void addData(double key, double value); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + +protected: + // property members: + LineStyle mLineStyle; + QCPScatterStyle mScatterStyle; + int mScatterSkip; + QPointer<QCPGraph> mChannelFillGraph; + bool mAdaptiveSampling; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual void drawFill(QCPPainter *painter, QVector<QPointF> *lines) const; + virtual void drawScatterPlot(QCPPainter *painter, const QVector<QPointF> &scatters, const QCPScatterStyle &style) const; + virtual void drawLinePlot(QCPPainter *painter, const QVector<QPointF> &lines) const; + virtual void drawImpulsePlot(QCPPainter *painter, const QVector<QPointF> &lines) const; + + virtual void getOptimizedLineData(QVector<QCPGraphData> *lineData, const QCPGraphDataContainer::const_iterator &begin, const QCPGraphDataContainer::const_iterator &end) const; + virtual void getOptimizedScatterData(QVector<QCPGraphData> *scatterData, QCPGraphDataContainer::const_iterator begin, QCPGraphDataContainer::const_iterator end) const; + + // non-virtual methods: + void getVisibleDataBounds(QCPGraphDataContainer::const_iterator &begin, QCPGraphDataContainer::const_iterator &end, const QCPDataRange &rangeRestriction) const; + void getLines(QVector<QPointF> *lines, const QCPDataRange &dataRange) const; + void getScatters(QVector<QPointF> *scatters, const QCPDataRange &dataRange) const; + QVector<QPointF> dataToLines(const QVector<QCPGraphData> &data) const; + QVector<QPointF> dataToStepLeftLines(const QVector<QCPGraphData> &data) const; + QVector<QPointF> dataToStepRightLines(const QVector<QCPGraphData> &data) const; + QVector<QPointF> dataToStepCenterLines(const QVector<QCPGraphData> &data) const; + QVector<QPointF> dataToImpulseLines(const QVector<QCPGraphData> &data) const; + QVector<QCPDataRange> getNonNanSegments(const QVector<QPointF> *lineData, Qt::Orientation keyOrientation) const; + QVector<QPair<QCPDataRange, QCPDataRange> > getOverlappingSegments(QVector<QCPDataRange> thisSegments, const QVector<QPointF> *thisData, QVector<QCPDataRange> otherSegments, const QVector<QPointF> *otherData) const; + bool segmentsIntersect(double aLower, double aUpper, double bLower, double bUpper, int &bPrecedence) const; + QPointF getFillBasePoint(QPointF matchingDataPoint) const; + const QPolygonF getFillPolygon(const QVector<QPointF> *lineData, QCPDataRange segment) const; + const QPolygonF getChannelFillPolygon(const QVector<QPointF> *lineData, QCPDataRange thisSegment, const QVector<QPointF> *otherData, QCPDataRange otherSegment) const; + int findIndexBelowX(const QVector<QPointF> *data, double x) const; + int findIndexAboveX(const QVector<QPointF> *data, double x) const; + int findIndexBelowY(const QVector<QPointF> *data, double y) const; + int findIndexAboveY(const QVector<QPointF> *data, double y) const; + double pointDistance(const QPointF &pixelPoint, QCPGraphDataContainer::const_iterator &closestData) const; + + friend class QCustomPlot; + friend class QCPLegend; +}; +Q_DECLARE_METATYPE(QCPGraph::LineStyle) + +/* end of 'src/plottables/plottable-graph.h' */ + + +/* including file 'src/plottables/plottable-curve.h', size 7409 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPCurveData +{ +public: + QCPCurveData(); + QCPCurveData(double t, double key, double value); + + inline double sortKey() const { return t; } + inline static QCPCurveData fromSortKey(double sortKey) { return QCPCurveData(sortKey, 0, 0); } + inline static bool sortKeyIsMainKey() { return false; } + + inline double mainKey() const { return key; } + inline double mainValue() const { return value; } + + inline QCPRange valueRange() const { return QCPRange(value, value); } + + double t, key, value; +}; +Q_DECLARE_TYPEINFO(QCPCurveData, Q_PRIMITIVE_TYPE); + + +/*! \typedef QCPCurveDataContainer + + Container for storing \ref QCPCurveData points. The data is stored sorted by \a t, so the \a + sortKey() (returning \a t) is different from \a mainKey() (returning \a key). + + This template instantiation is the container in which QCPCurve holds its data. For details about + the generic container, see the documentation of the class template \ref QCPDataContainer. + + \see QCPCurveData, QCPCurve::setData +*/ +typedef QCPDataContainer<QCPCurveData> QCPCurveDataContainer; + +class QCP_LIB_DECL QCPCurve : public QCPAbstractPlottable1D<QCPCurveData> +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QCPScatterStyle scatterStyle READ scatterStyle WRITE setScatterStyle) + Q_PROPERTY(int scatterSkip READ scatterSkip WRITE setScatterSkip) + Q_PROPERTY(LineStyle lineStyle READ lineStyle WRITE setLineStyle) + /// \endcond +public: + /*! + Defines how the curve's line is represented visually in the plot. The line is drawn with the + current pen of the curve (\ref setPen). + \see setLineStyle + */ + enum LineStyle { lsNone ///< No line is drawn between data points (e.g. only scatters) + ,lsLine ///< Data points are connected with a straight line + }; + Q_ENUMS(LineStyle) + + explicit QCPCurve(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPCurve(); + + // getters: + QSharedPointer<QCPCurveDataContainer> data() const { return mDataContainer; } + QCPScatterStyle scatterStyle() const { return mScatterStyle; } + int scatterSkip() const { return mScatterSkip; } + LineStyle lineStyle() const { return mLineStyle; } + + // setters: + void setData(QSharedPointer<QCPCurveDataContainer> data); + void setData(const QVector<double> &t, const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false); + void setData(const QVector<double> &keys, const QVector<double> &values); + void setScatterStyle(const QCPScatterStyle &style); + void setScatterSkip(int skip); + void setLineStyle(LineStyle style); + + // non-property methods: + void addData(const QVector<double> &t, const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false); + void addData(const QVector<double> &keys, const QVector<double> &values); + void addData(double t, double key, double value); + void addData(double key, double value); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + +protected: + // property members: + QCPScatterStyle mScatterStyle; + int mScatterSkip; + LineStyle mLineStyle; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual void drawCurveLine(QCPPainter *painter, const QVector<QPointF> &lines) const; + virtual void drawScatterPlot(QCPPainter *painter, const QVector<QPointF> &points, const QCPScatterStyle &style) const; + + // non-virtual methods: + void getCurveLines(QVector<QPointF> *lines, const QCPDataRange &dataRange, double penWidth) const; + void getScatters(QVector<QPointF> *scatters, const QCPDataRange &dataRange, double scatterWidth) const; + int getRegion(double key, double value, double keyMin, double valueMax, double keyMax, double valueMin) const; + QPointF getOptimizedPoint(int prevRegion, double prevKey, double prevValue, double key, double value, double keyMin, double valueMax, double keyMax, double valueMin) const; + QVector<QPointF> getOptimizedCornerPoints(int prevRegion, int currentRegion, double prevKey, double prevValue, double key, double value, double keyMin, double valueMax, double keyMax, double valueMin) const; + bool mayTraverse(int prevRegion, int currentRegion) const; + bool getTraverse(double prevKey, double prevValue, double key, double value, double keyMin, double valueMax, double keyMax, double valueMin, QPointF &crossA, QPointF &crossB) const; + void getTraverseCornerPoints(int prevRegion, int currentRegion, double keyMin, double valueMax, double keyMax, double valueMin, QVector<QPointF> &beforeTraverse, QVector<QPointF> &afterTraverse) const; + double pointDistance(const QPointF &pixelPoint, QCPCurveDataContainer::const_iterator &closestData) const; + + friend class QCustomPlot; + friend class QCPLegend; +}; +Q_DECLARE_METATYPE(QCPCurve::LineStyle) + +/* end of 'src/plottables/plottable-curve.h' */ + + +/* including file 'src/plottables/plottable-bars.h', size 8924 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPBarsGroup : public QObject +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(SpacingType spacingType READ spacingType WRITE setSpacingType) + Q_PROPERTY(double spacing READ spacing WRITE setSpacing) + /// \endcond +public: + /*! + Defines the ways the spacing between bars in the group can be specified. Thus it defines what + the number passed to \ref setSpacing actually means. + + \see setSpacingType, setSpacing + */ + enum SpacingType { stAbsolute ///< Bar spacing is in absolute pixels + ,stAxisRectRatio ///< Bar spacing is given by a fraction of the axis rect size + ,stPlotCoords ///< Bar spacing is in key coordinates and thus scales with the key axis range + }; + Q_ENUMS(SpacingType) + + QCPBarsGroup(QCustomPlot *parentPlot); + virtual ~QCPBarsGroup(); + + // getters: + SpacingType spacingType() const { return mSpacingType; } + double spacing() const { return mSpacing; } + + // setters: + void setSpacingType(SpacingType spacingType); + void setSpacing(double spacing); + + // non-virtual methods: + QList<QCPBars*> bars() const { return mBars; } + QCPBars* bars(int index) const; + int size() const { return mBars.size(); } + bool isEmpty() const { return mBars.isEmpty(); } + void clear(); + bool contains(QCPBars *bars) const { return mBars.contains(bars); } + void append(QCPBars *bars); + void insert(int i, QCPBars *bars); + void remove(QCPBars *bars); + +protected: + // non-property members: + QCustomPlot *mParentPlot; + SpacingType mSpacingType; + double mSpacing; + QList<QCPBars*> mBars; + + // non-virtual methods: + void registerBars(QCPBars *bars); + void unregisterBars(QCPBars *bars); + + // virtual methods: + double keyPixelOffset(const QCPBars *bars, double keyCoord); + double getPixelSpacing(const QCPBars *bars, double keyCoord); + +private: + Q_DISABLE_COPY(QCPBarsGroup) + + friend class QCPBars; +}; +Q_DECLARE_METATYPE(QCPBarsGroup::SpacingType) + + +class QCP_LIB_DECL QCPBarsData +{ +public: + QCPBarsData(); + QCPBarsData(double key, double value); + + inline double sortKey() const { return key; } + inline static QCPBarsData fromSortKey(double sortKey) { return QCPBarsData(sortKey, 0); } + inline static bool sortKeyIsMainKey() { return true; } + + inline double mainKey() const { return key; } + inline double mainValue() const { return value; } + + inline QCPRange valueRange() const { return QCPRange(value, value); } // note that bar base value isn't held in each QCPBarsData and thus can't/shouldn't be returned here + + double key, value; +}; +Q_DECLARE_TYPEINFO(QCPBarsData, Q_PRIMITIVE_TYPE); + + +/*! \typedef QCPBarsDataContainer + + Container for storing \ref QCPBarsData points. The data is stored sorted by \a key. + + This template instantiation is the container in which QCPBars holds its data. For details about + the generic container, see the documentation of the class template \ref QCPDataContainer. + + \see QCPBarsData, QCPBars::setData +*/ +typedef QCPDataContainer<QCPBarsData> QCPBarsDataContainer; + +class QCP_LIB_DECL QCPBars : public QCPAbstractPlottable1D<QCPBarsData> +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(double width READ width WRITE setWidth) + Q_PROPERTY(WidthType widthType READ widthType WRITE setWidthType) + Q_PROPERTY(QCPBarsGroup* barsGroup READ barsGroup WRITE setBarsGroup) + Q_PROPERTY(double baseValue READ baseValue WRITE setBaseValue) + Q_PROPERTY(double stackingGap READ stackingGap WRITE setStackingGap) + Q_PROPERTY(QCPBars* barBelow READ barBelow) + Q_PROPERTY(QCPBars* barAbove READ barAbove) + /// \endcond +public: + /*! + Defines the ways the width of the bar can be specified. Thus it defines what the number passed + to \ref setWidth actually means. + + \see setWidthType, setWidth + */ + enum WidthType { wtAbsolute ///< Bar width is in absolute pixels + ,wtAxisRectRatio ///< Bar width is given by a fraction of the axis rect size + ,wtPlotCoords ///< Bar width is in key coordinates and thus scales with the key axis range + }; + Q_ENUMS(WidthType) + + explicit QCPBars(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPBars(); + + // getters: + double width() const { return mWidth; } + WidthType widthType() const { return mWidthType; } + QCPBarsGroup *barsGroup() const { return mBarsGroup; } + double baseValue() const { return mBaseValue; } + double stackingGap() const { return mStackingGap; } + QCPBars *barBelow() const { return mBarBelow.data(); } + QCPBars *barAbove() const { return mBarAbove.data(); } + QSharedPointer<QCPBarsDataContainer> data() const { return mDataContainer; } + + // setters: + void setData(QSharedPointer<QCPBarsDataContainer> data); + void setData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false); + void setWidth(double width); + void setWidthType(WidthType widthType); + void setBarsGroup(QCPBarsGroup *barsGroup); + void setBaseValue(double baseValue); + void setStackingGap(double pixels); + + // non-property methods: + void addData(const QVector<double> &keys, const QVector<double> &values, bool alreadySorted=false); + void addData(double key, double value); + void moveBelow(QCPBars *bars); + void moveAbove(QCPBars *bars); + + // reimplemented virtual methods: + virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const Q_DECL_OVERRIDE; + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + virtual QPointF dataPixelPosition(int index) const Q_DECL_OVERRIDE; + +protected: + // property members: + double mWidth; + WidthType mWidthType; + QCPBarsGroup *mBarsGroup; + double mBaseValue; + double mStackingGap; + QPointer<QCPBars> mBarBelow, mBarAbove; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + + // non-virtual methods: + void getVisibleDataBounds(QCPBarsDataContainer::const_iterator &begin, QCPBarsDataContainer::const_iterator &end) const; + QRectF getBarRect(double key, double value) const; + void getPixelWidth(double key, double &lower, double &upper) const; + double getStackedBaseValue(double key, bool positive) const; + static void connectBars(QCPBars* lower, QCPBars* upper); + + friend class QCustomPlot; + friend class QCPLegend; + friend class QCPBarsGroup; +}; +Q_DECLARE_METATYPE(QCPBars::WidthType) + +/* end of 'src/plottables/plottable-bars.h' */ + + +/* including file 'src/plottables/plottable-statisticalbox.h', size 7516 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPStatisticalBoxData +{ +public: + QCPStatisticalBoxData(); + QCPStatisticalBoxData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum, const QVector<double>& outliers=QVector<double>()); + + inline double sortKey() const { return key; } + inline static QCPStatisticalBoxData fromSortKey(double sortKey) { return QCPStatisticalBoxData(sortKey, 0, 0, 0, 0, 0); } + inline static bool sortKeyIsMainKey() { return true; } + + inline double mainKey() const { return key; } + inline double mainValue() const { return median; } + + inline QCPRange valueRange() const + { + QCPRange result(minimum, maximum); + for (QVector<double>::const_iterator it = outliers.constBegin(); it != outliers.constEnd(); ++it) + result.expand(*it); + return result; + } + + double key, minimum, lowerQuartile, median, upperQuartile, maximum; + QVector<double> outliers; +}; +Q_DECLARE_TYPEINFO(QCPStatisticalBoxData, Q_MOVABLE_TYPE); + + +/*! \typedef QCPStatisticalBoxDataContainer + + Container for storing \ref QCPStatisticalBoxData points. The data is stored sorted by \a key. + + This template instantiation is the container in which QCPStatisticalBox holds its data. For + details about the generic container, see the documentation of the class template \ref + QCPDataContainer. + + \see QCPStatisticalBoxData, QCPStatisticalBox::setData +*/ +typedef QCPDataContainer<QCPStatisticalBoxData> QCPStatisticalBoxDataContainer; + +class QCP_LIB_DECL QCPStatisticalBox : public QCPAbstractPlottable1D<QCPStatisticalBoxData> +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(double width READ width WRITE setWidth) + Q_PROPERTY(double whiskerWidth READ whiskerWidth WRITE setWhiskerWidth) + Q_PROPERTY(QPen whiskerPen READ whiskerPen WRITE setWhiskerPen) + Q_PROPERTY(QPen whiskerBarPen READ whiskerBarPen WRITE setWhiskerBarPen) + Q_PROPERTY(bool whiskerAntialiased READ whiskerAntialiased WRITE setWhiskerAntialiased) + Q_PROPERTY(QPen medianPen READ medianPen WRITE setMedianPen) + Q_PROPERTY(QCPScatterStyle outlierStyle READ outlierStyle WRITE setOutlierStyle) + /// \endcond +public: + explicit QCPStatisticalBox(QCPAxis *keyAxis, QCPAxis *valueAxis); + + // getters: + QSharedPointer<QCPStatisticalBoxDataContainer> data() const { return mDataContainer; } + double width() const { return mWidth; } + double whiskerWidth() const { return mWhiskerWidth; } + QPen whiskerPen() const { return mWhiskerPen; } + QPen whiskerBarPen() const { return mWhiskerBarPen; } + bool whiskerAntialiased() const { return mWhiskerAntialiased; } + QPen medianPen() const { return mMedianPen; } + QCPScatterStyle outlierStyle() const { return mOutlierStyle; } + + // setters: + void setData(QSharedPointer<QCPStatisticalBoxDataContainer> data); + void setData(const QVector<double> &keys, const QVector<double> &minimum, const QVector<double> &lowerQuartile, const QVector<double> &median, const QVector<double> &upperQuartile, const QVector<double> &maximum, bool alreadySorted=false); + void setWidth(double width); + void setWhiskerWidth(double width); + void setWhiskerPen(const QPen &pen); + void setWhiskerBarPen(const QPen &pen); + void setWhiskerAntialiased(bool enabled); + void setMedianPen(const QPen &pen); + void setOutlierStyle(const QCPScatterStyle &style); + + // non-property methods: + void addData(const QVector<double> &keys, const QVector<double> &minimum, const QVector<double> &lowerQuartile, const QVector<double> &median, const QVector<double> &upperQuartile, const QVector<double> &maximum, bool alreadySorted=false); + void addData(double key, double minimum, double lowerQuartile, double median, double upperQuartile, double maximum, const QVector<double> &outliers=QVector<double>()); + + // reimplemented virtual methods: + virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const Q_DECL_OVERRIDE; + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + +protected: + // property members: + double mWidth; + double mWhiskerWidth; + QPen mWhiskerPen, mWhiskerBarPen; + bool mWhiskerAntialiased; + QPen mMedianPen; + QCPScatterStyle mOutlierStyle; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + + // introduced virtual methods: + virtual void drawStatisticalBox(QCPPainter *painter, QCPStatisticalBoxDataContainer::const_iterator it, const QCPScatterStyle &outlierStyle) const; + + // non-virtual methods: + void getVisibleDataBounds(QCPStatisticalBoxDataContainer::const_iterator &begin, QCPStatisticalBoxDataContainer::const_iterator &end) const; + QRectF getQuartileBox(QCPStatisticalBoxDataContainer::const_iterator it) const; + QVector<QLineF> getWhiskerBackboneLines(QCPStatisticalBoxDataContainer::const_iterator it) const; + QVector<QLineF> getWhiskerBarLines(QCPStatisticalBoxDataContainer::const_iterator it) const; + + friend class QCustomPlot; + friend class QCPLegend; +}; + +/* end of 'src/plottables/plottable-statisticalbox.h' */ + + +/* including file 'src/plottables/plottable-colormap.h', size 7070 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPColorMapData +{ +public: + QCPColorMapData(int keySize, int valueSize, const QCPRange &keyRange, const QCPRange &valueRange); + ~QCPColorMapData(); + QCPColorMapData(const QCPColorMapData &other); + QCPColorMapData &operator=(const QCPColorMapData &other); + + // getters: + int keySize() const { return mKeySize; } + int valueSize() const { return mValueSize; } + QCPRange keyRange() const { return mKeyRange; } + QCPRange valueRange() const { return mValueRange; } + QCPRange dataBounds() const { return mDataBounds; } + double data(double key, double value); + double cell(int keyIndex, int valueIndex); + unsigned char alpha(int keyIndex, int valueIndex); + + // setters: + void setSize(int keySize, int valueSize); + void setKeySize(int keySize); + void setValueSize(int valueSize); + void setRange(const QCPRange &keyRange, const QCPRange &valueRange); + void setKeyRange(const QCPRange &keyRange); + void setValueRange(const QCPRange &valueRange); + void setData(double key, double value, double z); + void setCell(int keyIndex, int valueIndex, double z); + void setAlpha(int keyIndex, int valueIndex, unsigned char alpha); + + // non-property methods: + void recalculateDataBounds(); + void clear(); + void clearAlpha(); + void fill(double z); + void fillAlpha(unsigned char alpha); + bool isEmpty() const { return mIsEmpty; } + void coordToCell(double key, double value, int *keyIndex, int *valueIndex) const; + void cellToCoord(int keyIndex, int valueIndex, double *key, double *value) const; + +protected: + // property members: + int mKeySize, mValueSize; + QCPRange mKeyRange, mValueRange; + bool mIsEmpty; + + // non-property members: + double *mData; + unsigned char *mAlpha; + QCPRange mDataBounds; + bool mDataModified; + + bool createAlpha(bool initializeOpaque=true); + + friend class QCPColorMap; +}; + + +class QCP_LIB_DECL QCPColorMap : public QCPAbstractPlottable +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QCPRange dataRange READ dataRange WRITE setDataRange NOTIFY dataRangeChanged) + Q_PROPERTY(QCPAxis::ScaleType dataScaleType READ dataScaleType WRITE setDataScaleType NOTIFY dataScaleTypeChanged) + Q_PROPERTY(QCPColorGradient gradient READ gradient WRITE setGradient NOTIFY gradientChanged) + Q_PROPERTY(bool interpolate READ interpolate WRITE setInterpolate) + Q_PROPERTY(bool tightBoundary READ tightBoundary WRITE setTightBoundary) + Q_PROPERTY(QCPColorScale* colorScale READ colorScale WRITE setColorScale) + /// \endcond +public: + explicit QCPColorMap(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPColorMap(); + + // getters: + QCPColorMapData *data() const { return mMapData; } + QCPRange dataRange() const { return mDataRange; } + QCPAxis::ScaleType dataScaleType() const { return mDataScaleType; } + bool interpolate() const { return mInterpolate; } + bool tightBoundary() const { return mTightBoundary; } + QCPColorGradient gradient() const { return mGradient; } + QCPColorScale *colorScale() const { return mColorScale.data(); } + + // setters: + void setData(QCPColorMapData *data, bool copy=false); + Q_SLOT void setDataRange(const QCPRange &dataRange); + Q_SLOT void setDataScaleType(QCPAxis::ScaleType scaleType); + Q_SLOT void setGradient(const QCPColorGradient &gradient); + void setInterpolate(bool enabled); + void setTightBoundary(bool enabled); + void setColorScale(QCPColorScale *colorScale); + + // non-property methods: + void rescaleDataRange(bool recalculateDataBounds=false); + Q_SLOT void updateLegendIcon(Qt::TransformationMode transformMode=Qt::SmoothTransformation, const QSize &thumbSize=QSize(32, 18)); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + +signals: + void dataRangeChanged(const QCPRange &newRange); + void dataScaleTypeChanged(QCPAxis::ScaleType scaleType); + void gradientChanged(const QCPColorGradient &newGradient); + +protected: + // property members: + QCPRange mDataRange; + QCPAxis::ScaleType mDataScaleType; + QCPColorMapData *mMapData; + QCPColorGradient mGradient; + bool mInterpolate; + bool mTightBoundary; + QPointer<QCPColorScale> mColorScale; + + // non-property members: + QImage mMapImage, mUndersampledMapImage; + QPixmap mLegendIcon; + bool mMapImageInvalidated; + + // introduced virtual methods: + virtual void updateMapImage(); + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + + friend class QCustomPlot; + friend class QCPLegend; +}; + +/* end of 'src/plottables/plottable-colormap.h' */ + + +/* including file 'src/plottables/plottable-financial.h', size 8622 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPFinancialData +{ +public: + QCPFinancialData(); + QCPFinancialData(double key, double open, double high, double low, double close); + + inline double sortKey() const { return key; } + inline static QCPFinancialData fromSortKey(double sortKey) { return QCPFinancialData(sortKey, 0, 0, 0, 0); } + inline static bool sortKeyIsMainKey() { return true; } + + inline double mainKey() const { return key; } + inline double mainValue() const { return open; } + + inline QCPRange valueRange() const { return QCPRange(low, high); } // open and close must lie between low and high, so we don't need to check them + + double key, open, high, low, close; +}; +Q_DECLARE_TYPEINFO(QCPFinancialData, Q_PRIMITIVE_TYPE); + + +/*! \typedef QCPFinancialDataContainer + + Container for storing \ref QCPFinancialData points. The data is stored sorted by \a key. + + This template instantiation is the container in which QCPFinancial holds its data. For details + about the generic container, see the documentation of the class template \ref QCPDataContainer. + + \see QCPFinancialData, QCPFinancial::setData +*/ +typedef QCPDataContainer<QCPFinancialData> QCPFinancialDataContainer; + +class QCP_LIB_DECL QCPFinancial : public QCPAbstractPlottable1D<QCPFinancialData> +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(ChartStyle chartStyle READ chartStyle WRITE setChartStyle) + Q_PROPERTY(double width READ width WRITE setWidth) + Q_PROPERTY(WidthType widthType READ widthType WRITE setWidthType) + Q_PROPERTY(bool twoColored READ twoColored WRITE setTwoColored) + Q_PROPERTY(QBrush brushPositive READ brushPositive WRITE setBrushPositive) + Q_PROPERTY(QBrush brushNegative READ brushNegative WRITE setBrushNegative) + Q_PROPERTY(QPen penPositive READ penPositive WRITE setPenPositive) + Q_PROPERTY(QPen penNegative READ penNegative WRITE setPenNegative) + /// \endcond +public: + /*! + Defines the ways the width of the financial bar can be specified. Thus it defines what the + number passed to \ref setWidth actually means. + + \see setWidthType, setWidth + */ + enum WidthType { wtAbsolute ///< width is in absolute pixels + ,wtAxisRectRatio ///< width is given by a fraction of the axis rect size + ,wtPlotCoords ///< width is in key coordinates and thus scales with the key axis range + }; + Q_ENUMS(WidthType) + + /*! + Defines the possible representations of OHLC data in the plot. + + \see setChartStyle + */ + enum ChartStyle { csOhlc ///< Open-High-Low-Close bar representation + ,csCandlestick ///< Candlestick representation + }; + Q_ENUMS(ChartStyle) + + explicit QCPFinancial(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPFinancial(); + + // getters: + QSharedPointer<QCPFinancialDataContainer> data() const { return mDataContainer; } + ChartStyle chartStyle() const { return mChartStyle; } + double width() const { return mWidth; } + WidthType widthType() const { return mWidthType; } + bool twoColored() const { return mTwoColored; } + QBrush brushPositive() const { return mBrushPositive; } + QBrush brushNegative() const { return mBrushNegative; } + QPen penPositive() const { return mPenPositive; } + QPen penNegative() const { return mPenNegative; } + + // setters: + void setData(QSharedPointer<QCPFinancialDataContainer> data); + void setData(const QVector<double> &keys, const QVector<double> &open, const QVector<double> &high, const QVector<double> &low, const QVector<double> &close, bool alreadySorted=false); + void setChartStyle(ChartStyle style); + void setWidth(double width); + void setWidthType(WidthType widthType); + void setTwoColored(bool twoColored); + void setBrushPositive(const QBrush &brush); + void setBrushNegative(const QBrush &brush); + void setPenPositive(const QPen &pen); + void setPenNegative(const QPen &pen); + + // non-property methods: + void addData(const QVector<double> &keys, const QVector<double> &open, const QVector<double> &high, const QVector<double> &low, const QVector<double> &close, bool alreadySorted=false); + void addData(double key, double open, double high, double low, double close); + + // reimplemented virtual methods: + virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const Q_DECL_OVERRIDE; + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + + // static methods: + static QCPFinancialDataContainer timeSeriesToOhlc(const QVector<double> &time, const QVector<double> &value, double timeBinSize, double timeBinOffset = 0); + +protected: + // property members: + ChartStyle mChartStyle; + double mWidth; + WidthType mWidthType; + bool mTwoColored; + QBrush mBrushPositive, mBrushNegative; + QPen mPenPositive, mPenNegative; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + + // non-virtual methods: + void drawOhlcPlot(QCPPainter *painter, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, bool isSelected); + void drawCandlestickPlot(QCPPainter *painter, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, bool isSelected); + double getPixelWidth(double key, double keyPixel) const; + double ohlcSelectTest(const QPointF &pos, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, QCPFinancialDataContainer::const_iterator &closestDataPoint) const; + double candlestickSelectTest(const QPointF &pos, const QCPFinancialDataContainer::const_iterator &begin, const QCPFinancialDataContainer::const_iterator &end, QCPFinancialDataContainer::const_iterator &closestDataPoint) const; + void getVisibleDataBounds(QCPFinancialDataContainer::const_iterator &begin, QCPFinancialDataContainer::const_iterator &end) const; + QRectF selectionHitBox(QCPFinancialDataContainer::const_iterator it) const; + + friend class QCustomPlot; + friend class QCPLegend; +}; +Q_DECLARE_METATYPE(QCPFinancial::ChartStyle) + +/* end of 'src/plottables/plottable-financial.h' */ + + +/* including file 'src/plottables/plottable-errorbar.h', size 7727 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPErrorBarsData +{ +public: + QCPErrorBarsData(); + explicit QCPErrorBarsData(double error); + QCPErrorBarsData(double errorMinus, double errorPlus); + + double errorMinus, errorPlus; +}; +Q_DECLARE_TYPEINFO(QCPErrorBarsData, Q_PRIMITIVE_TYPE); + + +/*! \typedef QCPErrorBarsDataContainer + + Container for storing \ref QCPErrorBarsData points. It is a typedef for <tt>QVector<\ref + QCPErrorBarsData></tt>. + + This is the container in which \ref QCPErrorBars holds its data. Unlike most other data + containers for plottables, it is not based on \ref QCPDataContainer. This is because the error + bars plottable is special in that it doesn't store its own key and value coordinate per error + bar. It adopts the key and value from the plottable to which the error bars shall be applied + (\ref QCPErrorBars::setDataPlottable). So the stored \ref QCPErrorBarsData doesn't need a + sortable key, but merely an index (as \c QVector provides), which maps one-to-one to the indices + of the other plottable's data. + + \see QCPErrorBarsData, QCPErrorBars::setData +*/ +typedef QVector<QCPErrorBarsData> QCPErrorBarsDataContainer; + +class QCP_LIB_DECL QCPErrorBars : public QCPAbstractPlottable, public QCPPlottableInterface1D +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QSharedPointer<QCPErrorBarsDataContainer> data READ data WRITE setData) + Q_PROPERTY(QCPAbstractPlottable* dataPlottable READ dataPlottable WRITE setDataPlottable) + Q_PROPERTY(ErrorType errorType READ errorType WRITE setErrorType) + Q_PROPERTY(double whiskerWidth READ whiskerWidth WRITE setWhiskerWidth) + Q_PROPERTY(double symbolGap READ symbolGap WRITE setSymbolGap) + /// \endcond +public: + + /*! + Defines in which orientation the error bars shall appear. If your data needs both error + dimensions, create two \ref QCPErrorBars with different \ref ErrorType. + + \see setErrorType + */ + enum ErrorType { etKeyError ///< The errors are for the key dimension (bars appear parallel to the key axis) + ,etValueError ///< The errors are for the value dimension (bars appear parallel to the value axis) + }; + Q_ENUMS(ErrorType) + + explicit QCPErrorBars(QCPAxis *keyAxis, QCPAxis *valueAxis); + virtual ~QCPErrorBars(); + // getters: + QSharedPointer<QCPErrorBarsDataContainer> data() const { return mDataContainer; } + QCPAbstractPlottable *dataPlottable() const { return mDataPlottable.data(); } + ErrorType errorType() const { return mErrorType; } + double whiskerWidth() const { return mWhiskerWidth; } + double symbolGap() const { return mSymbolGap; } + + // setters: + void setData(QSharedPointer<QCPErrorBarsDataContainer> data); + void setData(const QVector<double> &error); + void setData(const QVector<double> &errorMinus, const QVector<double> &errorPlus); + void setDataPlottable(QCPAbstractPlottable* plottable); + void setErrorType(ErrorType type); + void setWhiskerWidth(double pixels); + void setSymbolGap(double pixels); + + // non-property methods: + void addData(const QVector<double> &error); + void addData(const QVector<double> &errorMinus, const QVector<double> &errorPlus); + void addData(double error); + void addData(double errorMinus, double errorPlus); + + // virtual methods of 1d plottable interface: + virtual int dataCount() const Q_DECL_OVERRIDE; + virtual double dataMainKey(int index) const Q_DECL_OVERRIDE; + virtual double dataSortKey(int index) const Q_DECL_OVERRIDE; + virtual double dataMainValue(int index) const Q_DECL_OVERRIDE; + virtual QCPRange dataValueRange(int index) const Q_DECL_OVERRIDE; + virtual QPointF dataPixelPosition(int index) const Q_DECL_OVERRIDE; + virtual bool sortKeyIsMainKey() const Q_DECL_OVERRIDE; + virtual QCPDataSelection selectTestRect(const QRectF &rect, bool onlySelectable) const Q_DECL_OVERRIDE; + virtual int findBegin(double sortKey, bool expandedRange=true) const Q_DECL_OVERRIDE; + virtual int findEnd(double sortKey, bool expandedRange=true) const Q_DECL_OVERRIDE; + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + virtual QCPPlottableInterface1D *interface1D() Q_DECL_OVERRIDE { return this; } + +protected: + // property members: + QSharedPointer<QCPErrorBarsDataContainer> mDataContainer; + QPointer<QCPAbstractPlottable> mDataPlottable; + ErrorType mErrorType; + double mWhiskerWidth; + double mSymbolGap; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual void drawLegendIcon(QCPPainter *painter, const QRectF &rect) const Q_DECL_OVERRIDE; + virtual QCPRange getKeyRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth) const Q_DECL_OVERRIDE; + virtual QCPRange getValueRange(bool &foundRange, QCP::SignDomain inSignDomain=QCP::sdBoth, const QCPRange &inKeyRange=QCPRange()) const Q_DECL_OVERRIDE; + + // non-virtual methods: + void getErrorBarLines(QCPErrorBarsDataContainer::const_iterator it, QVector<QLineF> &backbones, QVector<QLineF> &whiskers) const; + void getVisibleDataBounds(QCPErrorBarsDataContainer::const_iterator &begin, QCPErrorBarsDataContainer::const_iterator &end, const QCPDataRange &rangeRestriction) const; + double pointDistance(const QPointF &pixelPoint, QCPErrorBarsDataContainer::const_iterator &closestData) const; + // helpers: + void getDataSegments(QList<QCPDataRange> &selectedSegments, QList<QCPDataRange> &unselectedSegments) const; + bool errorBarVisible(int index) const; + bool rectIntersectsLine(const QRectF &pixelRect, const QLineF &line) const; + + friend class QCustomPlot; + friend class QCPLegend; +}; + +/* end of 'src/plottables/plottable-errorbar.h' */ + + +/* including file 'src/items/item-straightline.h', size 3117 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemStraightLine : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + /// \endcond +public: + explicit QCPItemStraightLine(QCustomPlot *parentPlot); + virtual ~QCPItemStraightLine(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const point1; + QCPItemPosition * const point2; + +protected: + // property members: + QPen mPen, mSelectedPen; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + + // non-virtual methods: + QLineF getRectClippedStraightLine(const QCPVector2D &point1, const QCPVector2D &vec, const QRect &rect) const; + QPen mainPen() const; +}; + +/* end of 'src/items/item-straightline.h' */ + + +/* including file 'src/items/item-line.h', size 3407 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemLine : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(QCPLineEnding head READ head WRITE setHead) + Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail) + /// \endcond +public: + explicit QCPItemLine(QCustomPlot *parentPlot); + virtual ~QCPItemLine(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + QCPLineEnding head() const { return mHead; } + QCPLineEnding tail() const { return mTail; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setHead(const QCPLineEnding &head); + void setTail(const QCPLineEnding &tail); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const start; + QCPItemPosition * const end; + +protected: + // property members: + QPen mPen, mSelectedPen; + QCPLineEnding mHead, mTail; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + + // non-virtual methods: + QLineF getRectClippedLine(const QCPVector2D &start, const QCPVector2D &end, const QRect &rect) const; + QPen mainPen() const; +}; + +/* end of 'src/items/item-line.h' */ + + +/* including file 'src/items/item-curve.h', size 3379 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemCurve : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(QCPLineEnding head READ head WRITE setHead) + Q_PROPERTY(QCPLineEnding tail READ tail WRITE setTail) + /// \endcond +public: + explicit QCPItemCurve(QCustomPlot *parentPlot); + virtual ~QCPItemCurve(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + QCPLineEnding head() const { return mHead; } + QCPLineEnding tail() const { return mTail; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setHead(const QCPLineEnding &head); + void setTail(const QCPLineEnding &tail); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const start; + QCPItemPosition * const startDir; + QCPItemPosition * const endDir; + QCPItemPosition * const end; + +protected: + // property members: + QPen mPen, mSelectedPen; + QCPLineEnding mHead, mTail; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen mainPen() const; +}; + +/* end of 'src/items/item-curve.h' */ + + +/* including file 'src/items/item-rect.h', size 3688 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemRect : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(QBrush brush READ brush WRITE setBrush) + Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) + /// \endcond +public: + explicit QCPItemRect(QCustomPlot *parentPlot); + virtual ~QCPItemRect(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + QBrush brush() const { return mBrush; } + QBrush selectedBrush() const { return mSelectedBrush; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setSelectedBrush(const QBrush &brush); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const topLeft; + QCPItemPosition * const bottomRight; + QCPItemAnchor * const top; + QCPItemAnchor * const topRight; + QCPItemAnchor * const right; + QCPItemAnchor * const bottom; + QCPItemAnchor * const bottomLeft; + QCPItemAnchor * const left; + +protected: + enum AnchorIndex {aiTop, aiTopRight, aiRight, aiBottom, aiBottomLeft, aiLeft}; + + // property members: + QPen mPen, mSelectedPen; + QBrush mBrush, mSelectedBrush; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QPointF anchorPixelPosition(int anchorId) const Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen mainPen() const; + QBrush mainBrush() const; +}; + +/* end of 'src/items/item-rect.h' */ + + +/* including file 'src/items/item-text.h', size 5554 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemText : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QColor color READ color WRITE setColor) + Q_PROPERTY(QColor selectedColor READ selectedColor WRITE setSelectedColor) + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(QBrush brush READ brush WRITE setBrush) + Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) + Q_PROPERTY(QFont font READ font WRITE setFont) + Q_PROPERTY(QFont selectedFont READ selectedFont WRITE setSelectedFont) + Q_PROPERTY(QString text READ text WRITE setText) + Q_PROPERTY(Qt::Alignment positionAlignment READ positionAlignment WRITE setPositionAlignment) + Q_PROPERTY(Qt::Alignment textAlignment READ textAlignment WRITE setTextAlignment) + Q_PROPERTY(double rotation READ rotation WRITE setRotation) + Q_PROPERTY(QMargins padding READ padding WRITE setPadding) + /// \endcond +public: + explicit QCPItemText(QCustomPlot *parentPlot); + virtual ~QCPItemText(); + + // getters: + QColor color() const { return mColor; } + QColor selectedColor() const { return mSelectedColor; } + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + QBrush brush() const { return mBrush; } + QBrush selectedBrush() const { return mSelectedBrush; } + QFont font() const { return mFont; } + QFont selectedFont() const { return mSelectedFont; } + QString text() const { return mText; } + Qt::Alignment positionAlignment() const { return mPositionAlignment; } + Qt::Alignment textAlignment() const { return mTextAlignment; } + double rotation() const { return mRotation; } + QMargins padding() const { return mPadding; } + + // setters; + void setColor(const QColor &color); + void setSelectedColor(const QColor &color); + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setSelectedBrush(const QBrush &brush); + void setFont(const QFont &font); + void setSelectedFont(const QFont &font); + void setText(const QString &text); + void setPositionAlignment(Qt::Alignment alignment); + void setTextAlignment(Qt::Alignment alignment); + void setRotation(double degrees); + void setPadding(const QMargins &padding); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const position; + QCPItemAnchor * const topLeft; + QCPItemAnchor * const top; + QCPItemAnchor * const topRight; + QCPItemAnchor * const right; + QCPItemAnchor * const bottomRight; + QCPItemAnchor * const bottom; + QCPItemAnchor * const bottomLeft; + QCPItemAnchor * const left; + +protected: + enum AnchorIndex {aiTopLeft, aiTop, aiTopRight, aiRight, aiBottomRight, aiBottom, aiBottomLeft, aiLeft}; + + // property members: + QColor mColor, mSelectedColor; + QPen mPen, mSelectedPen; + QBrush mBrush, mSelectedBrush; + QFont mFont, mSelectedFont; + QString mText; + Qt::Alignment mPositionAlignment; + Qt::Alignment mTextAlignment; + double mRotation; + QMargins mPadding; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QPointF anchorPixelPosition(int anchorId) const Q_DECL_OVERRIDE; + + // non-virtual methods: + QPointF getTextDrawPoint(const QPointF &pos, const QRectF &rect, Qt::Alignment positionAlignment) const; + QFont mainFont() const; + QColor mainColor() const; + QPen mainPen() const; + QBrush mainBrush() const; +}; + +/* end of 'src/items/item-text.h' */ + + +/* including file 'src/items/item-ellipse.h', size 3868 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemEllipse : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(QBrush brush READ brush WRITE setBrush) + Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) + /// \endcond +public: + explicit QCPItemEllipse(QCustomPlot *parentPlot); + virtual ~QCPItemEllipse(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + QBrush brush() const { return mBrush; } + QBrush selectedBrush() const { return mSelectedBrush; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setSelectedBrush(const QBrush &brush); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const topLeft; + QCPItemPosition * const bottomRight; + QCPItemAnchor * const topLeftRim; + QCPItemAnchor * const top; + QCPItemAnchor * const topRightRim; + QCPItemAnchor * const right; + QCPItemAnchor * const bottomRightRim; + QCPItemAnchor * const bottom; + QCPItemAnchor * const bottomLeftRim; + QCPItemAnchor * const left; + QCPItemAnchor * const center; + +protected: + enum AnchorIndex {aiTopLeftRim, aiTop, aiTopRightRim, aiRight, aiBottomRightRim, aiBottom, aiBottomLeftRim, aiLeft, aiCenter}; + + // property members: + QPen mPen, mSelectedPen; + QBrush mBrush, mSelectedBrush; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QPointF anchorPixelPosition(int anchorId) const Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen mainPen() const; + QBrush mainBrush() const; +}; + +/* end of 'src/items/item-ellipse.h' */ + + +/* including file 'src/items/item-pixmap.h', size 4373 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemPixmap : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPixmap pixmap READ pixmap WRITE setPixmap) + Q_PROPERTY(bool scaled READ scaled WRITE setScaled) + Q_PROPERTY(Qt::AspectRatioMode aspectRatioMode READ aspectRatioMode) + Q_PROPERTY(Qt::TransformationMode transformationMode READ transformationMode) + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + /// \endcond +public: + explicit QCPItemPixmap(QCustomPlot *parentPlot); + virtual ~QCPItemPixmap(); + + // getters: + QPixmap pixmap() const { return mPixmap; } + bool scaled() const { return mScaled; } + Qt::AspectRatioMode aspectRatioMode() const { return mAspectRatioMode; } + Qt::TransformationMode transformationMode() const { return mTransformationMode; } + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + + // setters; + void setPixmap(const QPixmap &pixmap); + void setScaled(bool scaled, Qt::AspectRatioMode aspectRatioMode=Qt::KeepAspectRatio, Qt::TransformationMode transformationMode=Qt::SmoothTransformation); + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const topLeft; + QCPItemPosition * const bottomRight; + QCPItemAnchor * const top; + QCPItemAnchor * const topRight; + QCPItemAnchor * const right; + QCPItemAnchor * const bottom; + QCPItemAnchor * const bottomLeft; + QCPItemAnchor * const left; + +protected: + enum AnchorIndex {aiTop, aiTopRight, aiRight, aiBottom, aiBottomLeft, aiLeft}; + + // property members: + QPixmap mPixmap; + QPixmap mScaledPixmap; + bool mScaled; + bool mScaledPixmapInvalidated; + Qt::AspectRatioMode mAspectRatioMode; + Qt::TransformationMode mTransformationMode; + QPen mPen, mSelectedPen; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QPointF anchorPixelPosition(int anchorId) const Q_DECL_OVERRIDE; + + // non-virtual methods: + void updateScaledPixmap(QRect finalRect=QRect(), bool flipHorz=false, bool flipVert=false); + QRect getFinalRect(bool *flippedHorz=0, bool *flippedVert=0) const; + QPen mainPen() const; +}; + +/* end of 'src/items/item-pixmap.h' */ + + +/* including file 'src/items/item-tracer.h', size 4762 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemTracer : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(QBrush brush READ brush WRITE setBrush) + Q_PROPERTY(QBrush selectedBrush READ selectedBrush WRITE setSelectedBrush) + Q_PROPERTY(double size READ size WRITE setSize) + Q_PROPERTY(TracerStyle style READ style WRITE setStyle) + Q_PROPERTY(QCPGraph* graph READ graph WRITE setGraph) + Q_PROPERTY(double graphKey READ graphKey WRITE setGraphKey) + Q_PROPERTY(bool interpolating READ interpolating WRITE setInterpolating) + /// \endcond +public: + /*! + The different visual appearances a tracer item can have. Some styles size may be controlled with \ref setSize. + + \see setStyle + */ + enum TracerStyle { tsNone ///< The tracer is not visible + ,tsPlus ///< A plus shaped crosshair with limited size + ,tsCrosshair ///< A plus shaped crosshair which spans the complete axis rect + ,tsCircle ///< A circle + ,tsSquare ///< A square + }; + Q_ENUMS(TracerStyle) + + explicit QCPItemTracer(QCustomPlot *parentPlot); + virtual ~QCPItemTracer(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + QBrush brush() const { return mBrush; } + QBrush selectedBrush() const { return mSelectedBrush; } + double size() const { return mSize; } + TracerStyle style() const { return mStyle; } + QCPGraph *graph() const { return mGraph; } + double graphKey() const { return mGraphKey; } + bool interpolating() const { return mInterpolating; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setBrush(const QBrush &brush); + void setSelectedBrush(const QBrush &brush); + void setSize(double size); + void setStyle(TracerStyle style); + void setGraph(QCPGraph *graph); + void setGraphKey(double key); + void setInterpolating(bool enabled); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + // non-virtual methods: + void updatePosition(); + + QCPItemPosition * const position; + +protected: + // property members: + QPen mPen, mSelectedPen; + QBrush mBrush, mSelectedBrush; + double mSize; + TracerStyle mStyle; + QCPGraph *mGraph; + double mGraphKey; + bool mInterpolating; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen mainPen() const; + QBrush mainBrush() const; +}; +Q_DECLARE_METATYPE(QCPItemTracer::TracerStyle) + +/* end of 'src/items/item-tracer.h' */ + + +/* including file 'src/items/item-bracket.h', size 3969 */ +/* commit 9868e55d3b412f2f89766bb482fcf299e93a0988 2017-09-04 01:56:22 +0200 */ + +class QCP_LIB_DECL QCPItemBracket : public QCPAbstractItem +{ + Q_OBJECT + /// \cond INCLUDE_QPROPERTIES + Q_PROPERTY(QPen pen READ pen WRITE setPen) + Q_PROPERTY(QPen selectedPen READ selectedPen WRITE setSelectedPen) + Q_PROPERTY(double length READ length WRITE setLength) + Q_PROPERTY(BracketStyle style READ style WRITE setStyle) + /// \endcond +public: + /*! + Defines the various visual shapes of the bracket item. The appearance can be further modified + by \ref setLength and \ref setPen. + + \see setStyle + */ + enum BracketStyle { bsSquare ///< A brace with angled edges + ,bsRound ///< A brace with round edges + ,bsCurly ///< A curly brace + ,bsCalligraphic ///< A curly brace with varying stroke width giving a calligraphic impression + }; + Q_ENUMS(BracketStyle) + + explicit QCPItemBracket(QCustomPlot *parentPlot); + virtual ~QCPItemBracket(); + + // getters: + QPen pen() const { return mPen; } + QPen selectedPen() const { return mSelectedPen; } + double length() const { return mLength; } + BracketStyle style() const { return mStyle; } + + // setters; + void setPen(const QPen &pen); + void setSelectedPen(const QPen &pen); + void setLength(double length); + void setStyle(BracketStyle style); + + // reimplemented virtual methods: + virtual double selectTest(const QPointF &pos, bool onlySelectable, QVariant *details=0) const Q_DECL_OVERRIDE; + + QCPItemPosition * const left; + QCPItemPosition * const right; + QCPItemAnchor * const center; + +protected: + // property members: + enum AnchorIndex {aiCenter}; + QPen mPen, mSelectedPen; + double mLength; + BracketStyle mStyle; + + // reimplemented virtual methods: + virtual void draw(QCPPainter *painter) Q_DECL_OVERRIDE; + virtual QPointF anchorPixelPosition(int anchorId) const Q_DECL_OVERRIDE; + + // non-virtual methods: + QPen mainPen() const; +}; +Q_DECLARE_METATYPE(QCPItemBracket::BracketStyle) + +/* end of 'src/items/item-bracket.h' */ + + +#endif // QCUSTOMPLOT_H + diff --git a/widgets/rtdatatext.cpp b/widgets/rtdatatext.cpp new file mode 100644 index 0000000..9621377 --- /dev/null +++ b/widgets/rtdatatext.cpp @@ -0,0 +1,304 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "rtdatatext.h" +#include <QFont> +#include <QPainter> +#include <QPaintEvent> +#include <QDebug> + +RtDataText::RtDataText(QWidget *parent) : QWidget(parent) +{ + mBoxH = 10; + mBoxW = 10; + mTxtOfs = 2; + + mValues.packVoltage = 0.0; + mValues.packCurrent = 0.0; + mValues.soC = 0; + mValues.cVHigh = 0.0; + mValues.cVAverage = 0.0; + mValues.cVLow = 0.0; + mValues.cVMisMatch = 0.0; + mValues.loadLCVoltage = 0.0; + mValues.loadLCCurrent = 0.0; + mValues.loadHCVoltage = 0.0; + mValues.loadHCCurrent = 0.0; + mValues.chargerVoltage = 0.0; + mValues.auxVoltage = 0.0; + mValues.auxCurrent = 0.0; + mValues.tempBattHigh = 0.0; + mValues.tempBattAverage = 0.0; + mValues.tempBattLow = 0.0; + mValues.tempBMSHigh = 0.0; + mValues.tempBMSAverage = 0.0; + mValues.tempBMSLow = 0.0; + mValues.humidity = 0.0; + mValues.opState = "Unknown."; + mValues.faultState = "Unknown."; + + mMode = false; +} + +void RtDataText::setValues(const BMS_VALUES &values) +{ + mValues = values; + //mValues.opState.remove(0, 11); + update(); +} + +void RtDataText::setCells(const QVector<double> &values) +{ + mCells = values; + update(); +} + +void RtDataText::setMode(bool newMode) +{ + mMode = newMode; +} + +QSize RtDataText::sizeHint() const +{ + QSize size; + size.setWidth(mBoxW + 2 * mTxtOfs); + size.setHeight(mBoxH + 2 * mTxtOfs); + return size; +} + +void RtDataText::paintEvent(QPaintEvent *event) +{ + if ( mMode ) + paintCellsEvent(event); + else + paintBMSEvent(event); +} + +void RtDataText::paintBMSEvent(QPaintEvent *event) +{ + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + // Paint begins here + painter.fillRect(event->rect(), QBrush(Qt::transparent)); + + QFont font; + font.setFamily("DejaVu Sans Mono"); + font.setPointSize(11); + painter.setFont(font); + + QRectF br = painter.boundingRect(QRectF(0, 0, 4000, 4000), + "Fault : 00000000000000000" + "T\n" + "T\n" + "T\n" + "T\n" + "T\n" + "T\n"); + + int boxh_new = br.height(); + int boxw_new = br.width(); + int txtofs_new = 5; + + if (mBoxH != boxh_new || mBoxW != boxw_new || mTxtOfs != txtofs_new) { + mBoxH = boxh_new; + mBoxW = boxw_new; + mTxtOfs = txtofs_new; + updateGeometry(); + } + + QString str; + + const double bbox_w = mBoxW + 2 * mTxtOfs; + const double bbow_h = mBoxH + 2 * mTxtOfs; + const double vidw = event->rect().width(); + + // Left info box + str.sprintf("V Pack : %.2f V\n" + "I Pack : %.2f A\n" + "P Pack : %.1f W\n" + "CVHigh : %.3f V\n" + "CVAverage : %.3f V\n" + "CVLow : %.3f V\n" + "CMismatch : %.3f V\n", + mValues.packVoltage, + mValues.packCurrent, + mValues.packCurrent * mValues.packVoltage, + mValues.cVHigh, + mValues.cVAverage, + mValues.cVLow, + mValues.cVMisMatch); + + painter.setOpacity(0.7); + painter.fillRect(0, 0, bbox_w, bbow_h, Qt::black); + painter.setOpacity(1.0); + + painter.setPen(Qt::white); + painter.drawText(QRectF(mTxtOfs, mTxtOfs, mBoxW, mBoxH), + Qt::AlignLeft, str); + + // Middle info box + str.sprintf("T Batt High : %.1f \u00B0C\n" + "T Batt Avrg : %.1f \u00B0C\n" + "T Batt Low : %.1f \u00B0C\n" + "T BMS High : %.1f \u00B0C\n" + "T BMS Avrg : %.1f \u00B0C\n" + "T BMS Low : %.1f \u00B0C\n" + "Humidity : %.1f %%\n", + mValues.tempBattHigh, + mValues.tempBattAverage, + mValues.tempBattLow, + mValues.tempBMSHigh, + mValues.tempBMSAverage, + mValues.tempBMSLow, + mValues.humidity); + + painter.setOpacity(0.7); + painter.fillRect(vidw / 2.0 - bbox_w / 2.0, 0, bbox_w, bbow_h, Qt::black); + painter.setOpacity(1.0); + + painter.setPen(Qt::white); + painter.drawText(QRectF(vidw / 2.0 - bbox_w / 2.0 + mTxtOfs, mTxtOfs, mBoxW, mBoxH), + Qt::AlignLeft, str); + + // Right info box + str.sprintf("V Load : %.1f V\n" + "P Load : %.1f W\n" + "V Charger : %.1f V\n" + "P Charger : %.1f W\n" + "SoC : %i %%\n" + "OpState : %s\n" + "FaultState : %s\n", + mValues.loadLCVoltage, + mValues.packCurrent * mValues.loadLCVoltage, + mValues.chargerVoltage, + mValues.packCurrent * mValues.chargerVoltage, + mValues.soC, + mValues.opState.toLocal8Bit().data(), + mValues.faultState.toLocal8Bit().data()); + + painter.setOpacity(0.7); + painter.fillRect(vidw - bbox_w, 0, bbox_w,mBoxH + 2 * mTxtOfs, Qt::black); + painter.setOpacity(1.0); + + painter.setPen(Qt::white); + painter.drawText(QRectF(vidw - bbox_w + mTxtOfs, mTxtOfs, mBoxW, mBoxH),Qt::AlignLeft, str); +} + +void RtDataText::paintCellsEvent(QPaintEvent *event) +{ + QPainter painter(this); + painter.setRenderHint(QPainter::Antialiasing); + + // Paint begins here + painter.fillRect(event->rect(), QBrush(Qt::transparent)); + + QFont font; + font.setFamily("DejaVu Sans Mono"); + font.setPointSize(11); + painter.setFont(font); + + QRectF br = painter.boundingRect(QRectF(0, 0, 4000, 4000), + "Cell 2 : 0.123 V\n" + "T\n" + "T\n" + "T\n"); + + int boxh_new = br.height(); + int boxw_new = br.width(); + int txtofs_new = 5; + + if (mBoxH != boxh_new || mBoxW != boxw_new || mTxtOfs != txtofs_new) { + mBoxH = boxh_new; + mBoxW = boxw_new; + mTxtOfs = txtofs_new; + updateGeometry(); + } + + // convert voltages to text + QVector<QString> voltages; + for(auto v: mCells) + { + QString str; + str.sprintf("%.3f V", v); + voltages.push_back(str); + } + // guarantee at least 12 items in 'voltages' vector + for(int i=voltages.length(); i<12; ++i) + voltages.push_back("N/A"); + + QString str; + + const double bbox_w = mBoxW + 2 * mTxtOfs; + const double bbow_h = mBoxH + 2 * mTxtOfs; + const double vidw = event->rect().width(); + + // Left info box + str = QString::asprintf("Cell 1 : %ls\n" + "Cell 2 : %ls\n" + "Cell 3 : %ls\n" + "Cell 4 : %ls\n", + voltages[0].utf16(), + voltages[1].utf16(), + voltages[2].utf16(), + voltages[3].utf16()); + + painter.setOpacity(0.7); + painter.fillRect(0, 0, bbox_w, bbow_h, Qt::black); + painter.setOpacity(1.0); + + painter.setPen(Qt::white); + painter.drawText(QRectF(mTxtOfs, mTxtOfs, mBoxW, mBoxH), + Qt::AlignLeft, str); + + // Middle info box + str = QString::asprintf("Cell 5 : %ls\n" + "Cell 6 : %ls\n" + "Cell 7 : %ls\n" + "Cell 8 : %ls\n", + voltages[4].utf16(), + voltages[5].utf16(), + voltages[6].utf16(), + voltages[7].utf16()); + + painter.setOpacity(0.7); + painter.fillRect(vidw / 2.0 - bbox_w / 2.0, 0, bbox_w, bbow_h, Qt::black); + painter.setOpacity(1.0); + + painter.setPen(Qt::white); + painter.drawText(QRectF(vidw / 2.0 - bbox_w / 2.0 + mTxtOfs, mTxtOfs, mBoxW, mBoxH), + Qt::AlignLeft, str); + + // Right info box + str = QString::asprintf("Cell 9 : %ls\n" + "Cell 10 : %ls\n" + "Cell 11 : %ls\n" + "Cell 12 : %ls\n", + voltages[8].utf16(), + voltages[9].utf16(), + voltages[10].utf16(), + voltages[11].utf16()); + + painter.setOpacity(0.7); + painter.fillRect(vidw - bbox_w, 0, bbox_w,mBoxH + 2 * mTxtOfs, Qt::black); + painter.setOpacity(1.0); + + painter.setPen(Qt::white); + painter.drawText(QRectF(vidw - bbox_w + mTxtOfs, mTxtOfs, mBoxW, mBoxH),Qt::AlignLeft, str); +} diff --git a/widgets/rtdatatext.h b/widgets/rtdatatext.h new file mode 100644 index 0000000..02b80f3 --- /dev/null +++ b/widgets/rtdatatext.h @@ -0,0 +1,55 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef RTDATATEXT_H +#define RTDATATEXT_H + +#include <QWidget> +#include "datatypes.h" + +class RtDataText : public QWidget +{ + Q_OBJECT +public: + explicit RtDataText(QWidget *parent = 0); + void setMode(bool newMode); + void setValues(const BMS_VALUES &values); + void setCells(const QVector<double> &values); + + QSize sizeHint() const; + +signals: + +public slots: + +protected: + void paintEvent(QPaintEvent *event); + void paintBMSEvent(QPaintEvent *event); + void paintCellsEvent(QPaintEvent *event); + +private: + bool mMode; + BMS_VALUES mValues; + QVector<double> mCells; + int mBoxH; + int mBoxW; + int mTxtOfs; +}; + +#endif // RTDATATEXT_H diff --git a/widgets/vtextbrowser.cpp b/widgets/vtextbrowser.cpp new file mode 100644 index 0000000..0f183fe --- /dev/null +++ b/widgets/vtextbrowser.cpp @@ -0,0 +1,61 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "vtextbrowser.h" +#include <QDesktopServices> +#include <QMouseEvent> + +VTextBrowser::VTextBrowser(QWidget *parent) + : QTextEdit(parent) +{ + setReadOnly(true); + setTextInteractionFlags(Qt::TextSelectableByMouse | + Qt::LinksAccessibleByMouse | + Qt::LinksAccessibleByKeyboard); + + viewport()->setMouseTracking(true); +} + +void VTextBrowser::mousePressEvent(QMouseEvent *e) +{ + mLastAnchor = (e->button() & Qt::LeftButton) ? anchorAt(e->pos()) : QString(); + QTextEdit::mousePressEvent(e); +} + +void VTextBrowser::mouseReleaseEvent(QMouseEvent *e) +{ + if ((e->button() & Qt::LeftButton) && + !mLastAnchor.isEmpty() && + anchorAt(e->pos()) == mLastAnchor) { + QDesktopServices::openUrl(mLastAnchor); + } + + QTextEdit::mouseReleaseEvent(e); +} + +void VTextBrowser::mouseMoveEvent(QMouseEvent *e) +{ + if (!anchorAt(e->pos()).isEmpty()) { + viewport()->setCursor(Qt::PointingHandCursor); + } else { + viewport()->setCursor(Qt::ArrowCursor); + } + + QTextEdit::mouseMoveEvent(e); +} diff --git a/widgets/vtextbrowser.h b/widgets/vtextbrowser.h new file mode 100644 index 0000000..3860dd8 --- /dev/null +++ b/widgets/vtextbrowser.h @@ -0,0 +1,41 @@ +/* + Copyright 2016 - 2017 Benjamin Vedder benjamin@vedder.se + + This file is part of VESC Tool. + + VESC Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + VESC Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef VTEXTBROWSER_H +#define VTEXTBROWSER_H + +#include <QTextEdit> + +class VTextBrowser : public QTextEdit +{ + Q_OBJECT + +public: + explicit VTextBrowser(QWidget *parent = 0); + + void mousePressEvent(QMouseEvent *e) Q_DECL_OVERRIDE; + void mouseReleaseEvent(QMouseEvent *e) Q_DECL_OVERRIDE; + void mouseMoveEvent(QMouseEvent *e) Q_DECL_OVERRIDE; + +private: + QString mLastAnchor; + +}; + +#endif // VTEXTBROWSER_H diff --git a/widgets/widgets.pri b/widgets/widgets.pri new file mode 100644 index 0000000..048d2ab --- /dev/null +++ b/widgets/widgets.pri @@ -0,0 +1,52 @@ +FORMS += \ + $$PWD/parameditbool.ui \ + $$PWD/parameditdouble.ui \ + $$PWD/parameditenum.ui \ + $$PWD/parameditint.ui \ + $$PWD/mrichtextedit.ui \ + $$PWD/helpdialog.ui \ + $$PWD/parameditstring.ui \ + $$PWD/paramdialog.ui + +HEADERS += \ + $$PWD/parameditbool.h \ + $$PWD/parameditdouble.h \ + $$PWD/parameditenum.h \ + $$PWD/parameditint.h \ + $$PWD/displaybar.h \ + $$PWD/displaypercentage.h \ + $$PWD/helpdialog.h \ + $$PWD/mrichtextedit.h \ + $$PWD/mtextedit.h \ + $$PWD/pagelistitem.h \ + $$PWD/paramtable.h \ + $$PWD/qcustomplot.h \ + $$PWD/rtdatatext.h \ + $$PWD/vtextbrowser.h \ + $$PWD/imagewidget.h \ + $$PWD/parameditstring.h \ + $$PWD/paramdialog.h \ + $$PWD/aspectimglabel.h \ + $$PWD/historylineedit.h + +SOURCES += \ + $$PWD/parameditbool.cpp \ + $$PWD/parameditdouble.cpp \ + $$PWD/parameditenum.cpp \ + $$PWD/parameditint.cpp \ + $$PWD/displaybar.cpp \ + $$PWD/displaypercentage.cpp \ + $$PWD/helpdialog.cpp \ + $$PWD/mrichtextedit.cpp \ + $$PWD/mtextedit.cpp \ + $$PWD/pagelistitem.cpp \ + $$PWD/paramtable.cpp \ + $$PWD/qcustomplot.cpp \ + $$PWD/rtdatatext.cpp \ + $$PWD/vtextbrowser.cpp \ + $$PWD/imagewidget.cpp \ + $$PWD/parameditstring.cpp \ + $$PWD/paramdialog.cpp \ + $$PWD/aspectimglabel.cpp \ + $$PWD/historylineedit.cpp +

    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

  • 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 hwxao+h{)!TbOK literal 0 HcmV?d00001 diff --git a/languageselectorbutton.cpp b/languageselectorbutton.cpp new file mode 100644 index 0000000..8fe4a0f --- /dev/null +++ b/languageselectorbutton.cpp @@ -0,0 +1,39 @@ +#include "languageselectorbutton.h" + +LanguageSelectorButton::LanguageSelectorButton(QWidget* parent) : QPushButton (parent) +{ + contextmenu = new QMenu(this); + + actRuss = new QAction(QIcon(":/res/language-russ.png"), tr("Рус"), this); + actEng = new QAction(QIcon(":/res/language-eng.png"), tr("Анг"), this); + + actRuss->setCheckable(true); + actEng->setCheckable(true); + + actRuss->setChecked(true); + + contextmenu->addAction(actRuss); + contextmenu->addAction(actEng); + + contextmenu->setContextMenuPolicy(Qt::CustomContextMenu); + + connect(contextmenu, &QMenu::triggered, this, &LanguageSelectorButton::onActActivated); +} + +void LanguageSelectorButton::mousePressEvent(QMouseEvent *event) +{ + contextmenu->exec(QCursor::pos()); +} + +void LanguageSelectorButton::onActActivated(QAction* _pAction) +{ + if (_pAction == actRuss) + { + emit sigSetRussianLanguage(); + } + else if (_pAction == actEng) + { + emit sigSetEnglishLanguage(); + } +} + diff --git a/languageselectorbutton.h b/languageselectorbutton.h new file mode 100644 index 0000000..f080692 --- /dev/null +++ b/languageselectorbutton.h @@ -0,0 +1,32 @@ +#ifndef LANGUAGESELECTORBUTTON_H +#define LANGUAGESELECTORBUTTON_H + +#include +#include +#include +#include +#include + +class LanguageSelectorButton : public QPushButton +{ + Q_OBJECT +public: + LanguageSelectorButton(QWidget *parent = nullptr); + +protected: + void mousePressEvent(QMouseEvent*event); + +signals: + void sigSetRussianLanguage(); + void sigSetEnglishLanguage(); + +private slots: + void onActActivated(QAction* act); + +private: + QMenu *contextmenu; + QAction* actRuss; + QAction* actEng; +}; + +#endif // LANGUAGESELECTORBUTTON_H diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..a6ab6cb --- /dev/null +++ b/main.cpp @@ -0,0 +1,146 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( + https://github.com/vedderb/vesc_tool ) Now forked to: Danny Bokma github@diebie.nl + + This file is part of BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "mainwindow.h" +#include "mainwindownew.h" +#include "connectandenterpage.h" + +#include +#include +#include +#include +#include + +#include "mobile/qmlui.h" + +#define NEW_GUI 1 + +int main(int argc, char *argv[]) +{ + constexpr char const *APP_NAME = "ENNOID-BMS Tool"; + // Settings + QCoreApplication::setOrganizationName("DieBie"); + QCoreApplication::setOrganizationDomain("diebie.nl"); + QCoreApplication::setApplicationName(APP_NAME); + + // DPI settings + // TODO: http://www.qcustomplot.com/index.php/support/forum/1344 + + QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); + +#ifdef USE_MOBILE + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); +#else + QCoreApplication::setAttribute(Qt::AA_Use96Dpi); + + QSettings set; + bool scaleAuto = true; + double scale = 1.0; + + if (set.contains("app_scale_auto")) { + scaleAuto = set.value("app_scale_auto").toBool(); + } else { + set.setValue("app_scale_auto", scaleAuto); + } + + if (scaleAuto) { + QApplication tmp(argc, argv); + QRect rec = tmp.desktop()->screenGeometry(); + int height = rec.height(); + int width = rec.width(); + double ptFont = tmp.font().pointSizeF(); + if (ptFont < 0.0) { + ptFont = tmp.font().pixelSize(); + } + + if (width > 3000 && height > 1700) { + scale = 1.5; + } else { + if (ptFont > 11.0) { + scale = ptFont / 11.0; + } + } + + set.setValue("app_scale_factor", scale); + } else if (set.contains("app_scale_factor")) { + scale = set.value("app_scale_factor").toDouble(); + } + + set.setValue("app_scale_factor", scale); + +#ifdef Q_OS_ANDROID + scale = 1.0; +#endif + + if (scale > 1.01) { + qputenv("QT_SCALE_FACTOR", QString::number(scale).toLocal8Bit()); + } +#endif + + QApplication a(argc, argv); + +#if NEW_GUI + // Fonts + QFontDatabase::addApplicationFont("://res/fonts/Artifakt-Element.ttf"); + + qApp->setFont(QFont("Artifakt Element", 12)); + +#else + // Fonts + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSans.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSans-Bold.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSans-BoldOblique.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSans-Oblique.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSansMono.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSansMono-Bold.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSansMono-BoldOblique.ttf"); + QFontDatabase::addApplicationFont("://res/fonts/DejaVuSansMono-Oblique.ttf"); + + qApp->setFont(QFont("DejaVu Sans", 11)); + + // Style + a.setStyleSheet(""); + a.setStyle(QStyleFactory::create("Fusion")); +#endif + +#ifdef USE_MOBILE + QmlUi q; + q.startQmlUi(); +#else + +#if NEW_GUI + + MainWindowNew w; + w.setWindowTitle(APP_NAME); + w.show(); + + //} else { + // a.closeAllWindows(); + // return 0; + //} +#else + MainWindow w; + w.show(); +#endif + +#endif + + return a.exec(); +} diff --git a/mainwindow.cpp b/mainwindow.cpp new file mode 100644 index 0000000..60b2f10 --- /dev/null +++ b/mainwindow.cpp @@ -0,0 +1,883 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "mainwindow.h" + +namespace { + +void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) +{ + QByteArray localMsg = msg.toLocal8Bit(); + QString str; + QString typeStr; + bool isBad = false; + + switch (type) { + case QtDebugMsg: typeStr = "DEBUG"; break; + // case QtInfoMsg: typeStr = "INFO"; break; + case QtWarningMsg: typeStr = "WARNING"; isBad = true; break; + case QtCriticalMsg: typeStr = "CRITICAL"; isBad = true; break; + case QtFatalMsg: typeStr = "FATAL"; isBad = true; break; + + default: + break; + } + + str.sprintf("%s (%s:%u %s): %s", typeStr.toLocal8Bit().data(), + context.file, context.line, context.function, localMsg.constData()); + + if (PageDebugPrint::currentMsgHandler) { + QString strTmp; + if (isBad) { + strTmp = "" + str + "
    "; + } else { + strTmp = str + "
    "; + } + + QMetaObject::invokeMethod(PageDebugPrint::currentMsgHandler, "printConsole", + Qt::QueuedConnection, Q_ARG(QString, strTmp)); + } + + printf("%s\n", str.toLocal8Bit().data()); + fflush(stdout); +} +} + +MainWindow::MainWindow(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindow) +{ + ui->setupUi(this); + + QLoggingCategory::setFilterRules("qt.network.ssl.warning=false"); + + mVersion = QString::number(DT_VERSION); + mDieBieMS = new BMSInterface(this); + mStatusInfoTime = 0; + mStatusLabel = new QLabel(this); + ui->statusBar->addPermanentWidget(mStatusLabel); + mTimer = new QTimer(this); + mKeyLeft = false; + mKeyRight = false; + mbmsConfigRead = false; + + connect(mTimer, SIGNAL(timeout()),this, SLOT(timerSlot())); + connect(mDieBieMS, SIGNAL(statusMessage(QString,bool)),this, SLOT(showStatusInfo(QString,bool))); + connect(mDieBieMS, SIGNAL(messageDialog(QString,QString,bool,bool)),this, SLOT(showMessageDialog(QString,QString,bool,bool))); + connect(mDieBieMS, SIGNAL(serialPortNotWritable(QString)),this, SLOT(serialPortNotWritable(QString))); + connect(mDieBieMS->commands(), SIGNAL(bmsConfigCheckResult(QStringList)),this, SLOT(bmsConfigCheckResult(QStringList))); + connect(ui->actionAboutQt, SIGNAL(triggered(bool)),qApp, SLOT(aboutQt())); + + // Remove the menu with the option to hide the toolbar + ui->mainToolBar->setContextMenuPolicy(Qt::PreventContextMenu); + ui->actionCanFwd->setVisible(false); + ui->pageLabel->setVisible(false); + ui->menuTerminal->menuAction()->setVisible(false); + ui->menuTools->menuAction()->setVisible(false); + ui->menuHelp->menuAction()->setVisible(false); + + mDieBieMS->bmsConfig()->loadParamsXml("://res/config.xml"); + mDieBieMS->infoConfig()->loadParamsXml("://res/info.xml"); + reloadPages(); + + connect(mDieBieMS->bmsConfig(), SIGNAL(updated()),this, SLOT(bmsconfUpdated())); + + qInstallMessageHandler(myMessageOutput); + + mTimer->start(20); + + // Restore size and position + if (mSettings.contains("mainwindow/size")) { + resize(mSettings.value("mainwindow/size").toSize()); + } + + if (mSettings.contains("mainwindow/position")) { + move(mSettings.value("mainwindow/position").toPoint()); + } + + if (mSettings.contains("mainwindow/maximized")) { + bool maximized = mSettings.value("mainwindow/maximized").toBool(); + if (maximized) { + showMaximized(); + } + } + + mPageDebugPrint->printConsole("ENNOID-BMS Tool " + mVersion + " started
    "); +} + +MainWindow::~MainWindow() +{ + // Save settings + mSettings.setValue("version", mVersion); + mSettings.setValue("mainwindow/position", pos()); + mSettings.setValue("mainwindow/maximized", isMaximized()); + + if (!isMaximized()) { + mSettings.setValue("mainwindow/size", size()); + } + + delete ui; +} + +void MainWindow::timerSlot() +{ + // Update status label + if (mStatusInfoTime) { + mStatusInfoTime--; + if (!mStatusInfoTime) { + mStatusLabel->setStyleSheet(qApp->styleSheet()); + } + } else { + QString str = mDieBieMS->getConnectedPortName(); + if (str != mStatusLabel->text()) { + mStatusLabel->setText(mDieBieMS->getConnectedPortName()); + static QString statusLast = ""; + if (str != statusLast) { + mPageDebugPrint->printConsole("Status: " + str + "
    "); + statusLast = str; + if ( str != "Not connected" ) + { + ui->actionRtData->setChecked(true); + } + } + } + } + + // CAN fwd + if (ui->actionCanFwd->isChecked() != mDieBieMS->commands()->getSendCan()) { + ui->actionCanFwd->setChecked(mDieBieMS->commands()->getSendCan()); + } + + // RT value data only every 5 iterations. Cells, aux & expansion_temp only every 20 iterations + if (ui->actionRtData->isChecked()) { + static int values_cnt = 0; + static int cells_cnt = 0; + static int aux_cnt = 0; + static int exp_temp_cnt = 0; + + values_cnt++; + if(values_cnt >= 5) { + values_cnt = 0; + mDieBieMS->commands()->getValues(); + } + + cells_cnt++; + if(cells_cnt >= 20) { + cells_cnt = 0; + mDieBieMS->commands()->getCells(); + } + + aux_cnt++; + if(aux_cnt >= 20) { + aux_cnt = 0; + mDieBieMS->commands()->getAux(); + } + + exp_temp_cnt++; + if(exp_temp_cnt >= 20) { + exp_temp_cnt = 0; + mDieBieMS->commands()->getExpansionTemp(); + } + } + + // Send alive command once every 10 iterations + if (ui->actionSendAlive->isChecked()) { + static int alive_cnt = 0; + alive_cnt++; + if (alive_cnt >= 10) { + alive_cnt = 0; + mDieBieMS->commands()->sendAlive(); + } + } + + // Read configuration it isn't read since starting ENNOID-BMS Tool + if (mDieBieMS->isPortConnected()) { + static int conf_cnt = 0; + conf_cnt++; + if (conf_cnt >= 20) { + conf_cnt = 0; + if (!mbmsConfigRead) { + mDieBieMS->commands()->getBMSconf(); + } + } + } + + // Disable all data streaming when uploading firmware + if (mDieBieMS->commands()->getFirmwareUploadProgress() > 0.1) { + ui->actionSendAlive->setChecked(false); + ui->actionRtData->setChecked(false); + } + + // Run startup checks + static bool has_run_start_checks = false; + if (!has_run_start_checks) { + has_run_start_checks = true; + checkUdev(); + Utility::checkVersion(mDieBieMS); + } +} + +void MainWindow::showStatusInfo(QString info, bool isGood) +{ + if (isGood) { + mStatusLabel->setStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
    "); + } else { + mStatusLabel->setStyleSheet("QLabel { background-color : red; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
    "); + } + + mStatusInfoTime = 80; + mStatusLabel->setText(info); +} + +void MainWindow::showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText) +{ + (void)richText; + + if (isGood) { + QMessageBox::information(this, title, msg); + } else { + QMessageBox::warning(this, title, msg); + } +} + +void MainWindow::serialPortNotWritable(const QString &port) +{ + (void)port; + +#ifdef Q_OS_LINUX + QMessageBox::StandardButton reply; + reply = QMessageBox::warning(this, + tr("Connect Serial Port"), + tr("The serial port is not writable. This can usually be fixed by " + "adding your user to the dialout, uucp and/or lock groups. Would " + "you like to do that?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QString name = qgetenv("USER"); + if (name.isEmpty()) { + name = qgetenv("USERNAME"); + } + + bool hasDialout = !runCmd("getent", QStringList() << "group" << "dialout").isEmpty(); + bool hasUucp = !runCmd("getent", QStringList() << "group" << "uucp").isEmpty(); + bool hasLock = !runCmd("getent", QStringList() << "group" << "lock").isEmpty(); + + QString grps; + if (hasDialout) { + grps += "dialout"; + } + + if (hasUucp) { + if (!grps.isEmpty()) { + grps += ","; + } + grps += "uucp"; + } + + if (hasLock) { + if (!grps.isEmpty()) { + grps += ","; + } + grps += "lock"; + } + + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << "usermod" << "-aG" << grps << name); + waitProcess(process); + if (process.exitCode() == 0) { + showMessageDialog(tr("Command Result"), + tr("Result from command:\n\n" + "%1\n" + "You have to reboot for this " + "change to take effect."). + arg(QString(process.readAllStandardOutput())), + true, false); + } else { + showMessageDialog(tr("Command Result"), + tr("Running command failed."), + false, false); + } + process.close(); + } +#endif +} + +void MainWindow::bmsconfUpdated() +{ + mbmsConfigRead = true; +} + +void MainWindow::bmsConfigCheckResult(QStringList paramsNotSet) +{ + if (!paramsNotSet.isEmpty()) { + ParamDialog::showParams(tr("Parameters truncated"), + tr("The following parameters were truncated because they were set outside " + "of their allowed limits."), + mDieBieMS->bmsConfig(), + paramsNotSet, + this); + } +} + +void MainWindow::on_actionReconnect_triggered() +{ + mDieBieMS->reconnectLastPort(); +} + +void MainWindow::on_actionDisconnect_triggered() +{ + mDieBieMS->disconnectPort(); +} + +void MainWindow::on_actionReboot_triggered() +{ + mDieBieMS->commands()->reboot(); +} + +void MainWindow::on_actionReadBMScconf_triggered() +{ + mDieBieMS->commands()->getBMSconf(); +} + +void MainWindow::on_actionReadBMScconfDefault_triggered() +{ + mDieBieMS->commands()->getBMSconfDefault(); +} + +void MainWindow::on_actionWriteBMScconf_triggered() +{ + mDieBieMS->commands()->setBMSconf(); +} + +void MainWindow::on_actionSaveBMSConfXml_triggered() +{ + QString path; + path = QFileDialog::getSaveFileName(this, + tr("Choose where to save the motor configuration XML file"), + ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + if (!path.toLower().endsWith(".xml")) { + path += ".xml"; + } + + bool res = mDieBieMS->bmsConfig()->saveXml(path, "bmsConfiguration"); + + if (res) { + showStatusInfo("Saved motor configuration", true); + } else { + showMessageDialog(tr("Save motor configuration"), + tr("Could not save motor configuration:
    " + "%1").arg(mDieBieMS->bmsConfig()->xmlStatus()), + false, false); + } +} + +void MainWindow::on_actionLoadBMSConfXml_triggered() +{ + QString path; + path = QFileDialog::getOpenFileName(this, + tr("Choose motor configuration file to load"), + ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + bool res = mDieBieMS->bmsConfig()->loadXml(path, "bmsConfiguration"); + + if (res) { + showStatusInfo("Loaded motor configuration", true); + } else { + showMessageDialog(tr("Load motor configuration"), + tr("Could not load motor configuration:
    " + "%1").arg(mDieBieMS->bmsConfig()->xmlStatus()), + false, false); + } +} + +void MainWindow::on_actionExit_triggered() +{ + qApp->exit(); +} + +void MainWindow::on_actionAbout_triggered() +{ + QMessageBox::about(this, "ENNOID-BMS Tool", Utility::aboutText()); +} + +void MainWindow::on_actionLibrariesUsed_triggered() +{ + QMessageBox::about(this, "Libraries Used", + tr("Icons
    " + "
    https://icons8.com/

    " + "Plotting
    " + "http://qcustomplot.com/")); +} + +void MainWindow::addPageItem(QString name, QString icon, QString groupIcon, bool bold, bool indented) +{ + QListWidgetItem *item = new QListWidgetItem(); + ui->pageList->addItem(item); + PageListItem *li = new PageListItem(name, icon, groupIcon, this); + li->setBold(bold); + li->setIndented(indented); + ui->pageList->setItemWidget(item, li); +} + +void MainWindow::saveParamFileDialog(QString conf, bool wrapIfdef) +{ + ConfigParams *params = 0; + + if (conf.toLower() == "bmsconf") { + params = mDieBieMS->bmsConfig(); + } else { + qWarning() << "Invalid conf" << conf; + return; + } + + QString path; + path = QFileDialog::getSaveFileName(this,tr("Choose where to save the configuration header file"),".",tr("h files (*.h)")); + + if (path.isNull()) { + return; + } + + if (path.contains(" ")) { + showMessageDialog(tr("Save header"),tr("Spaces are not allowed in the filename."),false, false); + return; + } + + if (!path.toLower().endsWith(".h")) { + path += ".h"; + } + + bool res = params->saveCDefines(path, wrapIfdef); + + if (res) { + showStatusInfo("Saved C header", true); + } else { + showMessageDialog(tr("Save header"), + tr("Could not save header"), + false, false); + } +} + +void MainWindow::showPage(const QString &name) +{ + for (int i = 0;i < ui->pageList->count();i++) { + PageListItem *p = (PageListItem*)(ui->pageList->itemWidget(ui->pageList->item(i))); + if (p->name() == name) { + ui->pageList->setCurrentRow(i); + break; + } + } +} + +void MainWindow::reloadPages() +{ + // Remove pages (if any) + ui->pageList->clear(); + while (ui->pageWidget->count() != 0) { + QWidget* widget = ui->pageWidget->widget(0); + ui->pageWidget->removeWidget(widget); + widget->deleteLater(); + } + +#if 0 + mPageWelcome = new PageWelcome(this); + mPageWelcome->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageWelcome); + addPageItem(tr("Welcome"), "://res/icons/Home-96.png", "", true); +#endif + + mPageConnection = new PageConnection(this); + mPageConnection->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageConnection); + addPageItem(tr("Connection"), "://res/icons/Connected-96.png", "", true); + + mPageFirmware = new PageFirmware(this); + mPageFirmware->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageFirmware); + addPageItem(tr("Firmware"), "://res/icons/Electronics-96.png", "", true); + + mPageMasterSettings = new PageMasterSettings(this); + mPageMasterSettings->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterSettings); + addPageItem(tr("Settings"), "://res/icons/Outgoing Data-96.png", "", true); + +#if 0 // disable + mPageMasterGeneral = new PageMasterGeneral(this); + mPageMasterGeneral->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterGeneral); + addPageItem(tr("General"), "://res/icons/Horizontal Settings Mixer-96.png","", false, true); +#endif + +#if 0 // disable + mPageMasterCell = new PageMasterCell(this); + mPageMasterCell->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterCell); + addPageItem(tr("Cell Management"), "://res/icons/batteries-96.png","", false, true); +#endif + +#if 0 // disable + mPageMasterSwitch = new PageMasterSwitch(this); + mPageMasterSwitch->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterSwitch); + addPageItem(tr("Switch"), "://res/icons/Toggle Off-96_2.png","", false, true); +#endif + +#if 0 // disable + mPageMasterSignals = new PageMasterSignals(this); + mPageMasterSignals->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterSignals); + addPageItem(tr("Signals"), "://res/icons/bldc.png","", false, true); +#endif + +#if 0 + mPageMasterDisplay = new PageMasterDisplay(this); + mPageMasterDisplay->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterDisplay); + addPageItem(tr("Display"), "://res/icons/Calculator-96.png","", false, true); +#endif + +/* + mSlaveSettings = new PageSlaveSettings(this); + mSlaveSettings->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mSlaveSettings); + addPageItem(tr("Expansion Board Settings"), "://res/icons/Outgoing Data-96.png", "", true); + + mPageSlaveGeneral = new PageSlaveGeneral(this); + mPageSlaveGeneral->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveGeneral); + addPageItem(tr("General"), "://res/icons/Horizontal Settings Mixer-96.png","", false, true); + + mPageSlaveSwitch = new PageSlaveSwitch(this); + mPageSlaveSwitch->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveSwitch); + addPageItem(tr("Switch"), "://res/icons/Toggle Off-96_2.png","", false, true); + + mPageSlaveIO = new PageSlaveIO(this); + mPageSlaveIO->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveIO); + addPageItem(tr("IO"), "://res/icons/Rs 232 Male-96.png","", false, true); + + mPageSlaveFANs = new PageSlaveFAN(this); + mPageSlaveFANs->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveFANs); + addPageItem(tr("FANs"), "://res/icons/fan-96.png","", false, true); +*/ + mPageDataAnalysis = new PageDataAnalysis(this); + mPageDataAnalysis->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageDataAnalysis); + addPageItem(tr("Data Analysis"), "://res/icons/Line Chart-96.png", "", true); + + mPageRtData = new PageRtData(this); + mPageRtData->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageRtData); + addPageItem(tr("Realtime Data"), "://res/icons/rt_off.png", "", false, true); + + mPageTerminal = new PageTerminal(this); + mPageTerminal->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageTerminal); + addPageItem(tr("Terminal"), "://res/icons/Console-96.png", "", true); + + mPageDebugPrint = new PageDebugPrint(this); + ui->pageWidget->addWidget(mPageDebugPrint); +#if 0 + addPageItem(tr("Debug Console"), "://res/icons/Bug-96.png", "", true); +#endif + +#if 0 + mPageSettings = new PageSettings(this); + ui->pageWidget->addWidget(mPageSettings); + addPageItem(tr("Tool Settings"), "://res/icons/Settings-96.png", "", true); +#endif + + // Adjust sizes + QFontMetrics fm(this->font()); + int width = fm.width("Welcome & Wizards++++++"); + int height = fm.height(); + + for(int i = 0; i < ui->pageList->count(); i++) { + QListWidgetItem *item = ui->pageList->item(i); + item->setSizeHint(QSize(item->sizeHint().width(), height)); + } + + ui->pageList->setMinimumWidth(width); + ui->pageList->setMaximumWidth(width); + ui->pageLabel->setMaximumWidth(width); + ui->pageLabel->setMaximumHeight((394 * width) / 1549); + + ui->pageList->setCurrentRow(0); + ui->pageWidget->setCurrentIndex(0); +} + +void MainWindow::checkUdev() +{ + // Check if udev rules for modemmanager are installed +#ifdef Q_OS_LINUX + QFileInfo fi_mm("/lib/udev/rules.d/77-mm-usb-device-blacklist.rules"); + if (fi_mm.exists()) { + QFileInfo fi_vesc("/lib/udev/rules.d/45-vesc.rules"); + if (!fi_vesc.exists()) { + QMessageBox::StandardButton reply; + reply = QMessageBox::information(this, + tr("Modemmenager"), + tr("It looks like modemmanager is installed on your system, and that " + "there are no ENNOID-BMS udev rules installed. This will cause a delay " + "from when you plug in the ENNOID-BMS until you can use it. Would you like " + "to add a udev rule to prevent modemmanager from grabbing the ENNOID-BMS?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QFile f_vesc(QDir::temp().absoluteFilePath(fi_vesc.fileName())); + if (!f_vesc.open(QIODevice::WriteOnly | QIODevice::Text)) { + showMessageDialog(tr("Create File Error"), + f_vesc.errorString(), + false, false); + return; + } + + f_vesc.write("# Prevent modemmanager from grabbing the ENNOID-BMS\n" + "ATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"5740\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"\n"); + f_vesc.close(); + + QFileInfo fi_new(f_vesc); + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << + "mv" << + fi_new.absoluteFilePath() << + fi_vesc.absolutePath()); + waitProcess(process); + + if (process.exitCode() == 0) { + QMessageBox::StandardButton reply; + reply = QMessageBox::information(this, + tr("Modemmenager"), + tr("The udev rule was created successfully. Would you like " + "to reload udev to apply the new rule?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << + "udevadm" << + "control" << + "--reload-rules"); + waitProcess(process); + + if (process.exitCode() == 0) { + showMessageDialog(tr("Command Result"), + tr("Reloaded udev rules sucessfully."), + true, false); + } else { + QString out = process.readAll(); + + if (out.isEmpty()) { + showMessageDialog(tr("Command Result"), + tr("Could not reload udev rules. A reboot is probably " + "required for this change to take effect."), + false, false); + } + } + process.close(); + } + } else { + showMessageDialog(tr("Command Result"), + tr("Could not move rules file:\n\n" + "%1"). + arg(QString(process.readAllStandardOutput())), + false, false); + } + process.close(); + } + } + } +#endif +} + +bool MainWindow::waitProcess(QProcess &process, bool block, int timeoutMs) +{ + bool wasEnables = isEnabled(); + bool killed = false; + + if (block) { + setEnabled(false); + } + + process.waitForStarted(); + + QEventLoop loop; + QTimer timeoutTimer; + timeoutTimer.setSingleShot(true); + timeoutTimer.start(timeoutMs); + connect(&process, SIGNAL(finished(int)), &loop, SLOT(quit())); + connect(&timeoutTimer, SIGNAL(timeout()), &loop, SLOT(quit())); + loop.exec(); + + if (process.state() == QProcess::Running) { + process.kill(); + process.waitForFinished(); + killed = true; + } + + setEnabled(wasEnables); + + return !killed; +} + +QString MainWindow::runCmd(QString cmd, QStringList args) +{ + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start(cmd, args); + waitProcess(process); + QString res = process.readAllStandardOutput(); + process.close(); + return res; +} + +void MainWindow::on_pageList_currentRowChanged(int currentRow) +{ + if (currentRow >= 0) { + ui->pageWidget->setCurrentIndex(currentRow); + } +} + +void MainWindow::on_actionParameterEditorBMScconf_triggered() +{ + ParameterEditor *p = new ParameterEditor(this); + p->setAttribute(Qt::WA_DeleteOnClose); + p->setParams(mDieBieMS->bmsConfig()); + p->show(); +} + +void MainWindow::on_actionParameterEditorInfo_triggered() +{ + ParameterEditor *p = new ParameterEditor(this); + p->setAttribute(Qt::WA_DeleteOnClose); + p->setParams(mDieBieMS->infoConfig()); + p->show(); +} + +void MainWindow::on_actionSaveBMSConfigurationHeader_triggered() +{ + saveParamFileDialog("bmsconf", false); +} + +void MainWindow::on_actionSaveBMSConfigurationHeaderWrap_triggered() +{ + saveParamFileDialog("bmsconf", true); +} + +void MainWindow::on_actionTerminalPrintFaults_triggered() +{ + mDieBieMS->commands()->sendTerminalCmd("faults"); + showPage("DieBieMS Terminal"); +} + +void MainWindow::on_actionTerminalShowHelp_triggered() +{ + mDieBieMS->commands()->sendTerminalCmd("help"); + showPage("DieBieMS Terminal"); +} + +void MainWindow::on_actionTerminalClear_triggered() +{ + mPageTerminal->clearTerminal(); + showPage("DieBieMS Terminal"); +} + +void MainWindow::on_actionTerminalPrintThreads_triggered() +{ + mDieBieMS->commands()->sendTerminalCmd("threads"); + showPage("DieBieMS Terminal"); +} + +void MainWindow::on_actionCanFwd_toggled(bool arg1) +{ + mDieBieMS->commands()->setSendCan(arg1); +} + +void MainWindow::on_actionSafetyInformation_triggered() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "wizard_startup_usage"); +} + +void MainWindow::on_actionWarrantyStatement_triggered() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "wizard_startup_warranty"); +} + +void MainWindow::on_actionDieBieMSToolChangelog_triggered() +{ + HelpDialog::showHelp(this, "ENNOID-BMS Tool Changelog", Utility::vescToolChangeLog()); +} + +void MainWindow::on_actionFirmwareChangelog_triggered() +{ + HelpDialog::showHelp(this, "Firmware Changelog", Utility::fwChangeLog()); +} + +void MainWindow::on_actionLicense_triggered() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "gpl_text"); +} + +void MainWindow::on_actionStoreBMScconf_triggered() +{ + mDieBieMS->commands()->storeBMSConfig(); +} + +void MainWindow::on_actionCalibrateZero_triggered() +{ + if ( mDieBieMS == NULL ) { + return; + } + + if ( !mDieBieMS->isPortConnected() ) { + QMessageBox::critical(this, + tr("Connection Error"), + tr("The ENNOID-BMS is not connected. Please connect it.")); + return; + } + + mDieBieMS->commands()->sendTerminalCmd("setZeroCurrent"); + QTimer::singleShot(1000, [this](){ + this->mDieBieMS->commands()->sendTerminalCmd("config_write"); + }); +} diff --git a/mainwindow.h b/mainwindow.h new file mode 100644 index 0000000..df0c4c0 --- /dev/null +++ b/mainwindow.h @@ -0,0 +1,170 @@ +/* + Original copyright 2018 Benjamin Vedder benjamin@vedder.se and the VESC Tool project ( https://github.com/vedderb/vesc_tool ) + + Forked to: + Copyright 2018 Danny Bokma github@diebie.nl (https://github.com/DieBieEngineering/DieBieMS-Tool) + + Now forked to: + Copyright 2019 - 2020 Kevin Dionne kevin.dionne@ennoid.me (https://github.com/EnnoidMe/ENNOID-BMS-Tool) + + This file is part of ENNOID-BMS Tool. + + ENNOID-BMS Tool is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + ENNOID-BMS Tool is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#ifndef MAINWINDOW_H +#define MAINWINDOW_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "bmsinterface.h" +#include "ui_mainwindow.h" +#include "parametereditor.h" +#include "utility.h" + +#include "widgets/pagelistitem.h" +#include "widgets/helpdialog.h" +#include "widgets/paramdialog.h" +#include "pages/pagewelcome.h" +#include "pages/pageconnection.h" +#include "pages/pagedataanalysis.h" +#include "pages/pagertdata.h" +#include "pages/pageterminal.h" +#include "pages/pagefirmware.h" +#include "pages/pagedebugprint.h" +#include "pages/pagemastersettings.h" +#include "pages/pagemastergeneral.h" +#include "pages/pagemasterswitch.h" +#include "pages/pagemastercell.h" +#include "pages/pagemastersignals.h" +#include "pages/pagemasterdisplay.h" +#include "pages/pageslavesettings.h" +#include "pages/pageslavegeneral.h" +#include "pages/pageslaveswitch.h" +#include "pages/pageslaveio.h" +#include "pages/pageslavefan.h" + +#include "pages/pagesettings.h" + + + + +namespace Ui { +class MainWindow; +} + +class MainWindow : public QMainWindow +{ + Q_OBJECT + +public: + explicit MainWindow(QWidget *parent = 0); + ~MainWindow(); + +private slots: + void timerSlot(); + void showStatusInfo(QString info, bool isGood); + void showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText); + void serialPortNotWritable(const QString &port); + void bmsconfUpdated(); + void bmsConfigCheckResult(QStringList paramsNotSet); + void on_actionReconnect_triggered(); + void on_actionDisconnect_triggered(); + void on_actionReboot_triggered(); + void on_actionReadBMScconf_triggered(); + void on_actionReadBMScconfDefault_triggered(); + void on_actionWriteBMScconf_triggered(); + void on_actionSaveBMSConfXml_triggered(); + void on_actionLoadBMSConfXml_triggered(); + void on_actionExit_triggered(); + void on_actionAbout_triggered(); + void on_actionLibrariesUsed_triggered(); + void on_pageList_currentRowChanged(int currentRow); + void on_actionParameterEditorBMScconf_triggered(); + void on_actionParameterEditorInfo_triggered(); + void on_actionSaveBMSConfigurationHeader_triggered(); + void on_actionSaveBMSConfigurationHeaderWrap_triggered(); + void on_actionTerminalPrintFaults_triggered(); + void on_actionTerminalShowHelp_triggered(); + void on_actionTerminalClear_triggered(); + void on_actionTerminalPrintThreads_triggered(); + void on_actionCanFwd_toggled(bool arg1); + void on_actionSafetyInformation_triggered(); + void on_actionWarrantyStatement_triggered(); + void on_actionDieBieMSToolChangelog_triggered(); + void on_actionFirmwareChangelog_triggered(); + void on_actionLicense_triggered(); + + void on_actionStoreBMScconf_triggered(); + + void on_actionCalibrateZero_triggered(); + +private: + Ui::MainWindow *ui; + + QSettings mSettings; + QString mVersion; + BMSInterface *mDieBieMS; + QTimer *mTimer; + QLabel *mStatusLabel; + int mStatusInfoTime; + bool mKeyLeft; + bool mKeyRight; + bool mbmsConfigRead; + + PageWelcome *mPageWelcome; + PageConnection *mPageConnection; + PageDataAnalysis *mPageDataAnalysis; + PageRtData *mPageRtData; + PageTerminal *mPageTerminal; + PageFirmware *mPageFirmware; + PageDebugPrint *mPageDebugPrint; + PageMasterSettings *mPageMasterSettings; + PageMasterGeneral *mPageMasterGeneral; + PageMasterSwitch *mPageMasterSwitch; + PageMasterCell *mPageMasterCell; + PageMasterSignals *mPageMasterSignals; + PageMasterDisplay *mPageMasterDisplay; + PageSlaveSettings *mSlaveSettings; + PageSlaveGeneral *mPageSlaveGeneral; + PageSlaveSwitch *mPageSlaveSwitch; + PageSlaveIO *mPageSlaveIO; + PageSlaveFAN *mPageSlaveFANs; + PageSettings *mPageSettings; + + + + void addPageItem(QString name, QString icon = "", QString groupIcon = "", bool bold = false, bool indented = false); + void saveParamFileDialog(QString conf, bool wrapIfdef); + void showPage(const QString &name); + void reloadPages(); + void checkUdev(); + bool waitProcess(QProcess &process, bool block = true, int timeoutMs = 300000); + QString runCmd(QString cmd, QStringList args); + +}; + +#endif // MAINWINDOW_H diff --git a/mainwindow.ui b/mainwindow.ui new file mode 100644 index 0000000..ee00f8b --- /dev/null +++ b/mainwindow.ui @@ -0,0 +1,550 @@ + + + MainWindow + + + + 0 + 0 + 1054 + 642 + + + + ENNOID-BMS Tool + + + + :/res/icons/Car Battery-96.png:/res/icons/Car Battery-96.png + + + + + 6 + + + 2 + + + + + + + + + true + + + + 220 + 56 + + + + + + + :/res/logo.png + + + true + + + + + + + + 220 + 0 + + + + + 220 + 16777215 + + + + QAbstractItemView::NoEditTriggers + + + QAbstractItemView::SelectRows + + + + + + + + + -1 + + + + + + + + + + + 0 + 0 + 1054 + 22 + + + + + File + + + + + + + + + + + + + Help + + + + + + + + + + + + + + + Developer + + + + + + + Terminal + + + + + + + + + Commands + + + + + + + + + + + + + false + + + + 24 + 24 + + + + Qt::ToolButtonIconOnly + + + false + + + RightToolBarArea + + + false + + + + + + + + + + + + + + + + + + + + :/res/icons/motor_up.png:/res/icons/motor_up.png + + + readBMScconf + + + Read BMS Configuration + + + + + + :/res/icons/motor_default.png:/res/icons/motor_default.png + + + readBMScconfDefault + + + Read default BMS configuration + + + + + + :/res/icons/motor_down.png:/res/icons/motor_down.png + + + writeBMScconf + + + Write BMS configuration + + + + + + :/res/icons/Save as-96.png:/res/icons/Save as-96.png + + + Save BMS Configuration XML as... + + + + + + :/res/icons/Open Folder-96.png:/res/icons/Open Folder-96.png + + + Load BMS Configuration XML + + + + + + :/res/icons/Disconnected-96.png:/res/icons/Disconnected-96.png + + + disconnect + + + Disconnect + + + + + + :/res/icons/Restart-96.png:/res/icons/Restart-96.png + + + Reboot + + + Reboot + + + + + true + + + + :/res/icons/can_off.png + :/res/icons/can_on.png:/res/icons/can_off.png + + + canFwd + + + Forward communication over CAN-bus + + + + + + :/res/icons/Connected-96.png:/res/icons/Connected-96.png + + + reconnect + + + Reconnect last connection + + + + + true + + + + :/res/icons/rt_off.png + :/res/icons/rt_on.png:/res/icons/rt_off.png + + + rtData + + + Stream realtime data + + + + + + :/res/icons/Shutdown-96.png:/res/icons/Shutdown-96.png + + + Exit + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + About ENNOID-BMS Tool + + + About ENNOID-BMS Tool + + + + + + :/res/icons/Horizontal Settings Mixer-96.png:/res/icons/Horizontal Settings Mixer-96.png + + + Parameter Editor Config + + + + + + :/res/icons/Save as-96.png:/res/icons/Save as-96.png + + + Save BMS Configuration C Header as... + + + + + + :/res/icons/Save as-96.png:/res/icons/Save as-96.png + + + Save BMS Configuration C Header (ifdef wrapped) as... + + + Save BMS Configuration C Header (ifdef wrapped) as + + + + + true + + + + :/res/icons/rt_app_off.png + :/res/icons/rt_app_on.png:/res/icons/rt_app_off.png + + + rtDataApp + + + Stream realtime app data + + + + + + :/res/icons/Console-96.png:/res/icons/Console-96.png + + + Print Faults + + + Print Faults + + + + + + :/res/icons/Help-96.png:/res/icons/Help-96.png + + + Show Help + + + + + + :/res/icons/Delete-96.png:/res/icons/Delete-96.png + + + Clear Terminal + + + + + + :/res/icons/Electronics-96.png:/res/icons/Electronics-96.png + + + Print Threads + + + Print Threads + + + + + true + + + + :/res/icons/alive_off.png + :/res/icons/alive_on.png:/res/icons/alive_off.png + + + Send Alive Commands + + + Send alive packets periodically to prevent timeout + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + About Libraries Used + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + About Qt + + + Show the Qt library's About box + + + + + + :/res/icons/Horizontal Settings Mixer-96.png:/res/icons/Horizontal Settings Mixer-96.png + + + Parameter Editor Info + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + Safety Information + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + Limited Warranty Statement + + + Limited Warranty Statement + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + ENNOID-BMS Tool Changelog + + + ENNOID-BMS Tool Changelog + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + Firmware Changelog + + + + + + :/res/icons/About-96.png:/res/icons/About-96.png + + + License + + + + + + :/res/icons/Save-96.png:/res/icons/Save-96.png + + + writeBMScconf + + + Store BMS configuration to Flash + + + + + + :/res/icons/Potentiometer-96.png:/res/icons/Potentiometer-96.png + + + Calibrate Zero + + + Calibrate zero current of BMS + + + + + + + + + diff --git a/mainwindownew.cpp b/mainwindownew.cpp new file mode 100644 index 0000000..445df8a --- /dev/null +++ b/mainwindownew.cpp @@ -0,0 +1,2272 @@ +#include "mainwindownew.h" +#include "ui_mainwindownew.h" +#include +#include + +#include "pages/pagedebugprint.h" +#include "settingsextrapage.h" +#include "configparamsgetter.h" + +void myMessageOutput(QtMsgType type, const QMessageLogContext &context, const QString &msg) +{ + QByteArray localMsg = msg.toLocal8Bit(); + QString str; + QString typeStr; + bool isBad = false; + + switch (type) { + case QtDebugMsg: typeStr = "DEBUG"; break; + // case QtInfoMsg: typeStr = "INFO"; break; + case QtWarningMsg: typeStr = "WARNING"; isBad = true; break; + case QtCriticalMsg: typeStr = "CRITICAL"; isBad = true; break; + case QtFatalMsg: typeStr = "FATAL"; isBad = true; break; + + default: + break; + } + + str.sprintf("%s (%s:%u %s): %s", typeStr.toLocal8Bit().data(), context.file, context.line, context.function, + localMsg.constData()); + + if (DebugPrintPage::currentMsgHandler) { + QString strTmp; + if (isBad) { + strTmp = "" + str + "
    "; + } else { + strTmp = str + "
    "; + } + + QMetaObject::invokeMethod(DebugPrintPage::currentMsgHandler, "printConsole", Qt::QueuedConnection, + Q_ARG(QString, strTmp)); + } + + printf("%s\n", str.toLocal8Bit().data()); + fflush(stdout); +} + + + +#if 0 + +MainWindowNew::MainWindowNew(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindowNew), + m_currentPageIndex(TabWidgetPage::ConnectWindow) +{ + ui->setupUi(this); + + ui->pbMainMenuBarHideMenu->hide(); + ui->mStatusLabel->hide(); + + QLoggingCategory::setFilterRules("qt.network.ssl.warning=false"); + + mVersion = QString::number(DT_VERSION); + + //this->setAttribute(Qt::WA_DeleteOnClose); + + initDieBieMs(); + + setWindowFlags(Qt::CustomizeWindowHint); + setFixedSize(mWidth,mHeight); + + m_minimize = false; + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), (m_minimize ? 12 : 9) )); + //ui->lbHeaderSerialNumberName->setVisible(!m_minimize); + //ui->lbHeaderSerialNumberNameMini->setVisible(!ui->lbHeaderSerialNumberName->isVisible()); + + ui->pbMainMenuBarHideMenu ->setIconStringForButton(":/res/b0L.png"); + ui->pbMainMenuBarAkbMonitor ->setIconStringForButton(":/res/menu-akb-monitor.png"); + ui->pbMainMenuBarCellsMonitor ->setIconStringForButton(":/res/menu-cells-monitor.png"); + ui->pbMainMenuBarConfiguration->setIconStringForButton(":/res/menu-configuration.png"); + ui->pbMainMenuBarVisualization->setIconStringForButton(":/res/menu-visualization.png"); + ui->pbMainMenuBarHistory ->setIconStringForButton(":/res/menu-history.png"); + ui->pbMainMenuBarSeriveOfBms ->setIconStringForButton(":/res/menu-serive-of-bms.png"); + ui->pbMainMenuBarSettingsExtra->setIconStringForButton(":/res/menu-settings-extra.png"); + ui->pbMainMenuBarExit ->setIconStringForButton(":/res/menu-exit.png"); + + /* + //m_btnGroupMainMenuBar = new QButtonGroup(this); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarHideMenu ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarAkbMonitor ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarCellsMonitor ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarConfiguration); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarVisualization); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarHistory ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarSeriveOfBms ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarExit ); + */ + connect(ui->pbMainMenuBarAkbMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = AkbMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarCellsMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = CellsMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarConfiguration, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Configuration; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Visualization; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarHistory, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = History; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSeriveOfBms, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SeriveOfBms; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSettingsExtra, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SettingsExtra; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = ConnectWindow; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + + //connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, ui->tabVisualization, &VisualizationPage::onVisualizationPageSelected); + + initAnimationForLeftTabsBar(); + + connect(ui->pbMainMenuBarHideMenu, &QPushButton::clicked, this, &MainWindowNew::onShrink); + + //connect(m_btnGroupMainMenuBar, QOverload::of(&QButtonGroup::buttonClicked), this, &MainWindowNew::onMainMenuBarButtonClicked); + + //onHideAndShowConnectWindowAgain(); + + connect(ui->tabConfiguration, &ConfigurationPage::sendMessage, ui->tabSeriveOfBms, &BmsServicePage::printReceived); + + //connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { QApplication::quit(); } ); + connect(ui->tabConnect, &ConnectAndEnterPage::sigConnected, this, &MainWindowNew::onHideConnectWindow ); + connect(ui->tabConnect, &ConnectAndEnterPage::sigReject, this, [=]() { QApplication::quit(); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, &MainWindowNew::onShowConnectWindow); + //connect(this, &MainWindowNew::sigShowConnectWindow, this, &MainWindowNew::onShowConnectWindow); + + //prepareWindowBeforeShow + + + //* // ENABLE WHEN FINISHED + connect(this, &MainWindowNew::loadParams, ui->tabAkbMonitor, &AkbMonitorPage::onLoadParams); + connect(this, &MainWindowNew::loadParams, ui->tabConfiguration, &ConfigurationPage::loadParams); + //*/ + + //if(mSerialPort->isOpen()) { + + + //emit sigShowConnectWindow(); + onShowConnectWindow(); + + mPageDebugPrint->printConsole("DieBieMSTool " + mVersion + " started
    "); +} + +MainWindowNew::~MainWindowNew() +{ + delete ui; +} + + + +void MainWindowNew::initDieBieMs() +{ + // mVersion = QString::number(DT_VERSION); + mDieBieMS = new BMSInterface(this); + + ui->tabConnect->initDieBieMS(mDieBieMS); + //ui->tabConnect->setDieBieMS(mDieBieMS); + ui->tabAkbMonitor->setDieBieMS(mDieBieMS); + ui->tabCellsMonitor->setDieBieMS(mDieBieMS); + ui->tabConfiguration->setDieBieMS(mDieBieMS); + ui->tabVisualization->setDieBieMS(mDieBieMS); + ui->tabHistory->setDieBieMS(mDieBieMS); + ui->tabSeriveOfBms->setDieBieMS(mDieBieMS); + //ui->tabSettingsExtra->setDieBieMS(mDieBieMS); + + mPageDebugPrint = ui->tabHistory; + ui->tabConfiguration->setDebugPrintPage(mPageDebugPrint); + + // init everything for Real time watching and updating info + mStatusInfoTime = 0; + ui->mStatusLabel->clear(); // = new QLabel(this); + //ui->statusBar->addPermanentWidget(mStatusLabel); + mMcConfRead = false; + + + mTimer = new QTimer(this); + connect(mTimer, &QTimer::timeout, this, &MainWindowNew::onTimerSlot); + mTimer->start(20); + // init everything for Real time watching and updating info + + connect(ui->tabSettingsExtra, &SettingsExtraPage::connected, this, [=]() { + const QString greenStyle = "color: lime; \ + background-color: lime; \ + border-color: lime; \ + border-width: 0px; \ + border-style: solid; \ + border-radius: 10px;"; + + ui->lbHeaderConnectionIndicator->setStyleSheet(greenStyle); + } ); + + connect(ui->tabSettingsExtra, &SettingsExtraPage::disconnected, this, [=]() { + const QString redStyle = "color: red; \ + background-color: red; \ + border-color: red; \ + border-width: 0px; \ + border-style: solid; \ + border-radius: 10px;"; + + ui->lbHeaderConnectionIndicator->setStyleSheet(redStyle); + } ); + + connect(this, &MainWindowNew::loadParams, ui->tabConfiguration, &ConfigurationPage::loadParams); +} + +///////////////////////////////////// + + +void MainWindowNew::onTimerSlot() +{ + // Update status label + if (mStatusInfoTime) { + mStatusInfoTime--; + if (!mStatusInfoTime) { + //ui->mStatusLabel->setStyleSheet(qApp->styleSheet()); + } + } else { + QString str = mDieBieMS->getConnectedPortName(); + if (str != ui->mStatusLabel->text()) { + ui->mStatusLabel->setText(mDieBieMS->getConnectedPortName()); + static QString statusLast = ""; + if (str != statusLast) { + mPageDebugPrint->printConsole("Status: " + str + "
    "); + statusLast = str; + } + } + } + + // CAN fwd // actionCanFwd + //if (ui->actionCanFwd->isChecked() != mDieBieMS->commands()->getSendCan()) { + // ui->actionCanFwd->setChecked(mDieBieMS->commands()->getSendCan()); + //} + + + // Visualisation + // RT data only every 5 iterations // actionRtData // REALTIME DATA + ui->tabVisualization->setIsPageActivated(ui->pbMainMenuBarVisualization->isChecked()); + if ( ui->pbMainMenuBarVisualization->isChecked() || ui->pbMainMenuBarAkbMonitor->isChecked() || ui->pbMainMenuBarCellsMonitor->isChecked() ) + { + static int values_cnt = 0; + static int cells_cnt = 0; + + values_cnt++; + if (values_cnt >= 5) { + values_cnt = 0; + mDieBieMS->commands()->getValues(); + } + + cells_cnt++; + if (cells_cnt >= 20) { + cells_cnt = 0; + mDieBieMS->commands()->getCells(); + } + } + + // Send alive command once every 10 iterations // actionSendAlive + if (false) //ui->actionSendAlive->isChecked()) + { + static int alive_cnt = 0; + alive_cnt++; + if (alive_cnt >= 10) { + alive_cnt = 0; + mDieBieMS->commands()->sendAlive(); + } + } + + // Read configuration it isn't read since starting VESC Tool + if (mDieBieMS->isPortConnected()) { + static int conf_cnt = 0; + conf_cnt++; + if (conf_cnt >= 20) { + conf_cnt = 0; + if (!mMcConfRead) { + mDieBieMS->commands()->getBMSconf(); + } + } + } + + // Disable all data streaming when uploading firmware + if (mDieBieMS->commands()->getFirmwareUploadProgress() > 0.1) { + //ui->actionSendAlive->setChecked(false); + //ui->actionRtData->setChecked(false); + if(!isConnectWindowActivated()) + ui->pbMainMenuBarAkbMonitor->clicked(); + } + + // Run startup checks + static bool has_run_start_checks = false; + if (!has_run_start_checks) { + has_run_start_checks = true; + checkUdev(); + +#if ENABLE_VERSION_CHECK + Utility::checkVersion(mDieBieMS); +#endif + + } + +} + + + +void MainWindowNew::showStatusInfo(QString info, bool isGood) +{ + if (isGood) { + ui->mStatusLabel->setStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
    "); + } else { + ui->mStatusLabel->setStyleSheet("QLabel { background-color : red; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
    "); + } + + mStatusInfoTime = 80; + ui->mStatusLabel->setText(info); +} + + +///////////////////////////////////// + +bool MainWindowNew::isConnectWindowActivated() const +{ + return (m_currentPageIndex == TabWidgetPage::ConnectWindow); +} + +void MainWindowNew::bmsconfUpdated() +{ + mMcConfRead = true; +} + + +void MainWindowNew::checkUdev() +{ + // Check if udev rules for modemmanager are installed +#ifdef Q_OS_LINUX + QFileInfo fi_mm("/lib/udev/rules.d/77-mm-usb-device-blacklist.rules"); + if (fi_mm.exists()) { + QFileInfo fi_bms("/lib/udev/rules.d/45-vesc.rules"); + if (!fi_vesc.exists()) { + QMessageBox::StandardButton reply; + reply = QMessageBox::information(this, + tr("Modemmenager"), + tr("It looks like modemmanager is installed on your system, and that " + "there are no VESC udev rules installed. This will cause a delay " + "from when you plug in the VESC until you can use it. Would you like " + "to add a udev rule to prevent modemmanager from grabbing the VESC?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QFile f_bms(QDir::temp().absoluteFilePath(fi_vesc.fileName())); + if (!f_vesc.open(QIODevice::WriteOnly | QIODevice::Text)) { + showMessageDialog(tr("Create File Error"), + f_vesc.errorString(), + false, false); + return; + } + + f_vesc.write("# Prevent modemmanager from grabbing the VESC\n" + "ATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"5740\", ENV{ID_MM_DEVICE_IGNORE}=\"1\"\n"); + f_vesc.close(); + + QFileInfo fi_new(f_vesc); + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << + "mv" << + fi_new.absoluteFilePath() << + fi_vesc.absolutePath()); + waitProcess(process); + + if (process.exitCode() == 0) { + QMessageBox::StandardButton reply; + reply = QMessageBox::information(this, + tr("Modemmenager"), + tr("The udev rule was created successfully. Would you like " + "to reload udev to apply the new rule?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << + "udevadm" << + "control" << + "--reload-rules"); + waitProcess(process); + + if (process.exitCode() == 0) { + showMessageDialog(tr("Command Result"), + tr("Reloaded udev rules sucessfully."), + true, false); + } else { + QString out = process.readAll(); + + if (out.isEmpty()) { + showMessageDialog(tr("Command Result"), + tr("Could not reload udev rules. A reboot is probably " + "required for this change to take effect."), + false, false); + } + } + process.close(); + } + } else { + showMessageDialog(tr("Command Result"), + tr("Could not move rules file:\n\n" + "%1"). + arg(QString(process.readAllStandardOutput())), + false, false); + } + process.close(); + } + } + } +#endif +} + + + +//void MainWindowNew::onHideThisAndShowConnectWindow() +//{ +// ui->tabConnect->prepareWindowBeforeShow(); +//} + +/* +void MainWindowNew::onShowConnectWindow() +{ + mConnect.prepareWindowBeforeShow(); + + if(mConnect.exec() == QDialog::Rejected) + { + isConnectionPrepared = false; + } + else + { + isConnectionPrepared = mConnect.isConnectionPrepared(); + comPortToConnect = mConnect.portToConnect(); + } + + if(isConnectionPrepared) + { + mConnect.hide(); + show(); + emit loadParams(); + } + else { + close(); + QApplication::quit(); + } +} +*/ + +void MainWindowNew::onShowConnectWindow() +{ + mIsConnectionPrepared = false; + mComPortToConnect.clear(); + + setAllMainMenuBarButtonsVisible(false); + unselectAllLeftTabBarButtons(); + + m_currentPageIndex = TabWidgetPage::ConnectWindow; + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); + + ui->tabWidgetPagesContent->setGeometry(0, -10, mWidth, 751); + + ui->tabConnect->prepareWindowBeforeShow(); + setLeftTopWidgetsVisible(false); +} + +void MainWindowNew::onHideConnectWindow() +{ + mIsConnectionPrepared = ui->tabConnect->isConnectionPrepared(); + mComPortToConnect = ui->tabConnect->portToConnect(); + + m_currentPageIndex = TabWidgetPage::AkbMonitor; + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); + + setAllMainMenuBarButtonsVisible(true); + selectCurrentLeftTabBarButton(); + + ui->tabWidgetPagesContent->setGeometry(280, -10, 1084, 751); + + setLeftTopWidgetsVisible(true); + emit loadParams(); +} + + +void MainWindowNew::setLeftTopWidgetsVisible(bool value) +{ + ui->lbHeaderConnectionName ->setVisible(value); + ui->lbHeaderConnectionIndicator ->setVisible(value); + ui->lbHeaderBmsVersion ->setVisible(value); + ui->lbHeaderSerialNumberName ->setVisible(value); + ui->lbHeaderSerialNumberValue ->setVisible(value); + ui->labHeaderSeparator ->setVisible(value); + ui->lbHeaderLanguageName ->setVisible(value); + ui->lbHeaderLanguageIcon ->setVisible(value); +} + +void MainWindowNew::setAllMainMenuBarButtonsVisible(bool val) +{ + ui->pbMainMenuBarAkbMonitor ->setVisible(val); + ui->pbMainMenuBarCellsMonitor ->setVisible(val); + ui->pbMainMenuBarConfiguration->setVisible(val); + ui->pbMainMenuBarVisualization->setVisible(val); + ui->pbMainMenuBarHistory ->setVisible(val); + ui->pbMainMenuBarSeriveOfBms ->setVisible(val); + ui->pbMainMenuBarSettingsExtra->setVisible(val); + ui->pbMainMenuBarExit ->setVisible(val); +} + +void MainWindowNew::unselectAllLeftTabBarButtons() +{ + ui->pbMainMenuBarAkbMonitor ->setChecked(false); + ui->pbMainMenuBarCellsMonitor ->setChecked(false); + ui->pbMainMenuBarConfiguration->setChecked(false); + ui->pbMainMenuBarVisualization->setChecked(false); + ui->pbMainMenuBarHistory ->setChecked(false); + ui->pbMainMenuBarSeriveOfBms ->setChecked(false); + ui->pbMainMenuBarSettingsExtra->setChecked(false); + ui->pbMainMenuBarExit ->setChecked(false); +} + +void MainWindowNew::selectCurrentLeftTabBarButton() +{ + switch (m_currentPageIndex) { + case AkbMonitor : ui->pbMainMenuBarAkbMonitor ->setChecked(true); break; + case CellsMonitor : ui->pbMainMenuBarCellsMonitor ->setChecked(true); break; + case Configuration: ui->pbMainMenuBarConfiguration->setChecked(true); break; + case Visualization: ui->pbMainMenuBarVisualization->setChecked(true); break; + case History : ui->pbMainMenuBarHistory ->setChecked(true); break; + case SeriveOfBms : ui->pbMainMenuBarSeriveOfBms ->setChecked(true); break; + case SettingsExtra: ui->pbMainMenuBarSettingsExtra->setChecked(true); break; + //case Exit : ui->pbMainMenuBarExit ->setChecked(true); break; + case ConnectWindow: break; + }; +} + + +//void MainWindowNew::onMainMenuBarButtonClicked() +//{ + // WARNING !!! + // Do NOT set any Left Tab Bar Button checked inside of the UI-file + // If you do so, then even after you will use method unselectAllLeftTabBarButtons() + // if(!btn->isChecked()) + // continue; + // THIS if() will not go to continue call, it will be skipped + // exactrly on that Left Tab Bar Button that you have checked inside of the UI-file + // UI has for some reason a HIGHER proiority over programmaticly set ->setChecked() method ... + + //for(auto btn: m_btnGroupMainMenuBar->buttons()) + //{ +/* + if(!btn->isChecked()) + continue; + + if ( btn->objectName() == ui->pbMainMenuBarAkbMonitor ->objectName() ) m_currentPageIndex = AkbMonitor ; + else if( btn->objectName() == ui->pbMainMenuBarCellsMonitor ->objectName() ) m_currentPageIndex = CellsMonitor ; + else if( btn->objectName() == ui->pbMainMenuBarConfiguration->objectName() ) m_currentPageIndex = Configuration ; + else if( btn->objectName() == ui->pbMainMenuBarVisualization->objectName() ) m_currentPageIndex = Visualization ; + else if( btn->objectName() == ui->pbMainMenuBarHistory ->objectName() ) m_currentPageIndex = History ; + else if( btn->objectName() == ui->pbMainMenuBarSeriveOfBms ->objectName() ) m_currentPageIndex = SeriveOfBms ; + + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); + return; + //} + + m_currentPageIndex = ConnectWindow; + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); +*/ +//} + +///////////////////////////////////// + + +void MainWindowNew::onShrink() +{ + if (m_minimize) { + clearAllBtnsText(); + m_animgroupMin->start(); + ui->pbMainMenuBarHideMenu->setIconStringForButton(":/res/b0R.png"); + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), 12 )); + } + else { + restoreAllBtnsText(); + m_animgroupMax->start(); + ui->pbMainMenuBarHideMenu->setIconStringForButton(":/res/b0L.png"); + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), 9) ); + } + + m_minimize = !m_minimize; +} + +void MainWindowNew::initAnimationForLeftTabsBar() +{ + m_logoWay = 65; + int sec = 1000; + int min = 100; + int max = 281; + int fromShrink = max; + int toShrink = min; + int fromMax = min; + int toMax = max; + + m_minimize = true; + m_animgroupMin = new QParallelAnimationGroup; + m_animgroupMax = new QParallelAnimationGroup; + + QPropertyAnimation *aminL = new QPropertyAnimation(ui->lbIconLogo, "geometry"); + QPropertyAnimation *aminB = new QPropertyAnimation(ui->labLeftTabListBackground, "geometry"); + QPropertyAnimation *amin0 = new QPropertyAnimation(ui->pbMainMenuBarHideMenu , "geometry"); + QPropertyAnimation *amin1 = new QPropertyAnimation(ui->pbMainMenuBarAkbMonitor , "geometry"); + QPropertyAnimation *amin2 = new QPropertyAnimation(ui->pbMainMenuBarCellsMonitor , "geometry"); + QPropertyAnimation *amin3 = new QPropertyAnimation(ui->pbMainMenuBarConfiguration, "geometry"); + QPropertyAnimation *amin4 = new QPropertyAnimation(ui->pbMainMenuBarVisualization, "geometry"); + QPropertyAnimation *amin5 = new QPropertyAnimation(ui->pbMainMenuBarHistory , "geometry"); + QPropertyAnimation *amin6 = new QPropertyAnimation(ui->pbMainMenuBarSeriveOfBms , "geometry"); + QPropertyAnimation *amin7 = new QPropertyAnimation(ui->pbMainMenuBarSettingsExtra , "geometry"); + QPropertyAnimation *amin8 = new QPropertyAnimation(ui->pbMainMenuBarExit , "geometry"); + QPropertyAnimation *amin9 = new QPropertyAnimation(ui->mStatusLabel , "geometry"); + + + QPropertyAnimation *amaxL = new QPropertyAnimation(ui->lbIconLogo, "geometry"); + QPropertyAnimation *amaxB = new QPropertyAnimation(ui->labLeftTabListBackground, "geometry"); + QPropertyAnimation *amax0 = new QPropertyAnimation(ui->pbMainMenuBarHideMenu , "geometry"); + QPropertyAnimation *amax1 = new QPropertyAnimation(ui->pbMainMenuBarAkbMonitor , "geometry"); + QPropertyAnimation *amax2 = new QPropertyAnimation(ui->pbMainMenuBarCellsMonitor , "geometry"); + QPropertyAnimation *amax3 = new QPropertyAnimation(ui->pbMainMenuBarConfiguration, "geometry"); + QPropertyAnimation *amax4 = new QPropertyAnimation(ui->pbMainMenuBarVisualization, "geometry"); + QPropertyAnimation *amax5 = new QPropertyAnimation(ui->pbMainMenuBarHistory , "geometry"); + QPropertyAnimation *amax6 = new QPropertyAnimation(ui->pbMainMenuBarSeriveOfBms , "geometry"); + QPropertyAnimation *amax7 = new QPropertyAnimation(ui->pbMainMenuBarSettingsExtra , "geometry"); + QPropertyAnimation *amax8 = new QPropertyAnimation(ui->pbMainMenuBarExit , "geometry"); + QPropertyAnimation *amax9 = new QPropertyAnimation(ui->mStatusLabel , "geometry"); + + setAnimLogoMin ( m_animgroupMin, aminL, sec, ui->lbIconLogo ); + setAnimParamsMin( m_animgroupMin, aminB, sec, ui->labLeftTabListBackground ); + setAnimParamsMin( m_animgroupMin, amin0, sec, ui->pbMainMenuBarHideMenu ); + setAnimParamsMin( m_animgroupMin, amin1, sec, ui->pbMainMenuBarAkbMonitor ); + setAnimParamsMin( m_animgroupMin, amin2, sec, ui->pbMainMenuBarCellsMonitor ); + setAnimParamsMin( m_animgroupMin, amin3, sec, ui->pbMainMenuBarConfiguration ); + setAnimParamsMin( m_animgroupMin, amin4, sec, ui->pbMainMenuBarVisualization ); + setAnimParamsMin( m_animgroupMin, amin5, sec, ui->pbMainMenuBarHistory ); + setAnimParamsMin( m_animgroupMin, amin6, sec, ui->pbMainMenuBarSeriveOfBms ); + setAnimParamsMin( m_animgroupMin, amin7, sec, ui->pbMainMenuBarSettingsExtra ); + setAnimParamsMin( m_animgroupMin, amin8, sec, ui->pbMainMenuBarExit ); + setAnimParamsMin( m_animgroupMin, amin9, sec, ui->mStatusLabel ); + + setAnimLogoMax ( m_animgroupMax, amaxL, sec, ui->lbIconLogo ); + setAnimParamsMax( m_animgroupMax, amaxB, sec, ui->labLeftTabListBackground ); + setAnimParamsMax( m_animgroupMax, amax0, sec, ui->pbMainMenuBarHideMenu ); + setAnimParamsMax( m_animgroupMax, amax1, sec, ui->pbMainMenuBarAkbMonitor ); + setAnimParamsMax( m_animgroupMax, amax2, sec, ui->pbMainMenuBarCellsMonitor ); + setAnimParamsMax( m_animgroupMax, amax3, sec, ui->pbMainMenuBarConfiguration ); + setAnimParamsMax( m_animgroupMax, amax4, sec, ui->pbMainMenuBarVisualization ); + setAnimParamsMax( m_animgroupMax, amax5, sec, ui->pbMainMenuBarHistory ); + setAnimParamsMax( m_animgroupMax, amax6, sec, ui->pbMainMenuBarSeriveOfBms ); + setAnimParamsMax( m_animgroupMax, amax7, sec, ui->pbMainMenuBarSettingsExtra ); + setAnimParamsMax( m_animgroupMax, amax8, sec, ui->pbMainMenuBarExit ); + setAnimParamsMax( m_animgroupMax, amax9, sec, ui->mStatusLabel ); + + //connect(ui->pushButton_13, &QPushButton::clicked, this, &MainWindowNew::onShrink); +} + + +void MainWindowNew::setAnimParams(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, int from, + int to) +{ + a->setDuration(sec); + a->setStartValue(from); + a->setEndValue(to); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + +void MainWindowNew::clearAllBtnsText() +{ + //clearBtnText(); + clearBtnText( ui->pbMainMenuBarHideMenu ); + clearBtnText( ui->pbMainMenuBarAkbMonitor ); + clearBtnText( ui->pbMainMenuBarCellsMonitor ); + clearBtnText( ui->pbMainMenuBarConfiguration ); + clearBtnText( ui->pbMainMenuBarVisualization ); + clearBtnText( ui->pbMainMenuBarHistory ); + clearBtnText( ui->pbMainMenuBarSeriveOfBms ); + clearBtnText( ui->pbMainMenuBarSettingsExtra ); + clearBtnText( ui->pbMainMenuBarExit ); +} +void MainWindowNew::restoreAllBtnsText() +{ + restoreBtnText( ui->pbMainMenuBarHideMenu ); + restoreBtnText( ui->pbMainMenuBarAkbMonitor ); + restoreBtnText( ui->pbMainMenuBarCellsMonitor ); + restoreBtnText( ui->pbMainMenuBarConfiguration ); + restoreBtnText( ui->pbMainMenuBarVisualization ); + restoreBtnText( ui->pbMainMenuBarHistory ); + restoreBtnText( ui->pbMainMenuBarSeriveOfBms ); + restoreBtnText( ui->pbMainMenuBarSettingsExtra ); + restoreBtnText( ui->pbMainMenuBarExit ); +} + +void MainWindowNew::clearBtnText(CustomLeftTabBarButton *btn) +{ + btn->setProperty("tmp", btn->text()); + btn->setText(""); +} +void MainWindowNew::restoreBtnText(CustomLeftTabBarButton *btn) +{ + btn->setText(btn->property("tmp").toString()); +} + + + +void MainWindowNew::setAnimLogoMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEndValue(QRect(rec.x()-m_logoWay, rec.y()/2, rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} +void MainWindowNew::setAnimLogoMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x()-m_logoWay, rec.y()/2, rec.width(), rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + +void MainWindowNew::setAnimParamsMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} +void MainWindowNew::setAnimParamsMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + +void MainWindowNew::setAnimParamsMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, CustomLeftTabBarButton *btn) +{ + a->setDuration(sec); + QRect rec = btn->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} +void MainWindowNew::setAnimParamsMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, CustomLeftTabBarButton *btn) +{ + a->setDuration(sec); + QRect rec = btn->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + +////////////////////////////////////////////////////////////////////// +/// +////////////////////////////////////////////////////////////////////// + + + + +bool MainWindowNew::addParamRow(ConfigParams *params, QString paramName) +{ + bool res = false; + QWidget *editor = params->getEditor(paramName); + QString name = params->getLongName(paramName); + + if (editor) { + //int row = rowCount(); + //setRowCount(row + 1); + //QTableWidgetItem *item = new QTableWidgetItem(name); + //item->setFlags(item->flags() & ~Qt::ItemIsEditable); + //setItem(row, 0, item); + //setCellWidget(row, 1, editor); + + res = true; + //resizeColumnToContents(0); + //resizeRowsToContents(); + } + + return res; +} + +#endif + + + +#include +#include +#include + +#include "pages/pagedebugprint.h" +#include "settingsextrapage.h" +#include "widgets/paramdialog.h" + + + +void MainWindowNew::showWindowInOneStaticPlaceWithoutHideResizeCloseButtons() +{ + setWindowFlags(Qt::FramelessWindowHint); +} + +void MainWindowNew::setAppSizeForFullView() +{ + setFixedSize(mWidth,mHeight); +} + +void MainWindowNew::setAppSizeForConnectionPage() +{ + setFixedSize(mWidthConnectPage,mHeightConnectPage); +} + +void MainWindowNew::moveApplicationToTheCenter() +{ + move(QApplication::desktop()->screen()->rect().center() - rect().center()); +} + +//* +MainWindowNew::MainWindowNew(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindowNew) +{ + ui->setupUi(this); + +#if RELEASE_VERSION + showWindowInOneStaticPlaceWithoutHideResizeCloseButtons(); +#endif + setAppSizeForConnectionPage(); + moveApplicationToTheCenter(); + + ////////////////////////////////////////////////////// + /// mainwindownew + //ui->setupUi(this); + + ui->pbMainMenuBarHideMenu->hide(); + ui->mStatusLabel->hide(); + + QLoggingCategory::setFilterRules("qt.network.ssl.warning=false"); + + mVersion = QString::number(DT_VERSION); + + //this->setAttribute(Qt::WA_DeleteOnClose); + + ///initDieBieMs(); + + //setWindowFlags(Qt::CustomizeWindowHint); + //setFixedSize(mWidth,mHeight); + + m_minimize = false; + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), (m_minimize ? 12 : 9) )); + //ui->lbHeaderSerialNumberName->setVisible(!m_minimize); + //ui->lbHeaderSerialNumberNameMini->setVisible(!ui->lbHeaderSerialNumberName->isVisible()); + + ui->pbMainMenuBarHideMenu ->setIconStringForButton(":/res/b0L.png"); + ui->pbMainMenuBarAkbMonitor ->setIconStringForButton(":/res/menu-akb-monitor.png"); + ui->pbMainMenuBarCellsMonitor ->setIconStringForButton(":/res/menu-cells-monitor.png"); + ui->pbMainMenuBarConfiguration->setIconStringForButton(":/res/menu-configuration.png"); + ui->pbMainMenuBarVisualization->setIconStringForButton(":/res/menu-visualization.png"); + ui->pbMainMenuBarHistory ->setIconStringForButton(":/res/menu-history.png"); + ui->pbMainMenuBarSeriveOfBms ->setIconStringForButton(":/res/menu-serive-of-bms.png"); + ui->pbMainMenuBarSettingsExtra->setIconStringForButton(":/res/menu-settings-extra.png"); + ui->pbMainMenuBarExit ->setIconStringForButton(":/res/menu-exit.png"); + + /* + //m_btnGroupMainMenuBar = new QButtonGroup(this); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarHideMenu ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarAkbMonitor ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarCellsMonitor ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarConfiguration); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarVisualization); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarHistory ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarSeriveOfBms ); + m_btnGroupMainMenuBar->addButton(ui->pbMainMenuBarExit ); + */ + + /* + connect(ui->pbMainMenuBarAkbMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = AkbMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarCellsMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = CellsMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarConfiguration, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Configuration; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Visualization; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarHistory, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = History; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSeriveOfBms, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SeriveOfBms; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSettingsExtra, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SettingsExtra; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = ConnectWindow; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + */ + + connect(ui->pbMainMenuBarAkbMonitor, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarCellsMonitor, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarConfiguration, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarHistory, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarSeriveOfBms, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarSettingsExtra, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, &MainWindowNew::onAnyLeftTabBarButtonClicked); + m_currentPageIndex = AkbMonitor; + m_prevPageIndex = AkbMonitor; + + + //connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, ui->tabVisualization, &VisualizationPage::onVisualizationPageSelected); + + initAnimationForLeftTabsBar(); + + connect(ui->pbMainMenuBarHideMenu, &QPushButton::clicked, this, &MainWindowNew::onShrink); + + //connect(m_btnGroupMainMenuBar, QOverload::of(&QButtonGroup::buttonClicked), this, &MainWindowNew::onMainMenuBarButtonClicked); + + //onHideAndShowConnectWindowAgain(); + + connect(ui->tabConfiguration, &ConfigurationPage::sendMessage, ui->tabSeriveOfBms, &BmsServicePage::printReceived); + + //connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { QApplication::quit(); } ); + connect(ui->tabConnect, &ConnectAndEnterPage::sigConnected, this, &MainWindowNew::onHideConnectWindow ); + connect(ui->tabConnect, &ConnectAndEnterPage::sigReject, this, [=]() { QApplication::quit(); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, &MainWindowNew::onShowConnectWindow); + //connect(this, &MainWindowNew::sigShowConnectWindow, this, &MainWindowNew::onShowConnectWindow); + + //prepareWindowBeforeShow + + + //* // ENABLE WHEN FINISHED + connect(this, &MainWindowNew::loadParams, ui->tabAkbMonitor, &AkbMonitorPage::onLoadParams); + connect(this, &MainWindowNew::loadParams, ui->tabConfiguration, &ConfigurationPage::loadParams); + //*/ + + //if(mSerialPort->isOpen()) { + + + //emit sigShowConnectWindow(); + onShowConnectWindow(); + + ///mPageDebugPrint->printConsole("DieBieMSTool " + mVersion + " started
    "); + + + ///////////////////////////////////////////////////// + /// mainwnidow + /// + + QLoggingCategory::setFilterRules("qt.network.ssl.warning=false"); + + mVersion = QString::number(DT_VERSION); + mDieBieMS = new BMSInterface(this); + mStatusInfoTime = 0; + mStatusLabelText = ""; + ///mStatusLabel = new QLabel(this); + ///ui->statusBar->addPermanentWidget(mStatusLabel); + mTimer = new QTimer(this); + mKeyLeft = false; + mKeyRight = false; + mMcConfRead = false; + mDieBieMS->bmsConfig()->loadParamsXml("://res/config.xml"); + mDieBieMS->infoConfig()->loadParamsXml("://res/info.xml"); + + reloadPages(); + + qInstallMessageHandler(myMessageOutput); + + connect(mTimer, &QTimer::timeout, this, &MainWindowNew::timerSlot); + connect(mDieBieMS, &BMSInterface::statusMessage, this, &MainWindowNew::showStatusInfo); + connect(mDieBieMS, &BMSInterface::messageDialog, this, &MainWindowNew::showMessageDialog); + connect(mDieBieMS, &BMSInterface::serialPortNotWritable, this, &MainWindowNew::serialPortNotWritable); + connect(mDieBieMS->commands(), &Commands::bmsConfigCheckResult, this, &MainWindowNew::bmsConfigCheckResult); + connect(mDieBieMS->bmsConfig(), &ConfigParams::updated, this, &MainWindowNew::bmsconfUpdated); + ///connect(ui->actionAboutQt, SIGNAL(triggered(bool)), qApp, SLOT(aboutQt())); + + // init everything for Real time watching and updating info + + connect(ui->tabSettingsExtra, &SettingsExtraPage::connected, this, [=]() { + const QString greenStyle = "color: #009352; \ + background-color: #009352; \ + border-color: #009352; \ + border-width: 0px; \ + border-style: solid; \ + border-radius: 10px;"; + + ui->lbHeaderConnectionIndicator->setStyleSheet(greenStyle); + } ); + + connect(ui->tabSettingsExtra, &SettingsExtraPage::disconnected, this, [=]() { + const QString redStyle = "color: red; \ + background-color: red; \ + border-color: red; \ + border-width: 0px; \ + border-style: solid; \ + border-radius: 10px;"; + + ui->lbHeaderConnectionIndicator->setStyleSheet(redStyle); + } ); + + //connect(this, &MainWindowNew::loadParams, ui->tabConfiguration, &ConfigurationPage::loadParams); + + /* + connect(mTimer, SIGNAL(timeout()), this, SLOT(timerSlot())); + connect(mDieBieMS, SIGNAL(statusMessage(QString, bool)), this, SLOT(showStatusInfo(QString, bool))); + connect(mDieBieMS, SIGNAL(messageDialog(QString, QString, bool, bool)), this, + SLOT(showMessageDialog(QString, QString, bool, bool))); + connect(mDieBieMS, SIGNAL(serialPortNotWritable(QString)), this, SLOT(serialPortNotWritable(QString))); + connect(mDieBieMS->commands(), SIGNAL(bmsConfigCheckResult(QStringList)), this, + SLOT(bmsConfigCheckResult(QStringList))); + ///connect(ui->actionAboutQt, SIGNAL(triggered(bool)), qApp, SLOT(aboutQt())); + */ + + // Remove the menu with the option to hide the toolbar + ///ui->mainToolBar->setContextMenuPolicy(Qt::PreventContextMenu); + + + // Restore size and position + if (mSettings.contains("MainWindowNew/size")) { + resize(mSettings.value("MainWindowNew/size").toSize()); + } + + if (mSettings.contains("MainWindowNew/position")) { + move(mSettings.value("MainWindowNew/position").toPoint()); + } + + if (mSettings.contains("MainWindowNew/maximized")) { + bool maximized = mSettings.value("MainWindowNew/maximized").toBool(); + if (maximized) { + showMaximized(); + } + } + + + mTimer->start(20); + + mPageDebugPrint->printConsole("DieBieMSTool " + mVersion + " started
    "); +} +//*/ + +void MainWindowNew::onAnyLeftTabBarButtonClicked() +{ + bool isOtherPageClicked = (m_prevPageIndex != m_currentPageIndex); + + bool isBtn = false; + QPushButton* _sender = (QPushButton*)sender(); + + if( _sender == ui->pbMainMenuBarAkbMonitor) { isBtn = true; m_currentPageIndex = AkbMonitor; } + else if(_sender == ui->pbMainMenuBarCellsMonitor ) { isBtn = true; m_currentPageIndex = CellsMonitor; } + else if(_sender == ui->pbMainMenuBarConfiguration ) { isBtn = true; m_currentPageIndex = Configuration; } + else if(_sender == ui->pbMainMenuBarVisualization ) { isBtn = true; m_currentPageIndex = Visualization; } + else if(_sender == ui->pbMainMenuBarHistory ) { isBtn = true; m_currentPageIndex = History; } + else if(_sender == ui->pbMainMenuBarSeriveOfBms ) { isBtn = true; m_currentPageIndex = SeriveOfBms; } + else if(_sender == ui->pbMainMenuBarSettingsExtra ) { isBtn = true; m_currentPageIndex = SettingsExtra; } + else if(_sender == ui->pbMainMenuBarExit ) { isBtn = true; m_currentPageIndex = ConnectWindow; } + + if(!isBtn) + return; + + unselectAllLeftTabBarButtons(); + selectCurrentLeftTabBarButton(); + + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); + + + switch(m_currentPageIndex) + { + case AkbMonitor: + case CellsMonitor: + case Configuration: + case History: + case SeriveOfBms: + case SettingsExtra: + case ConnectWindow: + ui->tabVisualization->setIsPageActivated(false); + break; + + case Visualization: + ui->tabVisualization->setIsPageActivated(true); + break; + } + + m_prevPageIndex = m_currentPageIndex; + + /* + connect(ui->pbMainMenuBarAkbMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = AkbMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarCellsMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = CellsMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarConfiguration, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Configuration; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Visualization; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarHistory, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = History; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSeriveOfBms, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SeriveOfBms; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSettingsExtra, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SettingsExtra; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = ConnectWindow; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + */ +} + +/* +MainWindowNew::MainWindowNew(QWidget *parent) : + QMainWindow(parent), + ui(new Ui::MainWindowNew), + m_currentPageIndex(TabWidgetPage::ConnectWindow) +{ + ui->setupUi(this); + + ui->pbMainMenuBarHideMenu->hide(); + ui->mStatusLabel->hide(); + + QLoggingCategory::setFilterRules("qt.network.ssl.warning=false"); + + mVersion = QString::number(DT_VERSION); + + //this->setAttribute(Qt::WA_DeleteOnClose); + + initDieBieMs(); + + setWindowFlags(Qt::CustomizeWindowHint); + setFixedSize(mWidth,mHeight); + + m_minimize = false; + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), (m_minimize ? 12 : 9) )); + //ui->lbHeaderSerialNumberName->setVisible(!m_minimize); + //ui->lbHeaderSerialNumberNameMini->setVisible(!ui->lbHeaderSerialNumberName->isVisible()); + + ui->pbMainMenuBarHideMenu ->setIconStringForButton(":/res/b0L.png"); + ui->pbMainMenuBarAkbMonitor ->setIconStringForButton(":/res/menu-akb-monitor.png"); + ui->pbMainMenuBarCellsMonitor ->setIconStringForButton(":/res/menu-cells-monitor.png"); + ui->pbMainMenuBarConfiguration->setIconStringForButton(":/res/menu-configuration.png"); + ui->pbMainMenuBarVisualization->setIconStringForButton(":/res/menu-visualization.png"); + ui->pbMainMenuBarHistory ->setIconStringForButton(":/res/menu-history.png"); + ui->pbMainMenuBarSeriveOfBms ->setIconStringForButton(":/res/menu-serive-of-bms.png"); + ui->pbMainMenuBarSettingsExtra->setIconStringForButton(":/res/menu-settings-extra.png"); + ui->pbMainMenuBarExit ->setIconStringForButton(":/res/menu-exit.png"); + + + connect(ui->pbMainMenuBarAkbMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = AkbMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarCellsMonitor, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = CellsMonitor; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarConfiguration, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Configuration; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = Visualization; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarHistory, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = History; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSeriveOfBms, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SeriveOfBms; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarSettingsExtra, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = SettingsExtra; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { unselectAllLeftTabBarButtons(); m_currentPageIndex = ConnectWindow; selectCurrentLeftTabBarButton(); ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); } ); + + //connect(ui->pbMainMenuBarVisualization, &QPushButton::clicked, ui->tabVisualization, &VisualizationPage::onVisualizationPageSelected); + + initAnimationForLeftTabsBar(); + + connect(ui->pbMainMenuBarHideMenu, &QPushButton::clicked, this, &MainWindowNew::onShrink); + + //connect(m_btnGroupMainMenuBar, QOverload::of(&QButtonGroup::buttonClicked), this, &MainWindowNew::onMainMenuBarButtonClicked); + + //onHideAndShowConnectWindowAgain(); + + connect(ui->tabConfiguration, &ConfigurationPage::sendMessage, ui->tabSeriveOfBms, &BmsServicePage::printReceived); + + //connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, [=]() { QApplication::quit(); } ); + connect(ui->tabConnect, &ConnectAndEnterPage::sigConnected, this, &MainWindowNew::onHideConnectWindow ); + connect(ui->tabConnect, &ConnectAndEnterPage::sigReject, this, [=]() { QApplication::quit(); } ); + connect(ui->pbMainMenuBarExit, &QPushButton::clicked, this, &MainWindowNew::onShowConnectWindow); + //connect(this, &MainWindowNew::sigShowConnectWindow, this, &MainWindowNew::onShowConnectWindow); + + //prepareWindowBeforeShow + + + + + //if(mSerialPort->isOpen()) { + + + //emit sigShowConnectWindow(); + onShowConnectWindow(); + + mPageDebugPrint->printConsole("DieBieMSTool " + mVersion + " started
    "); +} +*/ + +MainWindowNew::~MainWindowNew() +{ + // Save settings + mSettings.setValue("version", mVersion); + mSettings.setValue("MainWindowNew/position", pos()); + mSettings.setValue("MainWindowNew/maximized", isMaximized()); + + if (!isMaximized()) { + mSettings.setValue("MainWindowNew/size", size()); + } + + delete ui; +} + +///////////////////////////////////////////////////////////// + + +void MainWindowNew::onShrink() +{ + if (m_minimize) { + clearAllBtnsText(); + m_animgroupMin->start(); + ui->pbMainMenuBarHideMenu->setIconStringForButton(":/res/b0R.png"); + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), 12 )); + } + else { + restoreAllBtnsText(); + m_animgroupMax->start(); + ui->pbMainMenuBarHideMenu->setIconStringForButton(":/res/b0L.png"); + ui->lbHeaderSerialNumberName->setFont(QFont(("Segoe WP SemiLight"), 9) ); + } + + m_minimize = !m_minimize; +} + + +void MainWindowNew::clearAllBtnsText() +{ + //clearBtnText(); + clearBtnText( ui->pbMainMenuBarHideMenu ); + clearBtnText( ui->pbMainMenuBarAkbMonitor ); + clearBtnText( ui->pbMainMenuBarCellsMonitor ); + clearBtnText( ui->pbMainMenuBarConfiguration ); + clearBtnText( ui->pbMainMenuBarVisualization ); + clearBtnText( ui->pbMainMenuBarHistory ); + clearBtnText( ui->pbMainMenuBarSeriveOfBms ); + clearBtnText( ui->pbMainMenuBarSettingsExtra ); + clearBtnText( ui->pbMainMenuBarExit ); +} +void MainWindowNew::restoreAllBtnsText() +{ + restoreBtnText( ui->pbMainMenuBarHideMenu ); + restoreBtnText( ui->pbMainMenuBarAkbMonitor ); + restoreBtnText( ui->pbMainMenuBarCellsMonitor ); + restoreBtnText( ui->pbMainMenuBarConfiguration ); + restoreBtnText( ui->pbMainMenuBarVisualization ); + restoreBtnText( ui->pbMainMenuBarHistory ); + restoreBtnText( ui->pbMainMenuBarSeriveOfBms ); + restoreBtnText( ui->pbMainMenuBarSettingsExtra ); + restoreBtnText( ui->pbMainMenuBarExit ); +} + +void MainWindowNew::clearBtnText(CustomLeftTabBarButton *btn) +{ + btn->setProperty("tmp", btn->text()); + btn->setText(""); +} +void MainWindowNew::restoreBtnText(CustomLeftTabBarButton *btn) +{ + btn->setText(btn->property("tmp").toString()); +} + + + + +void MainWindowNew::setAnimLogoMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEndValue(QRect(rec.x()-m_logoWay, rec.y()/2, rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} +void MainWindowNew::setAnimLogoMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x()-m_logoWay, rec.y()/2, rec.width(), rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + +void MainWindowNew::setAnimParamsMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} +void MainWindowNew::setAnimParamsMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *obj) +{ + a->setDuration(sec); + QRect rec = obj->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + +void MainWindowNew::setAnimParamsMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, CustomLeftTabBarButton *btn) +{ + a->setDuration(sec); + QRect rec = btn->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} +void MainWindowNew::setAnimParamsMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, CustomLeftTabBarButton *btn) +{ + a->setDuration(sec); + QRect rec = btn->geometry(); + a->setStartValue(QRect(rec.x(), rec.y(), rec.width()/2, rec.height())); + a->setEndValue(QRect(rec.x(), rec.y(), rec.width(), rec.height())); + a->setEasingCurve(QEasingCurve::Linear); + group->addAnimation(a); +} + + +void MainWindowNew::initAnimationForLeftTabsBar() +{ + m_logoWay = 65; + int sec = 1000; + int min = 100; + int max = 281; + int fromShrink = max; + int toShrink = min; + int fromMax = min; + int toMax = max; + + m_minimize = true; + m_animgroupMin = new QParallelAnimationGroup; + m_animgroupMax = new QParallelAnimationGroup; + + QPropertyAnimation *aminL = new QPropertyAnimation(ui->lbIconLogo, "geometry"); + QPropertyAnimation *aminB = new QPropertyAnimation(ui->labLeftTabListBackground, "geometry"); + QPropertyAnimation *amin0 = new QPropertyAnimation(ui->pbMainMenuBarHideMenu , "geometry"); + QPropertyAnimation *amin1 = new QPropertyAnimation(ui->pbMainMenuBarAkbMonitor , "geometry"); + QPropertyAnimation *amin2 = new QPropertyAnimation(ui->pbMainMenuBarCellsMonitor , "geometry"); + QPropertyAnimation *amin3 = new QPropertyAnimation(ui->pbMainMenuBarConfiguration, "geometry"); + QPropertyAnimation *amin4 = new QPropertyAnimation(ui->pbMainMenuBarVisualization, "geometry"); + QPropertyAnimation *amin5 = new QPropertyAnimation(ui->pbMainMenuBarHistory , "geometry"); + QPropertyAnimation *amin6 = new QPropertyAnimation(ui->pbMainMenuBarSeriveOfBms , "geometry"); + QPropertyAnimation *amin7 = new QPropertyAnimation(ui->pbMainMenuBarSettingsExtra , "geometry"); + QPropertyAnimation *amin8 = new QPropertyAnimation(ui->pbMainMenuBarExit , "geometry"); + QPropertyAnimation *amin9 = new QPropertyAnimation(ui->mStatusLabel , "geometry"); + + + QPropertyAnimation *amaxL = new QPropertyAnimation(ui->lbIconLogo, "geometry"); + QPropertyAnimation *amaxB = new QPropertyAnimation(ui->labLeftTabListBackground, "geometry"); + QPropertyAnimation *amax0 = new QPropertyAnimation(ui->pbMainMenuBarHideMenu , "geometry"); + QPropertyAnimation *amax1 = new QPropertyAnimation(ui->pbMainMenuBarAkbMonitor , "geometry"); + QPropertyAnimation *amax2 = new QPropertyAnimation(ui->pbMainMenuBarCellsMonitor , "geometry"); + QPropertyAnimation *amax3 = new QPropertyAnimation(ui->pbMainMenuBarConfiguration, "geometry"); + QPropertyAnimation *amax4 = new QPropertyAnimation(ui->pbMainMenuBarVisualization, "geometry"); + QPropertyAnimation *amax5 = new QPropertyAnimation(ui->pbMainMenuBarHistory , "geometry"); + QPropertyAnimation *amax6 = new QPropertyAnimation(ui->pbMainMenuBarSeriveOfBms , "geometry"); + QPropertyAnimation *amax7 = new QPropertyAnimation(ui->pbMainMenuBarSettingsExtra , "geometry"); + QPropertyAnimation *amax8 = new QPropertyAnimation(ui->pbMainMenuBarExit , "geometry"); + QPropertyAnimation *amax9 = new QPropertyAnimation(ui->mStatusLabel , "geometry"); + + setAnimLogoMin ( m_animgroupMin, aminL, sec, ui->lbIconLogo ); + setAnimParamsMin( m_animgroupMin, aminB, sec, ui->labLeftTabListBackground ); + setAnimParamsMin( m_animgroupMin, amin0, sec, ui->pbMainMenuBarHideMenu ); + setAnimParamsMin( m_animgroupMin, amin1, sec, ui->pbMainMenuBarAkbMonitor ); + setAnimParamsMin( m_animgroupMin, amin2, sec, ui->pbMainMenuBarCellsMonitor ); + setAnimParamsMin( m_animgroupMin, amin3, sec, ui->pbMainMenuBarConfiguration ); + setAnimParamsMin( m_animgroupMin, amin4, sec, ui->pbMainMenuBarVisualization ); + setAnimParamsMin( m_animgroupMin, amin5, sec, ui->pbMainMenuBarHistory ); + setAnimParamsMin( m_animgroupMin, amin6, sec, ui->pbMainMenuBarSeriveOfBms ); + setAnimParamsMin( m_animgroupMin, amin7, sec, ui->pbMainMenuBarSettingsExtra ); + setAnimParamsMin( m_animgroupMin, amin8, sec, ui->pbMainMenuBarExit ); + setAnimParamsMin( m_animgroupMin, amin9, sec, ui->mStatusLabel ); + + setAnimLogoMax ( m_animgroupMax, amaxL, sec, ui->lbIconLogo ); + setAnimParamsMax( m_animgroupMax, amaxB, sec, ui->labLeftTabListBackground ); + setAnimParamsMax( m_animgroupMax, amax0, sec, ui->pbMainMenuBarHideMenu ); + setAnimParamsMax( m_animgroupMax, amax1, sec, ui->pbMainMenuBarAkbMonitor ); + setAnimParamsMax( m_animgroupMax, amax2, sec, ui->pbMainMenuBarCellsMonitor ); + setAnimParamsMax( m_animgroupMax, amax3, sec, ui->pbMainMenuBarConfiguration ); + setAnimParamsMax( m_animgroupMax, amax4, sec, ui->pbMainMenuBarVisualization ); + setAnimParamsMax( m_animgroupMax, amax5, sec, ui->pbMainMenuBarHistory ); + setAnimParamsMax( m_animgroupMax, amax6, sec, ui->pbMainMenuBarSeriveOfBms ); + setAnimParamsMax( m_animgroupMax, amax7, sec, ui->pbMainMenuBarSettingsExtra ); + setAnimParamsMax( m_animgroupMax, amax8, sec, ui->pbMainMenuBarExit ); + setAnimParamsMax( m_animgroupMax, amax9, sec, ui->mStatusLabel ); + + //connect(ui->pushButton_13, &QPushButton::clicked, this, &MainWindowNew::onShrink); +} + + +void MainWindowNew::onShowConnectWindow() +{ + setAppSizeForConnectionPage(); + moveApplicationToTheCenter(); + + mIsConnectionPrepared = false; + mComPortToConnect.clear(); + + setAllMainMenuBarButtonsVisible(false); + unselectAllLeftTabBarButtons(); + + m_currentPageIndex = TabWidgetPage::ConnectWindow; + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); + + ui->tabWidgetPagesContent->setGeometry(0, -10, mWidth, 751); + + ui->tabConnect->prepareWindowBeforeShow(); + setLeftTopWidgetsVisible(false); +} + +void MainWindowNew::onHideConnectWindow() +{ + setAppSizeForFullView(); + moveApplicationToTheCenter(); + + mIsConnectionPrepared = ui->tabConnect->isConnectionPrepared(); + mComPortToConnect = ui->tabConnect->portToConnect(); + + m_currentPageIndex = TabWidgetPage::AkbMonitor; + ui->tabWidgetPagesContent->setCurrentIndex(m_currentPageIndex); + + setAllMainMenuBarButtonsVisible(true); + selectCurrentLeftTabBarButton(); + + ui->tabWidgetPagesContent->setGeometry(280, -10, 1084, 751); + + setLeftTopWidgetsVisible(true); + emit loadParams(); +} + + +void MainWindowNew::setLeftTopWidgetsVisible(bool value) +{ + ui->lbHeaderConnectionName ->setVisible(value); + ui->lbHeaderConnectionIndicator ->setVisible(value); + ui->lbHeaderBmsVersion ->setVisible(value); + ui->lbHeaderSerialNumberName ->setVisible(value); + ui->lbHeaderSerialNumberValue ->setVisible(value); + ui->labHeaderSeparator ->setVisible(value); + ui->lbHeaderLanguageName ->setVisible(value); + ui->lbHeaderLanguageIcon ->setVisible(value); +} + +void MainWindowNew::setAllMainMenuBarButtonsVisible(bool val) +{ + ui->pbMainMenuBarAkbMonitor ->setVisible(val); + ui->pbMainMenuBarCellsMonitor ->setVisible(val); + ui->pbMainMenuBarConfiguration->setVisible(val); + ui->pbMainMenuBarVisualization->setVisible(val); + ui->pbMainMenuBarHistory ->setVisible(val); + ui->pbMainMenuBarSeriveOfBms ->setVisible(val); + ui->pbMainMenuBarSettingsExtra->setVisible(val); + ui->pbMainMenuBarExit ->setVisible(val); +} + +void MainWindowNew::unselectAllLeftTabBarButtons() +{ + ui->pbMainMenuBarAkbMonitor ->setChecked(false); + ui->pbMainMenuBarCellsMonitor ->setChecked(false); + ui->pbMainMenuBarConfiguration->setChecked(false); + ui->pbMainMenuBarVisualization->setChecked(false); + ui->pbMainMenuBarHistory ->setChecked(false); + ui->pbMainMenuBarSeriveOfBms ->setChecked(false); + ui->pbMainMenuBarSettingsExtra->setChecked(false); + ui->pbMainMenuBarExit ->setChecked(false); +} + +void MainWindowNew::selectCurrentLeftTabBarButton() +{ + switch (m_currentPageIndex) { + case AkbMonitor : ui->pbMainMenuBarAkbMonitor ->setChecked(true); break; + case CellsMonitor : ui->pbMainMenuBarCellsMonitor ->setChecked(true); break; + case Configuration: ui->pbMainMenuBarConfiguration->setChecked(true); break; + case Visualization: ui->pbMainMenuBarVisualization->setChecked(true); break; + case History : ui->pbMainMenuBarHistory ->setChecked(true); break; + case SeriveOfBms : ui->pbMainMenuBarSeriveOfBms ->setChecked(true); break; + case SettingsExtra: ui->pbMainMenuBarSettingsExtra->setChecked(true); break; + //case Exit : ui->pbMainMenuBarExit ->setChecked(true); break; + case ConnectWindow: break; + }; +} + +///////////////////////////////////////////////////////////// + +void MainWindowNew::timerSlot() +{ + // Update status label + if (mStatusInfoTime) + { + mStatusInfoTime--; + if (!mStatusInfoTime) + { +/// mStatusLabel->setStyleSheet(qApp->styleSheet()); + emit sendStatusLabelStyleSheet(qApp->styleSheet()); + } + } + else + { + QString str = mDieBieMS->getConnectedPortName(); +/// if (str != mStatusLabel->text()) + if(str != mStatusLabelText) + { +/// mStatusLabel->setText(mDieBieMS->getConnectedPortName()); + mStatusLabelText = mDieBieMS->getConnectedPortName(); + static QString statusLast = ""; + + if (str != statusLast) + { + mPageDebugPrint->printConsole("Status: " + str + "
    "); + statusLast = str; + } + } + } + + // CAN fwd + //if (ui->actionCanFwd->isChecked() != mDieBieMS->commands()->getSendCan()) { + // ui->actionCanFwd->setChecked(mDieBieMS->commands()->getSendCan()); + //} + + // RT data only every 5 iterations + //if (ui->actionRtData->isChecked()) + { + static int values_cnt = 0; + static int cells_cnt = 0; + + values_cnt++; + if (values_cnt >= 5) { + values_cnt = 0; + mDieBieMS->commands()->getValues(); + } + + cells_cnt++; + if (cells_cnt >= 20) { + cells_cnt = 0; + mDieBieMS->commands()->getCells(); + } + } + + // Send alive command once every 10 iterations + //if (ui->actionSendAlive->isChecked()) + { + static int alive_cnt = 0; + alive_cnt++; + if (alive_cnt >= 10) { + alive_cnt = 0; + mDieBieMS->commands()->sendAlive(); + } + } + + // Read configuration it isn't read since starting VESC Tool + //if (mDieBieMS->isPortConnected()) + { + static int conf_cnt = 0; + conf_cnt++; + if (conf_cnt >= 20) { + conf_cnt = 0; + if (!mMcConfRead) { + mDieBieMS->commands()->getBMSconf(); + } + } + } + + // Disable all data streaming when uploading firmware + //if (mDieBieMS->commands()->getFirmwareUploadProgress() > 0.1) + { +/// ui->actionSendAlive->setChecked(false); +/// ui->actionRtData->setChecked(false); + } + + // Run startup checks + static bool has_run_start_checks = false; + /*//if (!has_run_start_checks) + { + has_run_start_checks = true; + checkUdev(); + Utility::checkVersion(mDieBieMS); + } + */ +} + +void MainWindowNew::showStatusInfo(QString info, bool isGood) +{ + if (isGood) { +/// mStatusLabel->setStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + emit sendStatusLabelStyleSheet("QLabel { background-color : lightgreen; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
    "); + } + else + { +/// mStatusLabel->setStyleSheet("QLabel { background-color : red; color : black; }"); + emit sendStatusLabelStyleSheet("QLabel { background-color : red; color : black; }"); + mPageDebugPrint->printConsole("Status: " + info + "
    "); + } + + mStatusInfoTime = 80; +/// mStatusLabel->setText(info); + mStatusLabelText = info; +} + +void MainWindowNew::showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText) +{ + (void)richText; + + if (isGood) + { + QMessageBox::information(this, title, msg); + } + else + { + QMessageBox::warning(this, title, msg); + } +} + +void MainWindowNew::serialPortNotWritable(const QString &port) +{ + (void)port; +/* +#ifdef Q_OS_LINUX + QMessageBox::StandardButton reply; + reply = QMessageBox::warning(this, tr("Connect Serial Port"), + tr("The serial port is not writable. This can usually be fixed by " + "adding your user to the dialout, uucp and/or lock groups. Would " + "you like to do that?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QString name = qgetenv("USER"); + if (name.isEmpty()) { + name = qgetenv("USERNAME"); + } + + bool hasDialout = !runCmd("getent", + QStringList() << "group" + << "dialout") + .isEmpty(); + bool hasUucp = !runCmd("getent", + QStringList() << "group" + << "uucp") + .isEmpty(); + bool hasLock = !runCmd("getent", + QStringList() << "group" + << "lock") + .isEmpty(); + + QString grps; + if (hasDialout) { + grps += "dialout"; + } + + if (hasUucp) { + if (!grps.isEmpty()) { + grps += ","; + } + grps += "uucp"; + } + + if (hasLock) { + if (!grps.isEmpty()) { + grps += ","; + } + grps += "lock"; + } + + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", + QStringList() << "usermod" + << "-aG" << grps << name); + waitProcess(process); + if (process.exitCode() == 0) { + showMessageDialog(tr("Command Result"), + tr("Result from command:\n\n" + "%1\n" + "You have to reboot for this " + "change to take effect.") + .arg(QString(process.readAllStandardOutput())), + true, false); + } else { + showMessageDialog(tr("Command Result"), tr("Running command failed."), false, false); + } + process.close(); + } +#endif +*/ +} + +void MainWindowNew::bmsconfUpdated() +{ + mMcConfRead = true; + + // Серийный номер * //ui->editSerialNumber + getSerialNumber(ui->lbHeaderSerialNumberValue , mDieBieMS->bmsConfig(), "notUsedCurrentThreshold"); +} + +void MainWindowNew::bmsConfigCheckResult(QStringList paramsNotSet) +{ + if (!paramsNotSet.isEmpty()) { + ParamDialog::showParams(tr("Parameters truncated"), + tr("The following parameters were truncated because they were set outside " + "of their allowed limits."), + mDieBieMS->bmsConfig(), paramsNotSet, this); + } +} + +/* +void MainWindowNew::on_actionReconnect_triggered() +{ + mDieBieMS->reconnectLastPort(); +} + +void MainWindowNew::on_actionDisconnect_triggered() +{ + mDieBieMS->disconnectPort(); +} + +void MainWindowNew::on_actionReboot_triggered() +{ + mDieBieMS->commands()->reboot(); +} + +void MainWindowNew::on_actionReadBMScconf_triggered() +{ + mDieBieMS->commands()->getBMSconf(); +} + +void MainWindowNew::on_actionReadBMScconfDefault_triggered() +{ + mDieBieMS->commands()->getBMSconfDefault(); +} + +void MainWindowNew::on_actionWriteBMScconf_triggered() +{ + mDieBieMS->commands()->setBMSconf(); +} + +void MainWindowNew::on_actionSaveBMSConfXml_triggered() +{ + QString path; + path = QFileDialog::getSaveFileName(this, tr("Choose where to save the motor configuration XML file"), ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + if (!path.toLower().endsWith(".xml")) { + path += ".xml"; + } + + bool res = mDieBieMS->bmsConfig()->saveXml(path, "bmsConfiguration"); + + if (res) { + showStatusInfo("Saved motor configuration", true); + } else { + showMessageDialog(tr("Save motor configuration"), + tr("Could not save motor configuration:
    " + "%1") + .arg(mDieBieMS->bmsConfig()->xmlStatus()), + false, false); + } +} + + +void MainWindowNew::on_actionLoadBMSConfXml_triggered() +{ + QString path; + path = QFileDialog::getOpenFileName(this, tr("Choose motor configuration file to load"), ".", + tr("Xml files (*.xml)")); + + if (path.isNull()) { + return; + } + + bool res = mDieBieMS->bmsConfig()->loadXml(path, "bmsConfiguration"); + + if (res) { + showStatusInfo("Loaded motor configuration", true); + } else { + showMessageDialog(tr("Load motor configuration"), + tr("Could not load motor configuration:
    " + "%1") + .arg(mDieBieMS->bmsConfig()->xmlStatus()), + false, false); + } +} + + +void MainWindowNew::on_actionExit_triggered() +{ + qApp->exit(); +} + +void MainWindowNew::on_actionAbout_triggered() +{ + QMessageBox::about(this, "ENNOID-BMS Tool", Utility::aboutText()); +} + +void MainWindowNew::on_actionLibrariesUsed_triggered() +{ + QMessageBox::about(this, "Libraries Used", + tr("Icons
    " + "https://icons8.com/

    " + "Plotting
    " + "http://qcustomplot.com/")); +} + +void MainWindowNew::addPageItem(QString name, QString icon, QString groupIcon, bool bold, bool indented) +{ + QListWidgetItem *item = new QListWidgetItem(); + ui->pageList->addItem(item); + PageListItem *li = new PageListItem(name, icon, groupIcon, this); + li->setBold(bold); + li->setIndented(indented); + ui->pageList->setItemWidget(item, li); +} + +void MainWindowNew::saveParamFileDialog(QString conf, bool wrapIfdef) +{ + ConfigParams *params = 0; + + if (conf.toLower() == "mcconf") { + params = mDieBieMS->bmsConfig(); + } else { + qWarning() << "Invalid conf" << conf; + return; + } + + QString path; + path = QFileDialog::getSaveFileName(this, tr("Choose where to save the configuration header file"), ".", + tr("h files (*.h)")); + + if (path.isNull()) { + return; + } + + if (path.contains(" ")) { + showMessageDialog(tr("Save header"), tr("Spaces are not allowed in the filename."), false, false); + return; + } + + if (!path.toLower().endsWith(".h")) { + path += ".h"; + } + + bool res = params->saveCDefines(path, wrapIfdef); + + if (res) { + showStatusInfo("Saved C header", true); + } else { + showMessageDialog(tr("Save header"), tr("Could not save header"), false, false); + } +} +*/ + +/* +void MainWindowNew::showPage(const QString &name) +{ + for (int i = 0; i < ui->pageList->count(); i++) { + PageListItem *p = (PageListItem *)(ui->pageList->itemWidget(ui->pageList->item(i))); + if (p->name() == name) { + ui->pageList->setCurrentRow(i); + break; + } + } +} +*/ + +void MainWindowNew::reloadPages() +{ +/* // Remove pages (if any) + ui->pageList->clear(); + while (ui->pageWidget->count() != 0) { + QWidget *widget = ui->pageWidget->widget(0); + ui->pageWidget->removeWidget(widget); + widget->deleteLater(); + } + + mPageWelcome = new PageWelcome(this); + mPageWelcome->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageWelcome); + addPageItem(tr("Welcome"), "://res/icons/Home-96.png", "", true); + + mPageConnection = new PageConnection(this); + mPageConnection->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageConnection); + addPageItem(tr("Connection"), "://res/icons/Connected-96.png", "", true); + + mPageFirmware = new PageFirmware(this); + mPageFirmware->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageFirmware); + addPageItem(tr("Firmware"), "://res/icons/Electronics-96.png", "", true); + + mPageMasterSettings = new PageMasterSettings(this); + mPageMasterSettings->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterSettings); + addPageItem(tr("Master Settings"), "://res/icons/Outgoing Data-96.png", "", true); + + mPageMasterGeneral = new PageMasterGeneral(this); + mPageMasterGeneral->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterGeneral); + addPageItem(tr("General"), "://res/icons/Horizontal Settings Mixer-96.png", "", false, true); + + mPageMasterCell = new PageMasterCell(this); + mPageMasterCell->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterCell); + addPageItem(tr("Cell Management"), "://res/icons/batteries-96.png", "", false, true); + + mPageMasterSwitch = new PageMasterSwitch(this); + mPageMasterSwitch->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterSwitch); + addPageItem(tr("Switch"), "://res/icons/Toggle Off-96_2.png", "", false, true); + + mPageMasterSignals = new PageMasterSignals(this); + mPageMasterSignals->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterSignals); + addPageItem(tr("Signals"), "://res/icons/bldc.png", "", false, true); + + mPageMasterDisplay = new PageMasterDisplay(this); + mPageMasterDisplay->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageMasterDisplay); + addPageItem(tr("Display"), "://res/icons/Calculator-96.png", "", false, true); + + mSlaveSettings = new PageSlaveSettings(this); + mSlaveSettings->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mSlaveSettings); + addPageItem(tr("Slave Settings"), "://res/icons/Outgoing Data-96.png", "", true); + + mPageSlaveGeneral = new PageSlaveGeneral(this); + mPageSlaveGeneral->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveGeneral); + addPageItem(tr("General"), "://res/icons/Horizontal Settings Mixer-96.png", "", false, true); + + mPageSlaveSwitch = new PageSlaveSwitch(this); + mPageSlaveSwitch->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveSwitch); + addPageItem(tr("Switch"), "://res/icons/Toggle Off-96_2.png", "", false, true); + + mPageSlaveIO = new PageSlaveIO(this); + mPageSlaveIO->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveIO); + addPageItem(tr("IO"), "://res/icons/Rs 232 Male-96.png", "", false, true); + + mPageSlaveFANs = new PageSlaveFAN(this); + mPageSlaveFANs->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageSlaveFANs); + addPageItem(tr("FANs"), "://res/icons/fan-96.png", "", false, true); + + mPageDataAnalysis = new PageDataAnalysis(this); + mPageDataAnalysis->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageDataAnalysis); + addPageItem(tr("Data Analysis"), "://res/icons/Line Chart-96.png", "", true); + + mPageRtData = new PageRtData(this); + mPageRtData->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageRtData); + addPageItem(tr("Realtime Data"), "://res/icons/rt_off.png", "", false, true); + + mPageTerminal = new PageTerminal(this); + mPageTerminal->setDieBieMS(mDieBieMS); + ui->pageWidget->addWidget(mPageTerminal); + addPageItem(tr("Terminal"), "://res/icons/Console-96.png", "", true); + + mPageDebugPrint = new PageDebugPrint(this); + ui->pageWidget->addWidget(mPageDebugPrint); + addPageItem(tr("Debug Console"), "://res/icons/Bug-96.png", "", true); + + mPageSettings = new PageSettings(this); + ui->pageWidget->addWidget(mPageSettings); + addPageItem(tr("Tool Settings"), "://res/icons/Settings-96.png", "", true); + + // Adjust sizes + QFontMetrics fm(this->font()); + int width = fm.width("Welcome & Wizards++++++"); + int height = fm.height(); + + for (int i = 0; i < ui->pageList->count(); i++) { + QListWidgetItem *item = ui->pageList->item(i); + item->setSizeHint(QSize(item->sizeHint().width(), height)); + } + + ui->pageList->setMinimumWidth(width); + ui->pageList->setMaximumWidth(width); + ui->pageLabel->setMaximumWidth(width); + ui->pageLabel->setMaximumHeight((394 * width) / 1549); + + ui->pageList->setCurrentRow(0); + ui->pageWidget->setCurrentIndex(0); +*/ + + +//} +//void MainWindowNew::initDieBieMs() +//{ + // mVersion = QString::number(DT_VERSION); + mDieBieMS = new BMSInterface(this); + + //void portConnectedChanged(); + //void autoConnectProgressUpdated(double progress, bool isOngoing); + //void autoConnectFinished(); + + ui->tabConnect->initDieBieMS(mDieBieMS); + //ui->tabConnect->setDieBieMS(mDieBieMS); + ui->tabAkbMonitor->setDieBieMS(mDieBieMS); + ui->tabCellsMonitor->setDieBieMS(mDieBieMS); + ui->tabConfiguration->setDieBieMS(mDieBieMS); + ui->tabVisualization->setDieBieMS(mDieBieMS); + ui->tabHistory->setDieBieMS(mDieBieMS); + ui->tabSeriveOfBms->setDieBieMS(mDieBieMS); + //ui->tabSettingsExtra->setDieBieMS(mDieBieMS); + + mPageDebugPrint = ui->tabHistory; + ui->tabConnect->setDebugPrintPage(mPageDebugPrint); + ui->tabConfiguration->setDebugPrintPage(mPageDebugPrint); + + // init everything for Real time watching and updating info + mStatusInfoTime = 0; +/// ui->mStatusLabel->clear(); // = new QLabel(this); +/// ui->statusBar->addPermanentWidget(mStatusLabel); + mStatusLabelText.clear(); + + mMcConfRead = false; + + + mTimer = new QTimer(this); + connect(mTimer, &QTimer::timeout, this, &MainWindowNew::timerSlot); + mTimer->start(20); + // init everything for Real time watching and updating info + + connect(ui->tabSettingsExtra, &SettingsExtraPage::connected, this, [=]() { + const QString greenStyle = "color: lime; \ + background-color: lime; \ + border-color: lime; \ + border-width: 0px; \ + border-style: solid; \ + border-radius: 10px;"; + + ui->lbHeaderConnectionIndicator->setStyleSheet(greenStyle); + } ); + + connect(ui->tabSettingsExtra, &SettingsExtraPage::disconnected, this, [=]() { + const QString redStyle = "color: red; \ + background-color: red; \ + border-color: red; \ + border-width: 0px; \ + border-style: solid; \ + border-radius: 10px;"; + + ui->lbHeaderConnectionIndicator->setStyleSheet(redStyle); + } ); + + //connect(this, &MainWindowNew::loadParams, ui->tabConfiguration, &ConfigurationPage::loadParams); +} + + +void MainWindowNew::checkUdev() +{ + // Check if udev rules for modemmanager are installed + /*#ifdef Q_OS_LINUX + QFileInfo fi_mm("/lib/udev/rules.d/77-mm-usb-device-blacklist.rules"); + if (fi_mm.exists()) { + QFileInfo fi_bms("/lib/udev/rules.d/45-vesc.rules"); + if (!fi_vesc.exists()) { + QMessageBox::StandardButton reply; + reply = QMessageBox::information(this, + tr("Modemmenager"), + tr("It looks like modemmanager is installed on your system, and that " + "there are no VESC udev rules installed. This will cause a delay " + "from when you plug in the VESC until you can use it. Would you like + " "to add a udev rule to prevent modemmanager from grabbing the VESC?"), QMessageBox::Yes | QMessageBox::No, + QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QFile f_bms(QDir::temp().absoluteFilePath(fi_vesc.fileName())); + if (!f_vesc.open(QIODevice::WriteOnly | QIODevice::Text)) { + showMessageDialog(tr("Create File Error"), + f_vesc.errorString(), + false, false); + return; + } + + f_vesc.write("# Prevent modemmanager from grabbing the VESC\n" + "ATTRS{idVendor}==\"0483\", ATTRS{idProduct}==\"5740\", + ENV{ID_MM_DEVICE_IGNORE}=\"1\"\n"); f_vesc.close(); + + QFileInfo fi_new(f_vesc); + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << + "mv" << + fi_new.absoluteFilePath() << + fi_vesc.absolutePath()); + waitProcess(process); + + if (process.exitCode() == 0) { + QMessageBox::StandardButton reply; + reply = QMessageBox::information(this, + tr("Modemmenager"), + tr("The udev rule was created successfully. Would you like " + "to reload udev to apply the new rule?"), + QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); + + if (reply == QMessageBox::Yes) { + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start("pkexec", QStringList() << + "udevadm" << + "control" << + "--reload-rules"); + waitProcess(process); + + if (process.exitCode() == 0) { + showMessageDialog(tr("Command Result"), + tr("Reloaded udev rules sucessfully."), + true, false); + } else { + QString out = process.readAll(); + + if (out.isEmpty()) { + showMessageDialog(tr("Command Result"), + tr("Could not reload udev rules. A reboot is probably " + "required for this change to take effect."), + false, false); + } + } + process.close(); + } + } else { + showMessageDialog(tr("Command Result"), + tr("Could not move rules file:\n\n" + "%1"). + arg(QString(process.readAllStandardOutput())), + false, false); + } + process.close(); + } + } + } + #endif*/ +} + + +/* + +bool MainWindowNew::waitProcess(QProcess &process, bool block, int timeoutMs) +{ + bool wasEnables = isEnabled(); + bool killed = false; + + if (block) { + setEnabled(false); + } + + process.waitForStarted(); + + QEventLoop loop; + QTimer timeoutTimer; + timeoutTimer.setSingleShot(true); + timeoutTimer.start(timeoutMs); + connect(&process, SIGNAL(finished(int)), &loop, SLOT(quit())); + connect(&timeoutTimer, SIGNAL(timeout()), &loop, SLOT(quit())); + loop.exec(); + + if (process.state() == QProcess::Running) { + process.kill(); + process.waitForFinished(); + killed = true; + } + + setEnabled(wasEnables); + + return !killed; +} + +QString MainWindowNew::runCmd(QString cmd, QStringList args) +{ + QProcess process; + process.setEnvironment(QProcess::systemEnvironment()); + process.start(cmd, args); + waitProcess(process); + QString res = process.readAllStandardOutput(); + process.close(); + return res; +} + +void MainWindowNew::on_pageList_currentRowChanged(int currentRow) +{ + if (currentRow >= 0) { + ui->pageWidget->setCurrentIndex(currentRow); + } +} + +void MainWindowNew::on_actionParameterEditorBMScconf_triggered() +{ + ParameterEditor *p = new ParameterEditor(this); + p->setAttribute(Qt::WA_DeleteOnClose); + p->setParams(mDieBieMS->bmsConfig()); + p->show(); +} + +void MainWindowNew::on_actionParameterEditorInfo_triggered() +{ + ParameterEditor *p = new ParameterEditor(this); + p->setAttribute(Qt::WA_DeleteOnClose); + p->setParams(mDieBieMS->infoConfig()); + p->show(); +} + +void MainWindowNew::on_actionSaveBMSConfigurationHeader_triggered() +{ + saveParamFileDialog("mcconf", false); +} + +void MainWindowNew::on_actionSaveBMSConfigurationHeaderWrap_triggered() +{ + saveParamFileDialog("mcconf", true); +} + +void MainWindowNew::on_actionTerminalPrintFaults_triggered() +{ + mDieBieMS->commands()->sendTerminalCmd("faults"); + showPage("DieBieMS Terminal"); +} + +void MainWindowNew::on_actionTerminalShowHelp_triggered() +{ + mDieBieMS->commands()->sendTerminalCmd("help"); + showPage("DieBieMS Terminal"); +} + +void MainWindowNew::on_actionTerminalClear_triggered() +{ + mPageTerminal->clearTerminal(); + showPage("DieBieMS Terminal"); +} + +void MainWindowNew::on_actionTerminalPrintThreads_triggered() +{ + mDieBieMS->commands()->sendTerminalCmd("threads"); + showPage("DieBieMS Terminal"); +} + +void MainWindowNew::on_actionCanFwd_toggled(bool arg1) +{ + mDieBieMS->commands()->setSendCan(arg1); +} + +void MainWindowNew::on_actionSafetyInformation_triggered() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "wizard_startup_usage"); +} + +void MainWindowNew::on_actionWarrantyStatement_triggered() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "wizard_startup_warranty"); +} + +void MainWindowNew::on_actionDieBieMSToolChangelog_triggered() +{ + HelpDialog::showHelp(this, "ENNOID-BMS Tool Changelog", Utility::vescToolChangeLog()); +} + +void MainWindowNew::on_actionFirmwareChangelog_triggered() +{ + HelpDialog::showHelp(this, "Firmware Changelog", Utility::fwChangeLog()); +} + +void MainWindowNew::on_actionLicense_triggered() +{ + HelpDialog::showHelp(this, mDieBieMS->infoConfig(), "gpl_text"); +} + +void MainWindowNew::on_actionStoreBMScconf_triggered() +{ + mDieBieMS->commands()->storeBMSConfig(); +} +*/ + + + + + + diff --git a/mainwindownew.h b/mainwindownew.h new file mode 100644 index 0000000..981c3b9 --- /dev/null +++ b/mainwindownew.h @@ -0,0 +1,209 @@ +#ifndef MAINWINDOWNEW_H +#define MAINWINDOWNEW_H + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "bmsinterface.h" +#include "ui_mainwindow.h" +#include "parametereditor.h" +#include "utility.h" + +#include "utility.h" +#include "customlefttabbarbutton.h" +#include "connectandenterpage.h" +#include "debugprintpage.h" + +// RELEASE_VERSION = true => fixed window size and no window header pannel with |hide|expand|close buttons +#define RELEASE_VERSION true + +/* + start 0 12 = Default that is not in bms it's in somekind of real offline file (we do NOT have connection to bms but there parameters show up somehow) +connect 8 8 Config updated with default params not from file, but from default params of bms + bms edit | bms edit +^ - 8 7 | 8 8 read bms conf +-> - 7 7 | 7 8 read default 8 is defaul - that was on the start +v - 8 7 | 7 7 write bms config +S - | save currect config from bms into outside file to the flash card + before | after +*/ + +namespace Ui { +class MainWindowNew; +} + +class MainWindowNew : public QMainWindow +{ + Q_OBJECT +public: + explicit MainWindowNew(QWidget *parent = nullptr); + ~MainWindowNew(); +private: + Ui::MainWindowNew *ui; + +////////////////////////////////////// + +public: + enum TabWidgetPage + { + ConnectWindow = 0, + AkbMonitor, + CellsMonitor, + Configuration, + Visualization, + History, + SeriveOfBms, + SettingsExtra, + }; + + TabWidgetPage m_currentPageIndex = AkbMonitor; + TabWidgetPage m_prevPageIndex = AkbMonitor; + + bool isConnectWindowActivated() const; + + + void initAnimationForLeftTabsBar(); + + void setAnimParams(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, int from, int to); + void setAnimParamsMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, CustomLeftTabBarButton *btn); + void setAnimParamsMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, CustomLeftTabBarButton *btn); + void setAnimParamsMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *btn); + void setAnimParamsMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *btn); + void setAnimLogoMin(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *btn); + void setAnimLogoMax(QParallelAnimationGroup *group, QPropertyAnimation *a, int sec, QLabel *btn); + int m_logoWay; + + void clearBtnText(CustomLeftTabBarButton *btn); + void clearAllBtnsText(); + void restoreBtnText(CustomLeftTabBarButton *btn); + void restoreAllBtnsText(); + + bool m_minimize; + QParallelAnimationGroup *m_animgroupMin; + QParallelAnimationGroup *m_animgroupMax; + + +signals: + void sendStatusLabelStyleSheet(QString s); + + void sigShowConnectWindow(); + void loadParams(); + +private slots: + void onAnyLeftTabBarButtonClicked(); + + void timerSlot(); + void showStatusInfo(QString info, bool isGood); + void showMessageDialog(const QString &title, const QString &msg, bool isGood, bool richText); + void serialPortNotWritable(const QString &port); + void bmsconfUpdated(); + void bmsConfigCheckResult(QStringList paramsNotSet); + + + ///void bmsconfUpdated(); + ///void showStatusInfo(QString info, bool isGood); + ///void onTimerSlot(); + + void onShrink(); + //void onMainMenuBarButtonClicked(); + //void onHideThisAndShowConnectWindow(); + //void onShowConnectWindow(); + + void onShowConnectWindow(); + void onHideConnectWindow(); + +private: + const int mWidth = 1366; + const int mHeight = 738; + + const int mWidthConnectPage = 637; + const int mHeightConnectPage = 433; + + void moveApplicationToTheCenter(); + + void setAppSizeForFullView(); + void setAppSizeForConnectionPage(); + + QSettings mSettings; + QString mVersion; + QString mStatusLabelText; + //QLabel *mStatusLabel; + bool mKeyLeft; + bool mKeyRight; + QTimer *mTimer; + int mStatusInfoTime; + bool mMcConfRead; + + BMSInterface *mDieBieMS; // Business logic class + + DebugPrintPage *mPageDebugPrint; + + // UI + QButtonGroup* m_btnGroupMainMenuBar; + + //ConnectAndEnterPage mConnect; + bool mIsConnectionPrepared; + QString mComPortToConnect; + + void setAllMainMenuBarButtonsVisible(bool val); + void setLeftTopWidgetsVisible(bool value); + void unselectAllLeftTabBarButtons(); + void selectCurrentLeftTabBarButton(); + + void onSelectCurrentLeftTabBarButton(); + + void reloadPages(); + void initDieBieMs(); + bool addParamRow(ConfigParams *params, QString paramName); + + void checkUdev(); + + // + void showWindowInOneStaticPlaceWithoutHideResizeCloseButtons(); + + /// + /// To make Window move on MOUSE CLICK MOVE + /// + protected: + void mousePressEvent(QMouseEvent *evt) + { + oldPos = evt->globalPos(); + } + + void mouseMoveEvent(QMouseEvent *evt) + { + const QPoint delta = evt->globalPos() - oldPos; + move(x()+delta.x(), y()+delta.y()); + oldPos = evt->globalPos(); + } + + private: + QPoint oldPos; + /// + /// To make Window move on MOUSE CLICK MOVE + /// +}; + + +#endif // MAINWINDOWNEW_H diff --git a/mainwindownew.ui b/mainwindownew.ui new file mode 100644 index 0000000..8afd13a --- /dev/null +++ b/mainwindownew.ui @@ -0,0 +1,930 @@ + + + MainWindowNew + + + + 0 + 0 + 1366 + 738 + + + + MainWindowNew + + + QMainWindow#MainWindowNew +{ + background-color: #f7f8fc +} + +#tabAkbMonitor, +#tabCellsMonitor, +#tabConfiguration, +#tabVisualization, +#tabHistory, +#tabSeriveOfBms, +#tabSettingsExtra +{ + background-color: #f7f8fc; /*ConfigurationPage*/ +} + + +/* +QWidget#centralwidget +{ + background-color: red; +} +*/ + +/* +QScrollArea#scrollArea_2 +{ + background-color: #f7f8fc +} +*/ + +QLabel#lbIconLogo +{ + /*background-image: url(:/images/cubo-verde-logo.png);*/ + border-image: url(:/res/cubo-verde-logo-white.png) 0 0 0 0 stretch stretch; +} + +QLabel#lbHeaderLanguageIcon +{ + /*background-image: url(:/images/cubo-verde-logo.png);*/ + border-image: url(:/res/language-russ.png) 0 0 0 0 stretch stretch; +} + +QLabel#mStatusLabel +{ + font-size:11px; +} + + +QPushButton#pbMainMenuBarHideMenu, +#pbMainMenuBarAkbMonitor, +#pbMainMenuBarCellsMonitor, +#pbMainMenuBarConfiguration, +#pbMainMenuBarVisualization, +#pbMainMenuBarHistory, +#pbMainMenuBarSeriveOfBms, +#pbMainMenuBarSettingsExtra, +#pbMainMenuBarExit +{ + color: #FFFFFF; + background-color: #009352; + border: 0px solid black; + background:#009352; + text-align: left; + padding-left: 85px; + font-size:17px; +} +QPushButton#pbMainMenuBarHideMenu +{ + font-size:15px; +} + +/*QPushButton:pressed { + background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:0, y2:1, stop:0 rgba(60, 186, 162, 255), stop:1 rgba(98, 211, 162, 255)) +} +*/ + +QPushButton#pbMainMenuBarAkbMonitor:hover:checked, +#pbMainMenuBarCellsMonitor:hover:checked, +#pbMainMenuBarConfiguration:hover:checked, +#pbMainMenuBarVisualization:hover:checked, +#pbMainMenuBarHistory:hover:checked, +#pbMainMenuBarSeriveOfBms:hover:checked, +#pbMainMenuBarSettingsExtra:hover:checked +{ + background-color: #01673a; +} + +QPushButton#pbMainMenuBarAkbMonitor:!hover:checked, +#pbMainMenuBarAkbMonitor:!hover:checked, +#pbMainMenuBarCellsMonitor:!hover:checked, +#pbMainMenuBarConfiguration:!hover:checked, +#pbMainMenuBarVisualization:!hover:checked, +#pbMainMenuBarHistory:!hover:checked, +#pbMainMenuBarSeriveOfBms:!hover:checked, +#pbMainMenuBarSettingsExtra:!hover:checked +{ + background-color: #01673a; +} + +QPushButton#pbMainMenuBarHideMenu:hover:!checked, +#pbMainMenuBarAkbMonitor:hover:!checked, +#pbMainMenuBarCellsMonitor:hover:!checked, +#pbMainMenuBarConfiguration:hover:!checked, +#pbMainMenuBarVisualization:hover:!checked, +#pbMainMenuBarHistory:hover:!checked, +#pbMainMenuBarSeriveOfBms:hover:!checked, +#pbMainMenuBarSettingsExtra:hover:!checked, +#pbMainMenuBarExit:hover:!checked +{ + /*background-color: #009352;*/ + background-color: #028249; +} + + +/*QPushButton#pbMainMenuBarExit:hover:!pressed +{ + background-color: #01673a; +}*/ +QPushButton#pbMainMenuBarHideMenu:hover:pressed, +QPushButton#pbMainMenuBarExit:hover:pressed +{ + background-color: #01673a; +} + +/*------------------*/ + +QPushButton#pbConnect, +#pbWriteToNonVolatileBmsMemory, +#pbLoadCurrentSettingsFromBms, +#pbLoadSettingsFromFile, +QPushButton#pbConnect:hover:pressed, +#pbWriteToNonVolatileBmsMemory:hover:pressed, +#pbLoadCurrentSettingsFromBms:hover:pressed, +#pbLoadSettingsFromFile:hover:pressed +{ + color:black; + background-color:white; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbConnect:hover:!pressed, +#pbWriteToNonVolatileBmsMemory:hover:!pressed, +#pbLoadCurrentSettingsFromBms:hover:!pressed, +#pbLoadSettingsFromFile:hover:!pressed +{ + background-color: #0FF73a; +} + + +QPushButton#pbWriteCurrentValuesToBms, +QPushButton#pbWriteCurrentValuesToBms:hover:pressed +{ + background-color:#009352; + color:white; + font-weight:bold; + font-size: 14px; + border-color: #009352; + border-style: solid; + border-width: 1px; + border-radius: 6px; +} + +QPushButton#pbWriteCurrentValuesToBms:hover:!pressed +{ + background-color: #01673a; +} + + +QPushButton#pbLinkSerialNumber, +#pbLinkSoc, +#pbLinkRestrictions, +#pbLinkClaibrateZero, +#pbLinkCellsConfiguration, +#pbLinkOutputsSetting, +#pbLinkBalancingConfiguration, +#pbLinkConfiguration +{ + color:#009352; + text-decoration: none; + background: transparent; + border-color:transparent; + text-align:left; + border-radius: 1px; +} + +QPushButton#pbLinkSerialNumber:hover:!pressed, +#pbLinkSoc:hover:!pressed, +#pbLinkRestrictions:hover:!pressed, +#pbLinkClaibrateZero:hover:!pressed, +#pbLinkCellsConfiguration:hover:!pressed, +#pbLinkOutputsSetting:hover:!pressed, +#pbLinkBalancingConfiguration:hover:!pressed, +#pbLinkConfiguration:hover:!pressed +{ + text-decoration: underline; +} + +QPushButton#pbLinkSerialNumber:hover:pressed, +#pbLinkSoc:hover:pressed, +#pbLinkRestrictions:hover:pressed, +#pbLinkClaibrateZero:hover:pressed, +#pbLinkCellsConfiguration:hover:pressed, +#pbLinkOutputsSetting:hover:pressed, +#pbLinkBalancingConfiguration:hover:pressed, +#pbLinkConfiguration:hover:pressed +{ + color:#0093FF; +} + + +/*------------------*/ +/* +QGroupBox#gbSerialNumber, +#gbConfiguration, +#gbSoc +{ + border-radius:10px; + border-color: grey; + border-style: solid; + border-width: 1px; +} +*/ +/*-----------------------*/ + +QScrollBar { + border-radius: 10px; + background: #e8e9f1; +} + +QScrollBar::vertical { + width: 10px; + margin: 0px 0px 0px 0px; +} + +/*-----------------------------------*/ +QScrollBar::sub-page:horizontal { + background: #e8e9f1; + border-top-left-radius: 9px; + border-bottom-left-radius: 9px; +} +QScrollBar::add-page:horizontal { + background: #e8e9f1; + border-top-right-radius: 9px; + border-bottom-right-radius: 9px; +} + +QScrollBar::sub-page:vertical { + background: #e8e9f1; + border-top-left-radius: 9px; + border-top-right-radius: 9px; +} +QScrollBar::add-page:vertical { + background: #e8e9f1; + border-bottom-left-radius: 9px; + border-bottom-right-radius: 9px; +} + +/*-----------------------------------*/ +QScrollBar::up-arrow, +QScrollBar::sub-line, +QScrollBar::add-line { + width: 0px; + height: 0px; +} + +QScrollBar::handle { + background: #009352; + border-radius: 5px; +} + +/*---------------------*/ + + +/* border: 1px solid black;*/ +QTabWidget +{ + background: red; +} + +QTabBar::tab +{ + height: 0px; + background: #f7f8fc; +} +QTabWidget::pane +{ + background: #f7f8fc; +} + +/* +QTabWidget +{ + background: #f7f8fc; +} + + +QTabWidget::tab-bar +{ + background: #f7f8fc; +} + + QTabBar::tab + { + height: 0px; + background: #f7f8fc; + } + +QTabBar::tab +{ + background: #48555E; + color: white; + border-color: #48555E; +} +*/ + + + + + + + + + + 0 + 270 + 281 + 51 + + + + Монитор АКБ + + + true + + + false + + + + + + 0 + 620 + 281 + 51 + + + + Выход + + + + + + 0 + 170 + 281 + 51 + + + + СКРЫТЬ МЕНЮ + + + + + + 0 + 420 + 281 + 51 + + + + Визуализация + + + true + + + + + + 0 + 520 + 281 + 51 + + + + Сервис BMS + + + true + + + + + + 0 + -10 + 281 + 753 + + + + + 14 + 50 + false + + + + color: rgb(255, 255, 255); +background-color:#009352; + + + + + + + Qt::AlignCenter + + + + + + 0 + 470 + 281 + 51 + + + + История + + + true + + + + + + 80 + 40 + 111 + 111 + + + + Qt::NoContextMenu + + + QFrame::NoFrame + + + + + + Qt::AlignCenter + + + + + + 0 + 320 + 281 + 51 + + + + Монитор ячеек + + + true + + + + + + 0 + 370 + 281 + 51 + + + + Конфигурация + + + true + + + false + + + + + + 280 + -10 + 1084 + 751 + + + + + + + 0 + + + + + + + Страница + + + + + + + + Tab 1 + + + + + Tab 2 + + + + + Страница + + + + + Страница + + + + + Страница + + + + + Страница + + + + + Страница + + + + + + + 1130 + 50 + 121 + 21 + + + + + Segoe WP SemiLight + 12 + 75 + true + + + + color:black; +font-weight:bold; + + + 0 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 990 + 20 + 131 + 21 + + + + + Segoe WP SemiLight + 12 + 50 + false + + + + color:rgba(54, 70, 84, 0.6); + + + Подключено + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 990 + 50 + 131 + 21 + + + + + Segoe WP SemiLight + 9 + 50 + false + + + + color:rgba(54, 70, 84, 0.6); + + + Серийный номер: + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + + + + 1250 + 10 + 16 + 61 + + + + + Segoe WP SemiLight + 38 + 50 + false + + + + color: rgba(54, 70, 84, 0.4); + + + | + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 1320 + 35 + 31 + 21 + + + + + Segoe WP SemiLight + 12 + 75 + true + + + + color:#0A72BA; +font-weight:bold; + + + + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 1270 + 20 + 41 + 51 + + + + + Segoe WP SemiLight + 12 + 75 + true + + + + color:#0A72BA; +font-weight:bold; + + + РУС + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 1160 + 20 + 91 + 21 + + + + + Segoe WP SemiLight + 12 + 50 + false + + + + color:rgba(54, 70, 84, 0.6); + + + BMS v.2.1 + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + 1130 + 20 + 21 + 21 + + + + + Segoe WP SemiLight + 12 + 50 + false + + + + color: #009352; + background-color: #009352; + border-color:#009352; + border-width: 0px; + border-style: solid; + /* border-radius MUST BE width/2 and height/2 */ + border-radius: 10px; + + + + O + + + Qt::AlignCenter + + + + + + 6 + 672 + 271 + 61 + + + + TEXT IN STATUS LABEL + + + Qt::AutoText + + + true + + + Qt::AlignCenter + + + true + + + + + + 0 + 570 + 281 + 51 + + + + Прочие настройки + + + true + + + labLeftTabListBackground + pbMainMenuBarCellsMonitor + pbMainMenuBarExit + pbMainMenuBarSeriveOfBms + lbIconLogo + pbMainMenuBarVisualization + pbMainMenuBarHideMenu + pbMainMenuBarConfiguration + pbMainMenuBarHistory + pbMainMenuBarAkbMonitor + mStatusLabel + pbMainMenuBarSettingsExtra + tabWidgetPagesContent + lbHeaderLanguageIcon + labHeaderSeparator + lbHeaderConnectionIndicator + lbHeaderSerialNumberValue + lbHeaderSerialNumberName + lbHeaderLanguageName + lbHeaderBmsVersion + lbHeaderConnectionName + + + + + CustomLeftTabBarButton + QPushButton +