dcscope 2.22.1__py3-none-any.whl

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 (267) hide show
  1. dcscope/__init__.py +17 -0
  2. dcscope/__main__.py +44 -0
  3. dcscope/_version.py +21 -0
  4. dcscope/extensions.py +250 -0
  5. dcscope/gui/__init__.py +2 -0
  6. dcscope/gui/analysis/__init__.py +10 -0
  7. dcscope/gui/analysis/ana_basins.py +110 -0
  8. dcscope/gui/analysis/ana_basins.ui +143 -0
  9. dcscope/gui/analysis/ana_filter.py +341 -0
  10. dcscope/gui/analysis/ana_filter.ui +364 -0
  11. dcscope/gui/analysis/ana_log.py +122 -0
  12. dcscope/gui/analysis/ana_log.ui +100 -0
  13. dcscope/gui/analysis/ana_meta.py +207 -0
  14. dcscope/gui/analysis/ana_meta.ui +141 -0
  15. dcscope/gui/analysis/ana_plot.py +638 -0
  16. dcscope/gui/analysis/ana_plot.ui +1060 -0
  17. dcscope/gui/analysis/ana_slot.py +504 -0
  18. dcscope/gui/analysis/ana_slot.ui +684 -0
  19. dcscope/gui/analysis/ana_tables.py +227 -0
  20. dcscope/gui/analysis/ana_tables.ui +195 -0
  21. dcscope/gui/analysis/ana_view.py +69 -0
  22. dcscope/gui/analysis/ana_view.ui +269 -0
  23. dcscope/gui/analysis/dlg_slot_reorder.py +55 -0
  24. dcscope/gui/analysis/dlg_slot_reorder.ui +138 -0
  25. dcscope/gui/bulk/__init__.py +2 -0
  26. dcscope/gui/bulk/bulk_emodulus.py +200 -0
  27. dcscope/gui/bulk/bulk_emodulus.ui +245 -0
  28. dcscope/gui/compute/__init__.py +3 -0
  29. dcscope/gui/compute/comp_lme4.py +115 -0
  30. dcscope/gui/compute/comp_lme4.ui +194 -0
  31. dcscope/gui/compute/comp_lme4_dataset.py +51 -0
  32. dcscope/gui/compute/comp_lme4_dataset.ui +92 -0
  33. dcscope/gui/compute/comp_lme4_results.py +120 -0
  34. dcscope/gui/compute/comp_lme4_results.ui +268 -0
  35. dcscope/gui/compute/comp_stats.py +223 -0
  36. dcscope/gui/compute/comp_stats.ui +187 -0
  37. dcscope/gui/dcor/__init__.py +304 -0
  38. dcscope/gui/dcor/dcor.ui +118 -0
  39. dcscope/gui/export/__init__.py +3 -0
  40. dcscope/gui/export/e2data.py +394 -0
  41. dcscope/gui/export/e2data.ui +367 -0
  42. dcscope/gui/export/e2filter.py +76 -0
  43. dcscope/gui/export/e2filter.ui +111 -0
  44. dcscope/gui/export/e2plot.py +94 -0
  45. dcscope/gui/export/e2plot.ui +175 -0
  46. dcscope/gui/main.py +1089 -0
  47. dcscope/gui/main.ui +579 -0
  48. dcscope/gui/matrix/__init__.py +4 -0
  49. dcscope/gui/matrix/block_matrix.py +141 -0
  50. dcscope/gui/matrix/block_matrix.ui +207 -0
  51. dcscope/gui/matrix/data_matrix.py +574 -0
  52. dcscope/gui/matrix/dm_dataset.py +116 -0
  53. dcscope/gui/matrix/dm_dataset.ui +348 -0
  54. dcscope/gui/matrix/dm_element.py +111 -0
  55. dcscope/gui/matrix/dm_element.ui +169 -0
  56. dcscope/gui/matrix/dm_filter.py +115 -0
  57. dcscope/gui/matrix/dm_filter.ui +287 -0
  58. dcscope/gui/matrix/plot_matrix.py +316 -0
  59. dcscope/gui/matrix/pm_element.py +39 -0
  60. dcscope/gui/matrix/pm_plot.py +86 -0
  61. dcscope/gui/matrix/pm_plot.ui +249 -0
  62. dcscope/gui/pipeline_plot.py +797 -0
  63. dcscope/gui/pipeline_plot.ui +66 -0
  64. dcscope/gui/preferences.py +380 -0
  65. dcscope/gui/preferences.ui +554 -0
  66. dcscope/gui/quick_view/__init__.py +1 -0
  67. dcscope/gui/quick_view/qv_main.py +1072 -0
  68. dcscope/gui/quick_view/qv_main.ui +1297 -0
  69. dcscope/gui/quick_view/qv_scatter.py +284 -0
  70. dcscope/gui/quick_view/qv_style.css +10 -0
  71. dcscope/gui/update.py +90 -0
  72. dcscope/gui/widgets/__init__.py +15 -0
  73. dcscope/gui/widgets/bg_thread.py +29 -0
  74. dcscope/gui/widgets/bulk_list.py +79 -0
  75. dcscope/gui/widgets/bulk_list.ui +95 -0
  76. dcscope/gui/widgets/double_spin_box_nan.py +75 -0
  77. dcscope/gui/widgets/feature_combobox.py +140 -0
  78. dcscope/gui/widgets/get_path.py +42 -0
  79. dcscope/gui/widgets/key_value_table_widget.css +12 -0
  80. dcscope/gui/widgets/key_value_table_widget.py +75 -0
  81. dcscope/gui/widgets/mdi_subwindow_wo_close.py +12 -0
  82. dcscope/gui/widgets/qrangeslider.py +262 -0
  83. dcscope/gui/widgets/rangecontrol.py +308 -0
  84. dcscope/gui/widgets/rangecontrol.ui +136 -0
  85. dcscope/gui/widgets/simple_image_view.py +55 -0
  86. dcscope/gui/widgets/simple_plot_widget.py +113 -0
  87. dcscope/gui/widgets/so_colorbaritem.py +29 -0
  88. dcscope/gui/widgets/wait_cursor.py +33 -0
  89. dcscope/idiom.py +26 -0
  90. dcscope/img/__init__.py +2 -0
  91. dcscope/img/icon-theme/breeze/COPYING-ICONS +209 -0
  92. dcscope/img/icon-theme/breeze/COPYING.LIB +510 -0
  93. dcscope/img/icon-theme/breeze/README +5 -0
  94. dcscope/img/icon-theme/breeze/actions/16/application-exit.svg +17 -0
  95. dcscope/img/icon-theme/breeze/actions/16/code-context.svg +13 -0
  96. dcscope/img/icon-theme/breeze/actions/16/dialog-cancel.svg +13 -0
  97. dcscope/img/icon-theme/breeze/actions/16/dialog-close.svg +17 -0
  98. dcscope/img/icon-theme/breeze/actions/16/dialog-messages.svg +13 -0
  99. dcscope/img/icon-theme/breeze/actions/16/dialog-ok-apply.svg +13 -0
  100. dcscope/img/icon-theme/breeze/actions/16/dialog-ok.svg +13 -0
  101. dcscope/img/icon-theme/breeze/actions/16/document-open-folder.svg +13 -0
  102. dcscope/img/icon-theme/breeze/actions/16/document-open.svg +13 -0
  103. dcscope/img/icon-theme/breeze/actions/16/document-save.svg +13 -0
  104. dcscope/img/icon-theme/breeze/actions/16/documentinfo.svg +12 -0
  105. dcscope/img/icon-theme/breeze/actions/16/draw-watercolor.svg +13 -0
  106. dcscope/img/icon-theme/breeze/actions/16/edit-clear-all.svg +13 -0
  107. dcscope/img/icon-theme/breeze/actions/16/edit-clear.svg +13 -0
  108. dcscope/img/icon-theme/breeze/actions/16/edit-paste.svg +13 -0
  109. dcscope/img/icon-theme/breeze/actions/16/globe.svg +16 -0
  110. dcscope/img/icon-theme/breeze/actions/16/gtk-preferences.svg +13 -0
  111. dcscope/img/icon-theme/breeze/actions/16/list-add.svg +13 -0
  112. dcscope/img/icon-theme/breeze/actions/16/messagebox_warning.svg +20 -0
  113. dcscope/img/icon-theme/breeze/actions/16/object-columns.svg +13 -0
  114. dcscope/img/icon-theme/breeze/actions/16/object-order-lower.svg +13 -0
  115. dcscope/img/icon-theme/breeze/actions/16/object-rows.svg +13 -0
  116. dcscope/img/icon-theme/breeze/actions/16/office-chart-line-stacked.svg +13 -0
  117. dcscope/img/icon-theme/breeze/actions/16/office-chart-ring.svg +13 -0
  118. dcscope/img/icon-theme/breeze/actions/16/office-chart-scatter.svg +13 -0
  119. dcscope/img/icon-theme/breeze/actions/16/path-mode-polyline.svg +13 -0
  120. dcscope/img/icon-theme/breeze/actions/16/preferences-activities.svg +13 -0
  121. dcscope/img/icon-theme/breeze/actions/16/remove.svg +10 -0
  122. dcscope/img/icon-theme/breeze/actions/16/search.svg +13 -0
  123. dcscope/img/icon-theme/breeze/actions/16/show-grid.svg +13 -0
  124. dcscope/img/icon-theme/breeze/actions/16/special_paste.svg +13 -0
  125. dcscope/img/icon-theme/breeze/actions/16/tools-wizard.svg +13 -0
  126. dcscope/img/icon-theme/breeze/actions/16/view-calendar-list.svg +13 -0
  127. dcscope/img/icon-theme/breeze/actions/16/view-filter.svg +13 -0
  128. dcscope/img/icon-theme/breeze/actions/16/view-list-tree.svg +13 -0
  129. dcscope/img/icon-theme/breeze/actions/16/view-statistics.svg +13 -0
  130. dcscope/img/icon-theme/breeze/actions/16/visibility.svg +21 -0
  131. dcscope/img/icon-theme/breeze/actions/22/application-exit.svg +13 -0
  132. dcscope/img/icon-theme/breeze/actions/22/code-context.svg +14 -0
  133. dcscope/img/icon-theme/breeze/actions/22/dialog-cancel.svg +14 -0
  134. dcscope/img/icon-theme/breeze/actions/22/dialog-close.svg +10 -0
  135. dcscope/img/icon-theme/breeze/actions/22/dialog-messages.svg +14 -0
  136. dcscope/img/icon-theme/breeze/actions/22/dialog-ok-apply.svg +14 -0
  137. dcscope/img/icon-theme/breeze/actions/22/dialog-ok.svg +14 -0
  138. dcscope/img/icon-theme/breeze/actions/22/document-open-folder.svg +14 -0
  139. dcscope/img/icon-theme/breeze/actions/22/document-open.svg +14 -0
  140. dcscope/img/icon-theme/breeze/actions/22/document-save.svg +14 -0
  141. dcscope/img/icon-theme/breeze/actions/22/documentinfo.svg +14 -0
  142. dcscope/img/icon-theme/breeze/actions/22/draw-watercolor.svg +14 -0
  143. dcscope/img/icon-theme/breeze/actions/22/edit-clear-all.svg +14 -0
  144. dcscope/img/icon-theme/breeze/actions/22/edit-clear.svg +14 -0
  145. dcscope/img/icon-theme/breeze/actions/22/edit-paste.svg +14 -0
  146. dcscope/img/icon-theme/breeze/actions/22/globe.svg +12 -0
  147. dcscope/img/icon-theme/breeze/actions/22/gtk-preferences.svg +13 -0
  148. dcscope/img/icon-theme/breeze/actions/22/list-add.svg +14 -0
  149. dcscope/img/icon-theme/breeze/actions/22/messagebox_warning.svg +17 -0
  150. dcscope/img/icon-theme/breeze/actions/22/object-columns.svg +14 -0
  151. dcscope/img/icon-theme/breeze/actions/22/object-order-lower.svg +17 -0
  152. dcscope/img/icon-theme/breeze/actions/22/object-rows.svg +17 -0
  153. dcscope/img/icon-theme/breeze/actions/22/office-chart-line-stacked.svg +17 -0
  154. dcscope/img/icon-theme/breeze/actions/22/office-chart-ring.svg +17 -0
  155. dcscope/img/icon-theme/breeze/actions/22/office-chart-scatter.svg +17 -0
  156. dcscope/img/icon-theme/breeze/actions/22/path-mode-polyline.svg +17 -0
  157. dcscope/img/icon-theme/breeze/actions/22/preferences-activities.svg +14 -0
  158. dcscope/img/icon-theme/breeze/actions/22/remove.svg +10 -0
  159. dcscope/img/icon-theme/breeze/actions/22/special_paste.svg +14 -0
  160. dcscope/img/icon-theme/breeze/actions/22/tools-wizard.svg +14 -0
  161. dcscope/img/icon-theme/breeze/actions/22/view-calendar-list.svg +14 -0
  162. dcscope/img/icon-theme/breeze/actions/22/view-filter.svg +14 -0
  163. dcscope/img/icon-theme/breeze/actions/22/view-list-tree.svg +14 -0
  164. dcscope/img/icon-theme/breeze/actions/22/view-statistics.svg +14 -0
  165. dcscope/img/icon-theme/breeze/actions/22/visibility.svg +14 -0
  166. dcscope/img/icon-theme/breeze/actions/24/application-exit.svg +12 -0
  167. dcscope/img/icon-theme/breeze/actions/24/code-context.svg +12 -0
  168. dcscope/img/icon-theme/breeze/actions/24/dialog-cancel.svg +12 -0
  169. dcscope/img/icon-theme/breeze/actions/24/dialog-close.svg +10 -0
  170. dcscope/img/icon-theme/breeze/actions/24/dialog-messages.svg +12 -0
  171. dcscope/img/icon-theme/breeze/actions/24/dialog-ok-apply.svg +12 -0
  172. dcscope/img/icon-theme/breeze/actions/24/dialog-ok.svg +14 -0
  173. dcscope/img/icon-theme/breeze/actions/24/document-open-folder.svg +12 -0
  174. dcscope/img/icon-theme/breeze/actions/24/document-open.svg +12 -0
  175. dcscope/img/icon-theme/breeze/actions/24/document-save.svg +12 -0
  176. dcscope/img/icon-theme/breeze/actions/24/documentinfo.svg +14 -0
  177. dcscope/img/icon-theme/breeze/actions/24/draw-watercolor.svg +12 -0
  178. dcscope/img/icon-theme/breeze/actions/24/edit-clear-all.svg +14 -0
  179. dcscope/img/icon-theme/breeze/actions/24/edit-clear.svg +12 -0
  180. dcscope/img/icon-theme/breeze/actions/24/edit-paste.svg +12 -0
  181. dcscope/img/icon-theme/breeze/actions/24/globe.svg +14 -0
  182. dcscope/img/icon-theme/breeze/actions/24/gtk-preferences.svg +13 -0
  183. dcscope/img/icon-theme/breeze/actions/24/list-add.svg +12 -0
  184. dcscope/img/icon-theme/breeze/actions/24/messagebox_warning.svg +13 -0
  185. dcscope/img/icon-theme/breeze/actions/24/object-columns.svg +12 -0
  186. dcscope/img/icon-theme/breeze/actions/24/object-order-lower.svg +15 -0
  187. dcscope/img/icon-theme/breeze/actions/24/object-rows.svg +15 -0
  188. dcscope/img/icon-theme/breeze/actions/24/office-chart-line-stacked.svg +15 -0
  189. dcscope/img/icon-theme/breeze/actions/24/office-chart-ring.svg +15 -0
  190. dcscope/img/icon-theme/breeze/actions/24/office-chart-scatter.svg +15 -0
  191. dcscope/img/icon-theme/breeze/actions/24/path-mode-polyline.svg +15 -0
  192. dcscope/img/icon-theme/breeze/actions/24/preferences-activities.svg +13 -0
  193. dcscope/img/icon-theme/breeze/actions/24/remove.svg +10 -0
  194. dcscope/img/icon-theme/breeze/actions/24/special_paste.svg +12 -0
  195. dcscope/img/icon-theme/breeze/actions/24/tools-wizard.svg +12 -0
  196. dcscope/img/icon-theme/breeze/actions/24/view-calendar-list.svg +12 -0
  197. dcscope/img/icon-theme/breeze/actions/24/view-filter.svg +12 -0
  198. dcscope/img/icon-theme/breeze/actions/24/view-list-tree.svg +12 -0
  199. dcscope/img/icon-theme/breeze/actions/24/view-statistics.svg +12 -0
  200. dcscope/img/icon-theme/breeze/actions/24/visibility.svg +14 -0
  201. dcscope/img/icon-theme/breeze/actions/32/application-exit.svg +8 -0
  202. dcscope/img/icon-theme/breeze/actions/32/dialog-cancel.svg +13 -0
  203. dcscope/img/icon-theme/breeze/actions/32/dialog-messages.svg +13 -0
  204. dcscope/img/icon-theme/breeze/actions/32/dialog-ok-apply.svg +1 -0
  205. dcscope/img/icon-theme/breeze/actions/32/dialog-ok.svg +1 -0
  206. dcscope/img/icon-theme/breeze/actions/32/document-open-folder.svg +13 -0
  207. dcscope/img/icon-theme/breeze/actions/32/document-open.svg +13 -0
  208. dcscope/img/icon-theme/breeze/actions/32/document-save.svg +18 -0
  209. dcscope/img/icon-theme/breeze/actions/32/gtk-preferences.svg +17 -0
  210. dcscope/img/icon-theme/breeze/actions/32/object-order-lower.svg +18 -0
  211. dcscope/img/icon-theme/breeze/actions/32/view-filter.svg +18 -0
  212. dcscope/img/icon-theme/breeze/actions/32/view-list-tree.svg +18 -0
  213. dcscope/img/icon-theme/breeze/places/16/folder-cloud.svg +13 -0
  214. dcscope/img/icon-theme/breeze/places/16/folder.svg +13 -0
  215. dcscope/img/icon-theme/breeze/places/22/folder-cloud.svg +13 -0
  216. dcscope/img/icon-theme/breeze/places/22/folder.svg +13 -0
  217. dcscope/img/icon-theme/breeze/places/24/folder-cloud.svg +12 -0
  218. dcscope/img/icon-theme/breeze/places/24/folder.svg +12 -0
  219. dcscope/img/icon-theme/breeze/places/32/folder-cloud.svg +35 -0
  220. dcscope/img/icon-theme/breeze/places/32/folder.svg +30 -0
  221. dcscope/img/icon-theme/breeze/places/64/folder-cloud.svg +35 -0
  222. dcscope/img/icon-theme/breeze/places/64/folder.svg +30 -0
  223. dcscope/img/icon-theme/breeze/status/16/dialog-error.svg +9 -0
  224. dcscope/img/icon-theme/breeze/status/16/dialog-information.svg +9 -0
  225. dcscope/img/icon-theme/breeze/status/16/dialog-question.svg +7 -0
  226. dcscope/img/icon-theme/breeze/status/16/dialog-warning.svg +9 -0
  227. dcscope/img/icon-theme/breeze/status/22/dialog-error.svg +9 -0
  228. dcscope/img/icon-theme/breeze/status/22/dialog-information.svg +9 -0
  229. dcscope/img/icon-theme/breeze/status/22/dialog-question.svg +7 -0
  230. dcscope/img/icon-theme/breeze/status/22/dialog-warning.svg +9 -0
  231. dcscope/img/icon-theme/breeze/status/24/dialog-error.svg +13 -0
  232. dcscope/img/icon-theme/breeze/status/24/dialog-information.svg +13 -0
  233. dcscope/img/icon-theme/breeze/status/24/dialog-question.svg +9 -0
  234. dcscope/img/icon-theme/breeze/status/24/dialog-warning.svg +1 -0
  235. dcscope/img/icon-theme/breeze/status/64/dialog-error.svg +25 -0
  236. dcscope/img/icon-theme/breeze/status/64/dialog-information.svg +25 -0
  237. dcscope/img/icon-theme/breeze/status/64/dialog-question.svg +25 -0
  238. dcscope/img/icon-theme/breeze/status/64/dialog-warning.svg +25 -0
  239. dcscope/img/icon-theme/collect_icons.py +124 -0
  240. dcscope/img/icon-theme/dcscope/dcor.png +0 -0
  241. dcscope/img/icon-theme/dcscope/edit-copy-anew.svg +13 -0
  242. dcscope/img/icon-theme/dcscope/emodulus.svg +69 -0
  243. dcscope/img/icon-theme/dcscope/filter_ray.svg +54 -0
  244. dcscope/img/icon-theme/dcscope/region_channel.svg +86 -0
  245. dcscope/img/icon-theme/dcscope/region_reservoir.svg +89 -0
  246. dcscope/img/icon-theme/dcscope/rlang.svg +108 -0
  247. dcscope/img/icon-theme/dcscope/statistical_significance.svg +106 -0
  248. dcscope/img/icon-theme/index.theme +81 -0
  249. dcscope/img/icon.png +0 -0
  250. dcscope/img/icon.svg +73 -0
  251. dcscope/img/splash.png +0 -0
  252. dcscope/meta_tool.py +143 -0
  253. dcscope/pipeline/__init__.py +5 -0
  254. dcscope/pipeline/core.py +632 -0
  255. dcscope/pipeline/dataslot.py +270 -0
  256. dcscope/pipeline/filter.py +161 -0
  257. dcscope/pipeline/filter_ray.py +170 -0
  258. dcscope/pipeline/plot.py +187 -0
  259. dcscope/plot_cache.py +79 -0
  260. dcscope/session.py +379 -0
  261. dcscope/util.py +34 -0
  262. dcscope-2.22.1.dist-info/METADATA +95 -0
  263. dcscope-2.22.1.dist-info/RECORD +267 -0
  264. dcscope-2.22.1.dist-info/WHEEL +5 -0
  265. dcscope-2.22.1.dist-info/entry_points.txt +2 -0
  266. dcscope-2.22.1.dist-info/licenses/LICENSE +621 -0
  267. dcscope-2.22.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,115 @@
