pymodaq_gui 5.3.2__tar.gz → 5.3.7__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/PKG-INFO +2 -2
  2. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/pyproject.toml +1 -1
  3. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/custom_viewer.py +6 -6
  4. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/data_picker.py +2 -2
  5. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/function_plotter.py +1 -1
  6. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/settings/subentries.py +0 -3
  7. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/settings/utils.py +14 -6
  8. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/pixmap.py +1 -1
  9. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewer1Dbasic.py +1 -1
  10. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/plotter/plotters/qt_plotters.py +2 -2
  11. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/utils/filter.py +1 -1
  12. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/app_worker.py +21 -10
  13. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/custom_app.py +10 -3
  14. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/table.py +71 -0
  15. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/.gitignore +0 -0
  16. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/LICENSE +0 -0
  17. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/README.rst +0 -0
  18. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/__init__.py +0 -0
  19. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/config.py +0 -0
  20. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/config_saver_loader.py +0 -0
  21. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/editor/__init__.py +0 -0
  22. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/editor/monaco.py +0 -0
  23. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/__init__.py +0 -0
  24. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/action_checked_icons.py +0 -0
  25. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/action_manager_example.py +0 -0
  26. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/curves.py +0 -0
  27. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/icons.py +0 -0
  28. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/listwidget.py +0 -0
  29. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/material_icon_ex.py +0 -0
  30. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/menu_button.py +0 -0
  31. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/parameter_ex.py +0 -0
  32. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/pattern_completer_demo.py +0 -0
  33. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/saving_loading.py +0 -0
  34. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/shared_ui.py +0 -0
  35. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/sticky_menu_demo.py +0 -0
  36. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/theming_demo.py +0 -0
  37. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/view2D_parts.py +0 -0
  38. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/widget_sync/1_basic_sync_example.py +0 -0
  39. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/widget_sync/2_dict_sync_example.py +0 -0
  40. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/widget_sync/3_advanced_sync_example.py +0 -0
  41. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/widget_sync/4_dynamic_widgets_example.py +0 -0
  42. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/widget_sync/5_extending_sync_example.py +0 -0
  43. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/examples/widget_sync/6_parameter_binding_example.py +0 -0
  44. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/h5modules/__init__.py +0 -0
  45. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/h5modules/browsing.py +0 -0
  46. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/h5modules/h5browser.py +0 -0
  47. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/h5modules/saving.py +0 -0
  48. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/h5modules/utils.py +0 -0
  49. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/__init__.py +0 -0
  50. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/action_manager.py +0 -0
  51. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/config_manager.py +0 -0
  52. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/h5manager.py +0 -0
  53. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/manager_base.py +0 -0
  54. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/parameter_manager.py +0 -0
  55. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/roi_viewer_manager.py +0 -0
  56. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/runner_thread_manager.py +0 -0
  57. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/settings/__init__.py +0 -0
  58. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/managers/settings/settings_manager.py +0 -0
  59. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/messenger.py +0 -0
  60. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/__init__.py +0 -0
  61. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/ioxml.py +0 -0
  62. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/__init__.py +0 -0
  63. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/action_led.py +0 -0
  64. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/bool.py +0 -0
  65. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/date.py +0 -0
  66. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/filedir.py +0 -0
  67. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/group.py +0 -0
  68. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/itemselect.py +0 -0
  69. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/led.py +0 -0
  70. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/list.py +0 -0
  71. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/numeric.py +0 -0
  72. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/slide.py +0 -0
  73. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/table.py +0 -0
  74. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/tableview.py +0 -0
  75. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/text.py +0 -0
  76. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/pymodaq_ptypes/text_pattern.py +0 -0
  77. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/parameter/utils.py +0 -0
  78. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/__init__.py +0 -0
  79. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/__init__.py +0 -0
  80. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/base.py +0 -0
  81. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewer.py +0 -0
  82. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewer0D.py +0 -0
  83. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewer1D.py +0 -0
  84. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewer2D.py +0 -0
  85. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewer2D_basic.py +0 -0
  86. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/data_viewers/viewerND.py +0 -0
  87. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/image_viewer.py +0 -0
  88. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/items/__init__.py +0 -0
  89. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/items/axis_scaled.py +0 -0
  90. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/items/crosshair.py +0 -0
  91. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/items/image.py +0 -0
  92. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/items/roi.py +0 -0
  93. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/items/roi_sync.py +0 -0
  94. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/navigator.py +0 -0
  95. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/plotter/__init__.py +0 -0
  96. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/plotter/plotters/__init__.py +0 -0
  97. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/utils/__init__.py +0 -0
  98. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/utils/axes_viewer.py +0 -0
  99. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/utils/lineout.py +0 -0
  100. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/utils/plot_utils.py +0 -0
  101. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/plotting/widgets.py +0 -0
  102. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/qt_utils.py +0 -0
  103. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/qvariant.py +0 -0
  104. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/__init__.py +0 -0
  105. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/check_icons_dev.py +0 -0
  106. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/config_template.toml +0 -0
  107. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/credit.rst +0 -0
  108. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/arrow/right.png +0 -0
  109. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/checked.png +0 -0
  110. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/checked_disabled.png +0 -0
  111. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/checked_focus.png +0 -0
  112. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/checked_pressed.png +0 -0
  113. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/indeterminate.png +0 -0
  114. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/indeterminate_disabled.png +0 -0
  115. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/indeterminate_focus.png +0 -0
  116. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/indeterminate_pressed.png +0 -0
  117. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/unchecked.png +0 -0
  118. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/unchecked_disabled.png +0 -0
  119. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/unchecked_focus.png +0 -0
  120. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/custom/checkbox/unchecked_pressed.png +0 -0
  121. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/1d.png +0 -0
  122. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/2d.png +0 -0
  123. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/3d.png +0 -0
  124. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Add2.png +0 -0
  125. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Add_Step.png +0 -0
  126. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Approve.png +0 -0
  127. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Approve_All.png +0 -0
  128. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Browse_Dir_Path.png +0 -0
  129. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Calculator.png +0 -0
  130. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ChnGroup.png +0 -0
  131. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ChnNum.png +0 -0
  132. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ChnText.png +0 -0
  133. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ChnTime.png +0 -0
  134. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ChnWave.png +0 -0
  135. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Close3.png +0 -0
  136. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/CollapseAll.png +0 -0
  137. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/CollapseAll_32.png +0 -0
  138. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ColorPicker.png +0 -0
  139. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Contract.png +0 -0
  140. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Create.png +0 -0
  141. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/DeleteLayer.png +0 -0
  142. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/EditOpen.png +0 -0
  143. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/EditRedo.png +0 -0
  144. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/EditUndo.png +0 -0
  145. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Ellipse.png +0 -0
  146. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/EllipseFilled.png +0 -0
  147. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Error.png +0 -0
  148. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ErrorMessage.png +0 -0
  149. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Error_16.png +0 -0
  150. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Exit.png +0 -0
  151. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Expand.png +0 -0
  152. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ExpandAll.png +0 -0
  153. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ExpandAll_32.png +0 -0
  154. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/FFT.png +0 -0
  155. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/HLM.ico +0 -0
  156. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Help.png +0 -0
  157. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Help_32.png +0 -0
  158. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Histogram.png +0 -0
  159. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/LUT_LookUpTable.png +0 -0
  160. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/MagnifyingGlass.png +0 -0
  161. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/MagnifyingGlass_24.png +0 -0
  162. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Marker.png +0 -0
  163. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Math.png +0 -0
  164. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/MeasurementStudio_32.png +0 -0
  165. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Move.png +0 -0
  166. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/MoveDown.png +0 -0
  167. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/MoveUp.png +0 -0
  168. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Multiply.png +0 -0
  169. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/NewFile.png +0 -0
  170. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/NewLayer.png +0 -0
  171. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/New_File.png +0 -0
  172. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/New_Folder.png +0 -0
  173. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Open.png +0 -0
  174. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Open_1D.png +0 -0
  175. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Open_2D.png +0 -0
  176. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Open_File.png +0 -0
  177. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Open_File_32.png +0 -0
  178. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Open_sim.png +0 -0
  179. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Options.png +0 -0
  180. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Oscilloscope.png +0 -0
  181. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Oscilloscope_16.png +0 -0
  182. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Pass.png +0 -0
  183. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/RGB.png +0 -0
  184. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Rectangle.png +0 -0
  185. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/RectangleFilled.png +0 -0
  186. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Redo.png +0 -0
  187. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Refresh.png +0 -0
  188. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Refresh2.png +0 -0
  189. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Refresh_32.png +0 -0
  190. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Region.png +0 -0
  191. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Rendezvous.png +0 -0
  192. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/SELECT.png +0 -0
  193. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Save.png +0 -0
  194. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/SaveAll.png +0 -0
  195. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/SaveAll_32.png +0 -0
  196. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/SaveAs.png +0 -0
  197. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/SaveAs_32.png +0 -0
  198. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Save_24.png +0 -0
  199. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Save_32.png +0 -0
  200. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Search.png +0 -0
  201. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/SelectPolygon.png +0 -0
  202. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Select_24.png +0 -0
  203. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Settings.png +0 -0
  204. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Snap&Save.png +0 -0
  205. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Snapshot.png +0 -0
  206. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Snapshot2.png +0 -0
  207. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Snapshot2_16.png +0 -0
  208. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Snapshot2_32.png +0 -0
  209. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Spreadsheet.png +0 -0
  210. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Statistics.png +0 -0
  211. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Statistics2.png +0 -0
  212. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Status.png +0 -0
  213. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Subtract.png +0 -0
  214. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Vision.png +0 -0
  215. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Volts.png +0 -0
  216. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Wait2.png +0 -0
  217. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Zoom_1_1.png +0 -0
  218. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Zoom_in.png +0 -0
  219. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Zoom_out.png +0 -0
  220. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/Zoom_to_Selection.png +0 -0
  221. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/abort.png +0 -0
  222. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/advanced2.png +0 -0
  223. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/algo.png +0 -0
  224. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/autoscale.png +0 -0
  225. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/b_icon.png +0 -0
  226. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/back-and-forth.png +0 -0
  227. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/back.png +0 -0
  228. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/bg_icon.png +0 -0
  229. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/camera.png +0 -0
  230. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/camera_snap.png +0 -0
  231. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/cartesian.png +0 -0
  232. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/clear2.png +0 -0
  233. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/clear_ROI.png +0 -0
  234. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/close2.png +0 -0
  235. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/cluster2.png +0 -0
  236. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/color.png +0 -0
  237. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/color2.png +0 -0
  238. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/continuous.png +0 -0
  239. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/data.png +0 -0
  240. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/delay.png +0 -0
  241. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/download.png +0 -0
  242. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/download2.png +0 -0
  243. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/editFile.png +0 -0
  244. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/error2.png +0 -0
  245. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ethernet.png +0 -0
  246. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/exit2.png +0 -0
  247. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/fan.png +0 -0
  248. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/filter2.png +0 -0
  249. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/flip.png +0 -0
  250. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/g_icon.png +0 -0
  251. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/gear2.png +0 -0
  252. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/go_to.png +0 -0
  253. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/go_to_1.png +0 -0
  254. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/go_to_2.png +0 -0
  255. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/grab.png +0 -0
  256. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/graph.png +0 -0
  257. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/greenLight2.png +0 -0
  258. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/greenLight2_32.png +0 -0
  259. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/green_light.png +0 -0
  260. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/grey_icon.png +0 -0
  261. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/greyscale.png +0 -0
  262. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/help1.png +0 -0
  263. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/help1_32.png +0 -0
  264. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/home2.png +0 -0
  265. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/information2.png +0 -0
  266. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/ini.png +0 -0
  267. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/input.png +0 -0
  268. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/integrator.png +0 -0
  269. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/joystick.png +0 -0
  270. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/light_green.png +0 -0
  271. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/light_green_16.png +0 -0
  272. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/light_red.png +0 -0
  273. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/light_red_16.png +0 -0
  274. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/light_yellow.png +0 -0
  275. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/light_yellow_16.png +0 -0
  276. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/limiter.png +0 -0
  277. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/load_ROI.png +0 -0
  278. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/meshPlot.png +0 -0
  279. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/meter.png +0 -0
  280. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/meter2.png +0 -0
  281. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/meter_32.png +0 -0
  282. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/move_contour.png +0 -0
  283. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/move_straight_line.png +0 -0
  284. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/movie.png +0 -0
  285. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/multi_point.png +0 -0
  286. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/multiplexer.png +0 -0
  287. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/new.png +0 -0
  288. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/openArrow.png +0 -0
  289. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/openTree.png +0 -0
  290. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/oscilloscope2.png +0 -0
  291. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/oscilloscope3.png +0 -0
  292. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/overlay.png +0 -0
  293. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/pass2.png +0 -0
  294. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/pass2_16.png +0 -0
  295. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/pass_32.png +0 -0
  296. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/pause.png +0 -0
  297. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/permute.png +0 -0
  298. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/phase.png +0 -0
  299. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/play.png +0 -0
  300. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/polar.png +0 -0
  301. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/pole_zero.png +0 -0
  302. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/powerMeter.png +0 -0
  303. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/powerSwitch.png +0 -0
  304. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/powerSwitch_16.png +0 -0
  305. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/print2.png +0 -0
  306. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/print2_32.png +0 -0
  307. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/properties.png +0 -0
  308. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/r_icon.png +0 -0
  309. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/radiocontrolbutton.png +0 -0
  310. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/random.png +0 -0
  311. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/read2.png +0 -0
  312. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/red_light.png +0 -0
  313. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/remove.png +0 -0
  314. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/reset.png +0 -0
  315. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/rgb_icon.png +0 -0
  316. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/robot.png +0 -0
  317. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/rotation2.png +0 -0
  318. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/run2.png +0 -0
  319. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/run_all.png +0 -0
  320. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/saturation.png +0 -0
  321. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/saveTree.png +0 -0
  322. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/save_ROI.png +0 -0
  323. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/scale_horizontally.png +0 -0
  324. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/scale_vertically.png +0 -0
  325. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/search2.png +0 -0
  326. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/select2.png +0 -0
  327. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/select_all.png +0 -0
  328. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/select_all2.png +0 -0
  329. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/select_none.png +0 -0
  330. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/sequence.png +0 -0
  331. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/sequence2.png +0 -0
  332. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/show.png +0 -0
  333. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/shuffle.png +0 -0
  334. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/snap.png +0 -0
  335. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/sort_ascend.png +0 -0
  336. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/spectrumAnalyzer.png +0 -0
  337. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/start.png +0 -0
  338. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/status_cancelled.png +0 -0
  339. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/stop.png +0 -0
  340. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/stop2.png +0 -0
  341. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/stop3.png +0 -0
  342. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/stop_all.png +0 -0
  343. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/sum.png +0 -0
  344. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/surfacePlot.png +0 -0
  345. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/target.png +0 -0
  346. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/tree.png +0 -0
  347. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/unshow.png +0 -0
  348. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/updateTree.png +0 -0
  349. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/utility2.png +0 -0
  350. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/utility_small.png +0 -0
  351. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/vector.png +0 -0
  352. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/verify.png +0 -0
  353. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/video.png +0 -0
  354. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/wait.png +0 -0
  355. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/waterfallPlot.png +0 -0
  356. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/watershed.png +0 -0
  357. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/yellow_light.png +0 -0
  358. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/zip_file.png +0 -0
  359. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/zoomAuto.png +0 -0
  360. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icon_library/zoomReset.png +0 -0
  361. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icons.svg +0 -0
  362. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/icons.toml +0 -0
  363. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/material_icons/__init__.py +0 -0
  364. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/material_icons/_icon.py +0 -0
  365. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/material_icons/resources/icons_rounded_20.py +0 -0
  366. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/material_icons/resources/icons_rounded_40.py +0 -0
  367. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/resources/scan_settings.xml +0 -0
  368. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/splash.png +0 -0
  369. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/__init__.py +0 -0
  370. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/dock.py +0 -0
  371. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/enums.py +0 -0
  372. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/file_io.py +0 -0
  373. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/layout.py +0 -0
  374. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/list_picker.py +0 -0
  375. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/menu_utils.py +0 -0
  376. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/shared_ui.py +0 -0
  377. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/splash.py +0 -0
  378. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/status_palette.py +0 -0
  379. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/styling.py +0 -0
  380. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/utils.py +0 -0
  381. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widget_sync/__init__.py +0 -0
  382. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widget_sync/core.py +0 -0
  383. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widget_sync/factories.py +0 -0
  384. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/__init__.py +0 -0
  385. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/collapsible_widget.py +0 -0
  386. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/combo.py +0 -0
  387. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/highlighted_combo.py +0 -0
  388. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/label.py +0 -0
  389. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/lcd.py +0 -0
  390. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/multistate_led.py +0 -0
  391. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/painter_utils.py +0 -0
  392. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/pattern_completer.py +0 -0
  393. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/push.py +0 -0
  394. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/qled.py +0 -0
  395. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/search_lineedit.py +0 -0
  396. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/spinbox.py +0 -0
  397. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/statusbar_separator.py +0 -0
  398. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/tree_layout.py +0 -0
  399. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/tree_toml.py +0 -0
  400. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/widget_bkg.py +0 -0
  401. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/widget_with_label_title.py +0 -0
  402. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/widget_with_title_in_toolbar.py +0 -0
  403. {pymodaq_gui-5.3.2 → pymodaq_gui-5.3.7}/src/pymodaq_gui/utils/widgets/window.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pymodaq_gui