1
+ import importlib.resources
2
+
3
+ from PyQt6 import uic, QtCore, QtWidgets
4
+
5
+ from ... import pipeline
6
+
7
+
8
+ class MatrixFilter(QtWidgets.QWidget):
9
+ active_toggled = QtCore.pyqtSignal()
10
+ enabled_toggled = QtCore.pyqtSignal(bool)
11
+ option_action = QtCore.pyqtSignal(str)
12
+ modify_clicked = QtCore.pyqtSignal(str)
13
+
14
+ def __init__(self, identifier=None, state=None, *args, **kwargs):
15
+ super(MatrixFilter, self).__init__(*args, **kwargs)
16
+ ref = importlib.resources.files(
17
+ "dcscope.gui.matrix") / "dm_filter.ui"
18
+ with importlib.resources.as_file(ref) as path_ui:
19
+ uic.loadUi(path_ui, self)
20
+
21
+ # options button
22
+ menu = QtWidgets.QMenu()
23
+ menu.addAction('duplicate', self.action_duplicate)
24
+ menu.addAction('remove', self.action_remove)
25
+ self.toolButton_opt.setMenu(menu)
26
+
27
+ # toggle all active, all inactive, semi state
28
+ self.toolButton_toggle.clicked.connect(self.active_toggled.emit)
29
+
30
+ # toggle enabled/disabled state
31
+ self.checkBox.clicked.connect(self.on_enabled_toggled)
32
+
33
+ # modify filter button
34
+ self.toolButton_modify.clicked.connect(self.on_modify)
35
+
36
+ if state is None:
37
+ filt = pipeline.Filter._instances[identifier]
38
+ self.identifier = identifier
39
+ self.name = filt.name
40
+ # set tooltip/label
41
+ self.update_content()
42
+ else:
43
+ self.write_pipeline_state(state)
44
+
45
+ def read_pipeline_state(self):
46
+ state = {"enabled": self.enabled,
47
+ "identifier": self.identifier,
48
+ "name": self.name,
49
+ }
50
+ return state
51
+
52
+ def write_pipeline_state(self, state):
53
+ if state["identifier"] not in pipeline.Filter._instances:
54
+ # Create a new filter with the identifier
55
+ pipeline.Filter(identifier=state["identifier"])
56
+ self.identifier = state["identifier"]
57
+ self.enabled = state["enabled"]
58
+ self.name = state["name"]
59
+ self.update_content()
60
+
61
+ @property
62
+ def enabled(self):
63
+ filt = pipeline.Filter._instances[self.identifier]
64
+ return filt.general["enable filters"]
65
+
66
+ @enabled.setter
67
+ def enabled(self, b):
68
+ filt = pipeline.Filter._instances[self.identifier]
69
+ filt.general["enable filters"] = b
70
+
71
+ @property
72
+ def name(self):
73
+ filt = pipeline.Filter._instances[self.identifier]
74
+ return filt.name
75
+
76
+ @name.setter
77
+ def name(self, text):
78
+ filt = pipeline.Filter._instances[self.identifier]
79
+ filt.name = text
80
+
81
+ def action_duplicate(self):
82
+ self.option_action.emit("duplicate")
83
+
84
+ def action_remove(self):
85
+ self.option_action.emit("remove")
86
+
87
+ def on_enabled_toggled(self, b):
88
+ self.enabled = b
89
+ self.enabled_toggled.emit(b)
90
+
91
+ def on_modify(self):
92
+ self.modify_clicked.emit(self.identifier)
93
+
94
+ def set_label_string(self, string):
95
+ if self.label.fontMetrics().boundingRect(string).width() < 60:
96
+ nstring = string
97
+ else:
98
+ nstring = string + "..."
99
+ while True:
100
+ width = self.label.fontMetrics().boundingRect(nstring).width()
101
+ if width > 60:
102
+ nstring = nstring[:-4] + "..."
103
+ else:
104
+ break
105
+ self.label.setText(nstring)
106
+
107
+ @QtCore.pyqtSlot()
108
+ def update_content(self):
109
+ """Reset tool tips and title"""
110
+ self.label.setToolTip(self.name)
111
+ self.set_label_string(self.name)
112
+ self.checkBox.blockSignals(True)
113
+ self.checkBox.setChecked(self.enabled)
114
+ self.checkBox.blockSignals(False)
115
+ self.enabled_toggled.emit(self.enabled)
@@ -0,0 +1,287 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ui version="4.0">
3
+ <class>Form</class>
4
+ <widget class="QWidget" name="Form">
5
+ <property name="enabled">
6
+ <bool>true</bool>
7
+ </property>
8
+ <property name="geometry">
9
+ <rect>
10
+ <x>0</x>
11
+ <y>0</y>
12
+ <width>94</width>
13
+ <height>110</height>
14
+ </rect>
15
+ </property>
16
+ <property name="sizePolicy">
17
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
18
+ <horstretch>0</horstretch>
19
+ <verstretch>0</verstretch>
20
+ </sizepolicy>
21
+ </property>
22
+ <property name="maximumSize">
23
+ <size>
24
+ <width>120</width>
25
+ <height>120</height>
26
+ </size>
27
+ </property>
28
+ <property name="font">
29
+ <font>
30
+ <pointsize>9</pointsize>
31
+ </font>
32
+ </property>
33
+ <property name="windowTitle">
34
+ <string>Form</string>
35
+ </property>
36
+ <property name="autoFillBackground">
37
+ <bool>false</bool>
38
+ </property>
39
+ <property name="styleSheet">
40
+ <string notr="true">background-color:#E7E186; color:black</string>
41
+ </property>
42
+ <layout class="QVBoxLayout" name="verticalLayout">
43
+ <property name="spacing">
44
+ <number>0</number>
45
+ </property>
46
+ <property name="sizeConstraint">
47
+ <enum>QLayout::SetFixedSize</enum>
48
+ </property>
49
+ <property name="leftMargin">
50
+ <number>0</number>
51
+ </property>
52
+ <property name="topMargin">
53
+ <number>0</number>
54
+ </property>
55
+ <property name="rightMargin">
56
+ <number>0</number>
57
+ </property>
58
+ <property name="bottomMargin">
59
+ <number>0</number>
60
+ </property>
61
+ <item>
62
+ <widget class="QWidget" name="widget" native="true">
63
+ <property name="sizePolicy">
64
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
65
+ <horstretch>0</horstretch>
66
+ <verstretch>0</verstretch>
67
+ </sizepolicy>
68
+ </property>
69
+ <property name="minimumSize">
70
+ <size>
71
+ <width>80</width>
72
+ <height>80</height>
73
+ </size>
74
+ </property>
75
+ <property name="maximumSize">
76
+ <size>
77
+ <width>16777215</width>
78
+ <height>16777215</height>
79
+ </size>
80
+ </property>
81
+ <property name="layoutDirection">
82
+ <enum>Qt::LeftToRight</enum>
83
+ </property>
84
+ <layout class="QVBoxLayout" name="verticalLayout_2">
85
+ <property name="spacing">
86
+ <number>2</number>
87
+ </property>
88
+ <property name="sizeConstraint">
89
+ <enum>QLayout::SetFixedSize</enum>
90
+ </property>
91
+ <property name="leftMargin">
92
+ <number>2</number>
93
+ </property>
94
+ <property name="topMargin">
95
+ <number>2</number>
96
+ </property>
97
+ <property name="rightMargin">
98
+ <number>2</number>
99
+ </property>
100
+ <property name="bottomMargin">
101
+ <number>2</number>
102
+ </property>
103
+ <item alignment="Qt::AlignHCenter">
104
+ <widget class="QLabel" name="label">
105
+ <property name="sizePolicy">
106
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
107
+ <horstretch>0</horstretch>
108
+ <verstretch>0</verstretch>
109
+ </sizepolicy>
110
+ </property>
111
+ <property name="font">
112
+ <font>
113
+ <pointsize>9</pointsize>
114
+ </font>
115
+ </property>
116
+ <property name="text">
117
+ <string>Name</string>
118
+ </property>
119
+ <property name="alignment">
120
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
121
+ </property>
122
+ </widget>
123
+ </item>
124
+ <item>
125
+ <widget class="QToolButton" name="toolButton_modify">
126
+ <property name="sizePolicy">
127
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
128
+ <horstretch>0</horstretch>
129
+ <verstretch>0</verstretch>
130
+ </sizepolicy>
131
+ </property>
132
+ <property name="font">
133
+ <font>
134
+ <pointsize>9</pointsize>
135
+ </font>
136
+ </property>
137
+ <property name="toolTip">
138
+ <string>Modify this filter in Analysis View</string>
139
+ </property>
140
+ <property name="text">
141
+ <string>edit</string>
142
+ </property>
143
+ <property name="icon">
144
+ <iconset theme="tools-wizard">
145
+ <normaloff>.</normaloff>.</iconset>
146
+ </property>
147
+ <property name="toolButtonStyle">
148
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
149
+ </property>
150
+ <property name="autoRaise">
151
+ <bool>true</bool>
152
+ </property>
153
+ </widget>
154
+ </item>
155
+ <item>
156
+ <layout class="QHBoxLayout" name="horizontalLayout">
157
+ <property name="spacing">
158
+ <number>0</number>
159
+ </property>
160
+ <property name="leftMargin">
161
+ <number>0</number>
162
+ </property>
163
+ <property name="topMargin">
164
+ <number>0</number>
165
+ </property>
166
+ <property name="rightMargin">
167
+ <number>0</number>
168
+ </property>
169
+ <item alignment="Qt::AlignVCenter">
170
+ <widget class="QCheckBox" name="checkBox">
171
+ <property name="sizePolicy">
172
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
173
+ <horstretch>0</horstretch>
174
+ <verstretch>0</verstretch>
175
+ </sizepolicy>
176
+ </property>
177
+ <property name="toolTip">
178
+ <string>Use this filter</string>
179
+ </property>
180
+ <property name="layoutDirection">
181
+ <enum>Qt::LeftToRight</enum>
182
+ </property>
183
+ <property name="text">
184
+ <string/>
185
+ </property>
186
+ <property name="checked">
187
+ <bool>true</bool>
188
+ </property>
189
+ <property name="tristate">
190
+ <bool>false</bool>
191
+ </property>
192
+ </widget>
193
+ </item>
194
+ <item>
195
+ <spacer name="horizontalSpacer">
196
+ <property name="orientation">
197
+ <enum>Qt::Horizontal</enum>
198
+ </property>
199
+ <property name="sizeHint" stdset="0">
200
+ <size>
201
+ <width>0</width>
202
+ <height>20</height>
203
+ </size>
204
+ </property>
205
+ </spacer>
206
+ </item>
207
+ <item>
208
+ <widget class="QToolButton" name="toolButton_toggle">
209
+ <property name="sizePolicy">
210
+ <sizepolicy hsizetype="Minimum" vsizetype="Minimum">
211
+ <horstretch>0</horstretch>
212
+ <verstretch>0</verstretch>
213
+ </sizepolicy>
214
+ </property>
215
+ <property name="toolTip">
216
+ <string>Activate/Deactivate filter for all datasets</string>
217
+ </property>
218
+ <property name="text">
219
+ <string>c</string>
220
+ </property>
221
+ <property name="icon">
222
+ <iconset theme="object-columns">
223
+ <normaloff>.</normaloff>.</iconset>
224
+ </property>
225
+ <property name="autoRaise">
226
+ <bool>true</bool>
227
+ </property>
228
+ </widget>
229
+ </item>
230
+ <item>
231
+ <spacer name="horizontalSpacer_2">
232
+ <property name="orientation">
233
+ <enum>Qt::Horizontal</enum>
234
+ </property>
235
+ <property name="sizeHint" stdset="0">
236
+ <size>
237
+ <width>0</width>
238
+ <height>20</height>
239
+ </size>
240
+ </property>
241
+ </spacer>
242
+ </item>
243
+ <item>
244
+ <widget class="QToolButton" name="toolButton_opt">
245
+ <property name="sizePolicy">
246
+ <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
247
+ <horstretch>0</horstretch>
248
+ <verstretch>0</verstretch>
249
+ </sizepolicy>
250
+ </property>
251
+ <property name="maximumSize">
252
+ <size>
253
+ <width>50</width>
254
+ <height>16777215</height>
255
+ </size>
256
+ </property>
257
+ <property name="text">
258
+ <string>...</string>
259
+ </property>
260
+ <property name="icon">
261
+ <iconset theme="preferences-activities">
262
+ <normaloff>.</normaloff>.</iconset>
263
+ </property>
264
+ <property name="popupMode">
265
+ <enum>QToolButton::InstantPopup</enum>
266
+ </property>
267
+ <property name="toolButtonStyle">
268
+ <enum>Qt::ToolButtonIconOnly</enum>
269
+ </property>
270
+ <property name="autoRaise">
271
+ <bool>true</bool>
272
+ </property>
273
+ <property name="arrowType">
274
+ <enum>Qt::NoArrow</enum>
275
+ </property>
276
+ </widget>
277
+ </item>
278
+ </layout>
279
+ </item>
280
+ </layout>
281
+ </widget>
282
+ </item>
283
+ </layout>
284
+ </widget>
285
+ <resources/>
286
+ <connections/>
287
+ </ui>