3
- Version: 5.3.2
3
+ Version: 5.3.7
4
4
  Summary: User Interface components for PyMoDAQ
5
5
  Project-URL: Homepage, http://pymodaq.cnrs.fr
6
6
  Project-URL: Source, https://github.com/PyMoDAQ/PyMoDAQ
@@ -67,7 +67,7 @@ Requires-Dist: pyqt5; extra == 'pyqt5'
67
67
  Provides-Extra: pyqt6
68
68
  Requires-Dist: pyqt6; extra == 'pyqt6'
69
69
  Provides-Extra: pyside6
70
- Requires-Dist: pyside6<6.12; extra == 'pyside6'
70
+ Requires-Dist: pyside6!=6.12.0; extra == 'pyside6'
71
71
  Description-Content-Type: text/x-rst
72
72
 
73
73
  .. ############################################################
@@ -60,7 +60,7 @@ dev = [
60
60
  "qtmonaco"
61
61
  ]
62
62
  pyside6 = [
63
- "pyside6<6.12",
63
+ "pyside6!=6.12.0", # 6.12.0 aborts on Signal(bool).emit(True) (bool_dealloc)
64
64
  ]
65
65
 
66
66
  pyqt6 = [
@@ -3,11 +3,11 @@
3
3
  from pymodaq_gui.utils.widgets.table import SpinBoxDelegate
4
4
  from pymodaq_gui.parameter.utils import get_widget_from_tree
5
5
  from pymodaq_gui.plotting.data_viewers.viewer2D import Viewer2D
6
- from pymodaq.utils import gui_utils as gutils
6
+ from pymodaq_gui import utils as gutils
7
7
  from pymodaq_gui.utils.dock import Dock
8
8
  from pymodaq_gui.parameter import ParameterTree, Parameter
9
9
  from pymodaq_gui.parameter.pymodaq_ptypes.tableview import TableViewCustom
10
- from pymodaq.utils.scanner.scanners.tabular import TableModelTabular
10
+ from pymodaq_gui.utils.widgets.table import TableModelTabular
11
11
  from qtpy.QtCore import QObject, Qt, Slot
12
12
  from qtpy import QtWidgets
13
13
 
@@ -81,8 +81,8 @@ class ViewerPointList(QObject):
81
81
 
82
82
 
83
83
  if __name__ == '__main__':
84
- from pymodaq.utils.gui_utils import DockArea
85
- from pymodaq.utils.data import Axis, DataFromPlugins
84
+ from pymodaq_gui.utils import DockArea
85
+ from pymodaq_data.data import Axis, DataRaw
86
86
  import sys
87
87
  import numpy as np
88
88
 
@@ -96,11 +96,11 @@ if __name__ == '__main__':
96
96
  Ny = 200
97
97
  x = (np.linspace(0, Nx - 1, Nx) + 100) / 2
98
98
  y = (np.linspace(0, Ny - 1, Ny) - 10) * 2
99
- from pymodaq.utils.math_utils import gauss2D
99
+ from pymodaq_utils.math_utils import gauss2D
100
100
 
101
101
  data_red = 3 * gauss2D(x, np.mean(x), (np.max(x)-np.min(x)) / 5, y, np.mean(y), (np.max(y)-np.min(y)) / 5, 1)
102
102
  data_red += np.random.random(data_red.shape)
103
- data_to_plot = DataFromPlugins(name='mydata', distribution='uniform', data=[data_red],
103
+ data_to_plot = DataRaw(name='mydata', distribution='uniform', data=[data_red],
104
104
  axes=[Axis('xaxis', units='xpxl', data=x, index=1),
105
105
  Axis('yaxis', units='ypxl', data=y, index=0)])
106
106
 
@@ -15,7 +15,7 @@ from pymodaq_gui.plotting.data_viewers.viewer2D import Viewer2D
15
15
  from pymodaq_gui.utils.custom_app import CustomApp, Dock, DockArea
16
16
 
17
17
  from pymodaq_gui.parameter.pymodaq_ptypes.tableview import TableViewCustom
18
- from pymodaq.utils.scanner.scanners.tabular import TableModelTabular
18
+ from pymodaq_gui.utils.widgets.table import TableModelTabular
19
19
 
20
20
 
21
21
  class DataPicker(CustomApp):
@@ -114,7 +114,7 @@ def main():
114
114
  Ny = 200
115
115
  x = (np.linspace(0, Nx - 1, Nx) + 100) / 2
116
116
  y = (np.linspace(0, Ny - 1, Ny) - 10) * 2
117
- from pymodaq.utils.math_utils import gauss2D
117
+ from pymodaq_utils.math_utils import gauss2D
118
118
 
119
119
  data_red = 3 * gauss2D(x, np.mean(x), (np.max(x)-np.min(x)) / 5, y, np.mean(y), (np.max(y)-np.min(y)) / 5, 1)
120
120
  data_red += np.random.random(data_red.shape)
@@ -9,7 +9,7 @@ import numpy as np
9
9
  from qtpy import QtWidgets
10
10
  from qtpy.QtCore import QDate, QTimer
11
11
 
12
- from pymodaq.utils.logger import set_logger, get_module_name
12
+ from pymodaq_utils.logger import set_logger, get_module_name
13
13
  from pymodaq_utils.config import GlobalConfig as Config
14
14
 
15
15
  from pymodaq_data.data import DataRaw, Axis
@@ -1,12 +1,10 @@
1
1
  from dataclasses import dataclass
2
- from pymodaq.control_modules.move_utility_classes import HW_SETTINGS_KEY as ACTUATOR_SETTINGS_KEY
3
2
  import time
4
3
  from typing import Callable, TYPE_CHECKING, Union, Tuple
5
4
 
6
5
  from qtpy import QtWidgets, QtCore
7
6
  from serializall import SerializableFactory
8
7
 
9
- from pymodaq.utils.managers.modules import ModuleType
10
8
  from pymodaq_gui.managers.parameter_manager import ParameterManager
11
9
  from pymodaq_utils.enums import StrEnum
12
10
  from pymodaq_utils.abstract import abstract_attribute
@@ -24,7 +22,6 @@ ser_factory = SerializableFactory()
24
22
  if TYPE_CHECKING:
25
23
  from pymodaq_gui.managers.settings.utils import SettingsManagerModel
26
24
  from pymodaq_gui.managers.settings.settings_manager import SettingsManager
27
- from pymodaq.dashboard import DashBoard
28
25
 
29
26
 
30
27
  class SubEntryError(Exception):
@@ -1,4 +1,5 @@
1
1
  from collections.abc import Iterable
2
+ from numbers import Number
2
3
  from pathlib import Path
3
4
  from typing import Union, Any, TYPE_CHECKING, Sequence
4
5
 
@@ -179,11 +180,18 @@ class SettingsManagerModel(TableModel):
179
180
  elif index.column() == 2:
180
181
  dat = entry.setting.parameter.title()
181
182
  elif index.column() == 3:
182
- suffix = ''
183
- if entry.setting.parameter.opts.get('suffix', None) is not None:
184
- suffix = f' {entry.setting.parameter.opts.get("suffix")}'
185
- val, prefix = get_si_prefix(entry.setting.parameter.value())
186
- dat = f"{val} {prefix}{suffix}"
183
+ value = entry.setting.parameter.value()
184
+ if isinstance(value, Number):
185
+ suffix = entry.setting.parameter.opts.get('suffix', '')
186
+ if suffix is None:
187
+ suffix = ''
188
+ if isinstance(value, float):
189
+ value, prefix = get_si_prefix(value)
190
+ dat = f"{value} {prefix}{suffix}"
191
+ else:
192
+ dat = f"{value} {suffix}"
193
+ else:
194
+ dat = f'{value}'
187
195
  else:
188
196
  dat = ''
189
197
  return dat
@@ -255,7 +263,7 @@ class SettingsManagerModel(TableModel):
255
263
  for child in entry.setting.parameter.children():
256
264
  if child.opts.get(VALID_FOR_CONFIGURATION, True) : # only add the ones specifying they are configurable
257
265
  pwp = ParameterWithPath(parameter=child, path=entry.setting.path + [child.name()])
258
- config_entry = SubEntry(entry.entry_type, entry.module_name, entry.module_type, pwp)
266
+ config_entry = SubEntry(entry.entry_type, entry.module_name, pwp)
259
267
  self.split_entry(config_entry, entries)
260
268
  return entries
261
269
 
@@ -146,7 +146,7 @@ def main_widget():
146
146
 
147
147
 
148
148
  def main_parameter():
149
- from pymodaq.utils.managers.parameter_manager import ParameterManager
149
+ from pymodaq_gui.managers.parameter_manager import ParameterManager
150
150
  data = np.arange(128 * 256).reshape((256, 128))
151
151
  data = data / np.max(data) * 255
152
152
  data = data.astype(np.uint8)
@@ -210,7 +210,7 @@ if __name__ == '__main__': # pragma: no cover
210
210
  prog.show_roi_line()
211
211
  prog.roi_region_signal.connect(print_region)
212
212
  prog.roi_line_signal.connect(print_line)
213
- from pymodaq.utils.daq_utils import gauss1D
213
+ from pymodaq_utils.math_utils import gauss1D
214
214
 
215
215
  x = np.linspace(0, 200, 201)
216
216
  y1 = gauss1D(x, 75, 25)
@@ -67,9 +67,9 @@ class Plotter(PlotterBase):
67
67
 
68
68
 
69
69
  if __name__ == '__main__':
70
- from pymodaq.utils import data as data_mod
70
+ from pymodaq_data import data as data_mod
71
71
  import numpy as np
72
- from pymodaq.utils.math_utils import gauss1D
72
+ from pymodaq_utils.math_utils import gauss1D
73
73
 
74
74
 
75
75
  qapp = start_qapplication()
@@ -557,7 +557,7 @@ if __name__ == '__main__':
557
557
  app = QtWidgets.QApplication(sys.argv)
558
558
  prog = FourierFilterer()
559
559
 
560
- from pymodaq.utils.daq_utils import gauss1D
560
+ from pymodaq_utils.math_utils import gauss1D
561
561
 
562
562
  xdata = np.linspace(0, 400, 401)
563
563
  x0 = 50
@@ -1,9 +1,9 @@
1
1
  import numpy as np
2
2
  from dataclasses import dataclass
3
+ from typing import TYPE_CHECKING
3
4
  from qtpy import QtCore
4
5
  from qtpy.QtCore import QObject, Signal
5
6
 
6
- from pymodaq.utils.managers.modules import ModulesManager
7
7
  from pymodaq_data import DataToExport, Axis
8
8
  from pymodaq_data.h5modules.data_saving import DataLoader, DataBundle, DataToExportSaver, DataToExportExtendedSaver, \
9
9
  DataToExportEnlargeableSaver, DataToExportTimedSaver
@@ -13,32 +13,43 @@ from pymodaq_gui.managers.h5manager import H5Manager
13
13
  from pymodaq_gui.managers.runner_thread_manager import WorkerThreadManager, ThreadWorker, DataForProcessor, \
14
14
  get_thread_params
15
15
 
16
- from pymodaq.utils.h5modules.module_saving import (
17
- ExtensionSaver, ScanSaver, LoggerSaver, OptimizerSaver)
18
- from pymodaq.utils.custom_ext import CustomExt
19
16
  from pymodaq_gui.parameter import Parameter
20
17
  from pymodaq_gui.utils import CustomApp
21
18
  from pymodaq_gui.utils.custom_app import WorkFlowActions
22
19
  from pymodaq_utils.utils import ThreadCommand
23
20
 
24
21
 
22
+ # the savers a SaverWorker can use
23
+ SaverTypes = (DataToExportSaver | DataToExportExtendedSaver |
24
+ DataToExportEnlargeableSaver | DataToExportTimedSaver)
25
+
26
+ if TYPE_CHECKING: # only for the annotations, pymodaq_gui does not depend on pymodaq at run time
27
+ from pymodaq.utils.managers.modules import ModulesManager
28
+
29
+
25
30
 
26
31
 
27
32
  class SaverWorker(ThreadWorker):
28
33
  """ Worker in separated thread receiving the data ad DataBundle
29
34
  and adding them into the extended or enlargeable arrays within a H5file using one of the
30
- ExtensionSaver module saver """
35
+ ExtensionSaver module saver
36
+
37
+ Note
38
+ ----
39
+ The type of the saver is only hinted with the DataToExport savers (SaverTypes) the worker
40
+ relies on. It can also be an object of a higher level, such as the extension savers of pymodaq
41
+ (ScanSaver, LoggerSaver, OptimizerSaver...), as long as it provides the same saving interface.
42
+ """
31
43
 
32
44
  nav_axes_signal = Signal(list)
33
45
  worker_setting_name: str = 'saver_worker'
34
46
  name = 'SaverWorker'
35
47
  params = get_thread_params(worker_setting_name)
36
48
 
37
- def __init__(self, saver: ScanSaver | LoggerSaver | OptimizerSaver, parent = None):
49
+ def __init__(self, saver: SaverTypes, parent = None):
38
50
  super().__init__(parent)
39
51
 
40
- self.saver: (ScanSaver | LoggerSaver | OptimizerSaver | DataToExportSaver | DataToExportExtendedSaver |
41
- DataToExportEnlargeableSaver | DataToExportTimedSaver) = saver
52
+ self.saver: SaverTypes = saver
42
53
  self.data_to_save_signal.connect(self.save_data, QtCore.Qt.ConnectionType.QueuedConnection)
43
54
  self.nav_axes_signal.connect(self.add_nav_axes, QtCore.Qt.ConnectionType.QueuedConnection)
44
55
 
@@ -134,7 +145,7 @@ class ExtensionWorker(QObject):
134
145
  return self._app.h5_manager
135
146
 
136
147
  @property
137
- def modules_manager(self) -> ModulesManager:
148
+ def modules_manager(self) -> 'ModulesManager':
138
149
  """ Convenience property"""
139
150
  return self._app.modules_manager
140
151
 
@@ -143,7 +154,7 @@ class ExtensionWorker(QObject):
143
154
  return self._app.settings
144
155
 
145
156
  @property
146
- def module_and_data_saver(self) -> ScanSaver | LoggerSaver | OptimizerSaver:
157
+ def module_and_data_saver(self) -> SaverTypes:
147
158
  """ Convenience property"""
148
159
  return self._app.module_and_data_saver
149
160
 
@@ -281,6 +281,11 @@ class CustomApp(QObject, ActionManager, ParameterManager):
281
281
  def get_theme(name: str = None) -> Theme:
282
282
  return qt_themes.get_theme(name)
283
283
 
284
+ def _overrides(self, name: str) -> bool:
285
+ """True if the class of this instance (or one of its parents below CustomApp) redefines the method ``name``
286
+ of CustomApp, used to call the deprecated hooks only for the apps that still define them"""
287
+ return getattr(type(self), name) is not getattr(CustomApp, name)
288
+
284
289
  def setup_ui(self):
285
290
  self.setup_docks_and_widgets()
286
291
 
@@ -337,9 +342,9 @@ class CustomApp(QObject, ActionManager, ParameterManager):
337
342
  See Also
338
343
  --------
339
344
  """
340
- if hasattr(self, 'setup_docks'):
345
+ if self._overrides('setup_docks'):
341
346
  self.setup_docks() # for backcompatibility
342
- deprecation_msg('You should not call setup_docks anymore, use `setup_docks_and_widgets` instead')
347
+ deprecation_msg('You should not define setup_docks anymore, use `setup_docks_and_widgets` instead')
343
348
 
344
349
  def setup_docks(self):
345
350
  """ deprecated, see setup_docks_and_widgets
@@ -362,7 +367,9 @@ class CustomApp(QObject, ActionManager, ParameterManager):
362
367
  --------
363
368
  pymodaq.utils.managers.action_manager.ActionManager
364
369
  """
365
- self.setup_menu(menubar) # for back-compatibility
370
+ if self._overrides('setup_menu'):
371
+ self.setup_menu(menubar) # for back-compatibility
372
+ deprecation_msg('You should not define setup_menu anymore, use `setup_menus_and_toolbars` instead')
366
373
 
367
374
  def setup_menu(self, menubar: QtWidgets.QMenuBar = None):
368
375
  """ Deprecated, use `setup_menus_and_toolbars`
@@ -7,6 +7,7 @@ from pymodaq_data.data import parse_quantity
7
7
  from pymodaq_utils import utils
8
8
  from pymodaq_gui.qvariant import QVariant
9
9
  from pymodaq_gui.qt_utils import decode_data
10
+ from pymodaq_gui.utils.file_io import select_file
10
11
  from pymodaq_data import Q_
11
12
  from qtpy import QtWidgets, QtCore
12
13
 
@@ -210,6 +211,76 @@ class TableModel(QtCore.QAbstractTableModel):
210
211
 
211
212
 
212
213
 
214
+ class TableModelTabular(TableModel):
215
+ """Table Model for the Model/View Qt framework dedicated to the Tabular scan mode"""
216
+ def __init__(self, data, axes_name=None, **kwargs):
217
+ if axes_name is None:
218
+ if 'header' in kwargs: # when saved as XML the header will be saved and restored here
219
+ axes_name = [h for h in kwargs['header']]
220
+ kwargs.pop('header')
221
+ else:
222
+ raise Exception('Invalid header')
223
+ if kwargs.pop('display_units', False):
224
+ self.units = [str(parse_quantity(dat).units) for dat in data[0]]
225
+ else:
226
+ self.units = ['' for _ in axes_name]
227
+ header = [name for name in axes_name]
228
+ editable = [True for _ in axes_name]
229
+ super().__init__(data, header, editable=editable, cast=str, **kwargs)
230
+
231
+ def __len__(self):
232
+ return len(self._data)
233
+
234
+ def add_data(self, row, data=None):
235
+ if data is not None:
236
+ self.insert_data(row, [f'{d}' for d in data])
237
+ else:
238
+ self.insert_data(row, [f'0. {unit}' if unit != '' else f'0.' for unit in self.units])
239
+
240
+ def remove_data(self, row):
241
+ self.remove_row(row)
242
+
243
+ def load_txt(self):
244
+ fname = select_file(start_path=None, save=False, ext='*')
245
+ if fname is not None and fname != '':
246
+ while self.rowCount(self.index(-1, -1)) > 0:
247
+ self.remove_row(0)
248
+
249
+ data = np.loadtxt(fname, dtype=str, delimiter='\t')
250
+ if len(data.shape) == 1:
251
+ data = data.reshape((data.size, 1))
252
+ self.set_data_all(data)
253
+
254
+ def save_txt(self):
255
+ fname = select_file(start_path=None, save=True, ext='dat')
256
+ if fname is not None and fname != '':
257
+ np.savetxt(fname, self.get_data_all(), delimiter='\t', fmt='%s')
258
+
259
+ def __repr__(self):
260
+ return f'{self.__class__.__name__} from module {self.__class__.__module__}'
261
+
262
+ def validate_data(self, row, col, value):
263
+ """
264
+ make sure the values and signs of the start, stop and step values are "correct"
265
+ Parameters
266
+ ----------
267
+ row: (int) row within the table that is to be changed
268
+ col: (int) col within the table that is to be changed
269
+ value: (float) new value for the value defined by row and col
270
+
271
+ Returns
272
+ -------
273
+ bool: True is the new value is fine (change some other values if needed) otherwise False
274
+ """
275
+
276
+ return True
277
+
278
+
279
+ class TableModelTabularReadOnly(TableModelTabular):
280
+ def setData(self, index, value, role):
281
+ return False
282
+
283
+
213
284
  class BooleanDelegate(QtWidgets.QStyledItemDelegate):
214
285
  """
215
286
  TO implement custom widget editor for cells in a tableview
File without changes
File without changes
File without changes