pyqttoolkit 0.7.29__tar.gz → 0.7.31__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 (136) hide show
  1. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/PKG-INFO +1 -1
  2. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/_version.py +3 -3
  3. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/matplotlib/__init__.py +23 -23
  4. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/matplotlib/base.py +49 -30
  5. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit.egg-info/PKG-INFO +1 -1
  6. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/MANIFEST.in +0 -0
  7. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/README.md +0 -0
  8. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/__init__.py +0 -0
  9. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/application/__init__.py +0 -0
  10. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/application/application.py +0 -0
  11. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/application/garbage_collector.py +0 -0
  12. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/colors/__init__.py +0 -0
  13. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/__init__.py +0 -0
  14. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/base.py +0 -0
  15. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/composite.py +0 -0
  16. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/default.py +0 -0
  17. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/environment.py +0 -0
  18. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/multi_json_file.py +0 -0
  19. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/with_signal.py +0 -0
  20. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/config/with_value_changed.py +0 -0
  21. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/data/__init__.py +0 -0
  22. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/data/bits.py +0 -0
  23. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/data/cache.py +0 -0
  24. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/data/interval.py +0 -0
  25. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/data/names.py +0 -0
  26. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/datetime/__init__.py +0 -0
  27. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/datetime/datetime.py +0 -0
  28. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/datetime/qdatetime.py +0 -0
  29. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/dependencies/__init__.py +0 -0
  30. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/errors/__init__.py +0 -0
  31. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/filesystem/__init__.py +0 -0
  32. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/logs/__init__.py +0 -0
  33. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/metadata/__init__.py +0 -0
  34. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/metadata/dataframe_metadata_manager.py +0 -0
  35. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/metadata/dict_metadata_manager.py +0 -0
  36. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/metadata/id_generator.py +0 -0
  37. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/metadata/metadata_manager_base.py +0 -0
  38. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/__init__.py +0 -0
  39. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/code_text.py +0 -0
  40. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/dataframetable.py +0 -0
  41. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/dictpropertytree.py +0 -0
  42. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/dicttable.py +0 -0
  43. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/json_text.py +0 -0
  44. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/list_model.py +0 -0
  45. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/module.py +0 -0
  46. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/roles.py +0 -0
  47. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/series_data.py +0 -0
  48. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/span.py +0 -0
  49. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/models/validation.py +0 -0
  50. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/__init__.py +0 -0
  51. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/events/__init__.py +0 -0
  52. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/events/add_signal.py +0 -0
  53. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/events/module_opening.py +0 -0
  54. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/events/rejectable.py +0 -0
  55. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/launcher_config.py +0 -0
  56. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/modules/module.py +0 -0
  57. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/properties/__init__.py +0 -0
  58. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/properties/auto.py +0 -0
  59. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/properties/throttled.py +0 -0
  60. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/scripting/__init__.py +0 -0
  61. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/scripting/script_context.py +0 -0
  62. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/scripting/script_runner.py +0 -0
  63. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/scripting/script_template.py +0 -0
  64. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/__init__.py +0 -0
  65. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/autosave.py +0 -0
  66. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/email.py +0 -0
  67. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/event_registry.py +0 -0
  68. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/file_dialog.py +0 -0
  69. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/hotkey_manager.py +0 -0
  70. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/link_manager.py +0 -0
  71. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/message_board.py +0 -0
  72. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/module_service.py +0 -0
  73. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/object_converter.py +0 -0
  74. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/project_updater.py +0 -0
  75. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/task_runner.py +0 -0
  76. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/theme_manager.py +0 -0
  77. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/services/tool_window_service.py +0 -0
  78. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/viewmanagers/__init__.py +0 -0
  79. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/viewmanagers/tool.py +0 -0
  80. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/__init__.py +0 -0
  81. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/bulk_value_selector.py +0 -0
  82. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/check_box.py +0 -0
  83. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/code/__init__.py +0 -0
  84. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/code/code_edit.py +0 -0
  85. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/code/python_syntax.py +0 -0
  86. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/combo_box.py +0 -0
  87. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/count_selector.py +0 -0
  88. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/datetime.py +0 -0
  89. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/datetime_range_selector.py +0 -0
  90. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/default_text_line_edit.py +0 -0
  91. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/delegates.py +0 -0
  92. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/dtype_edit.py +0 -0
  93. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/editable_combo_box.py +0 -0
  94. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/file_selector.py +0 -0
  95. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/icon.py +0 -0
  96. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/icon_button.py +0 -0
  97. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/json_edit.py +0 -0
  98. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/labelled.py +0 -0
  99. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/layout/__init__.py +0 -0
  100. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/layout/collabsible.py +0 -0
  101. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/layout/group_box.py +0 -0
  102. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/layout/group_panel.py +0 -0
  103. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/layout/lines.py +0 -0
  104. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/layout/link.py +0 -0
  105. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/line_edit.py +0 -0
  106. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/linkable.py +0 -0
  107. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/list_view.py +0 -0
  108. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/main_window.py +0 -0
  109. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/metadata_selector.py +0 -0
  110. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/modulewindow.py +0 -0
  111. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/__init__.py +0 -0
  112. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/legend_control.py +0 -0
  113. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/matplotlib/colorbar.py +0 -0
  114. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/matplotlib/colormap.py +0 -0
  115. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/matplotlib/font.py +0 -0
  116. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/plot_options.py +0 -0
  117. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/plot_toolbar_options.py +0 -0
  118. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/size.py +0 -0
  119. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/tool_type.py +0 -0
  120. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/plot/toolbar.py +0 -0
  121. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/popout.py +0 -0
  122. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/popup.py +0 -0
  123. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/property_tree.py +0 -0
  124. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/shrunk_push_button.py +0 -0
  125. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/steppable_combo_box.py +0 -0
  126. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/styleable.py +0 -0
  127. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/table.py +0 -0
  128. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/text_edit.py +0 -0
  129. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit/views/tool_window.py +0 -0
  130. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit.egg-info/SOURCES.txt +0 -0
  131. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit.egg-info/dependency_links.txt +0 -0
  132. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit.egg-info/requires.txt +0 -0
  133. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/pyqttoolkit.egg-info/top_level.txt +0 -0
  134. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/setup.cfg +0 -0
  135. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/setup.py +0 -0
  136. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.31}/versioneer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyqttoolkit
3
- Version: 0.7.29
3
+ Version: 0.7.31
4
4
  Summary: A toolkit for PyQt 5
5
5
  Home-page: https://github.com/Simmovation/pyqttoolkit
6
6
  Author: Simmovation Ltd
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-05-30T09:32:24+0100",
11
+ "date": "2024-08-05T12:00:52+0100",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "c70604468f141cd09e7129931e90dc739d1b1226",
15
- "version": "0.7.29"
14
+ "full-revisionid": "82d72d579c7ed494df69c52c651298832961a41e",
15
+ "version": "0.7.31"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -1,23 +1,23 @@
1
- # pyqttoolkit
2
- # Copyright (C) 2018-2019, Simmovation Ltd.
3
- #
4
- # This program is free software; you can redistribute it and/or modify
5
- # it under the terms of the GNU General Public License as published by
6
- # the Free Software Foundation; either version 3 of the License, or
7
- # (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software Foundation,
16
- # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
- """:mod:`matplotlib`
18
- Defines the matplotlib plot view
19
- """
20
- from .base import MatPlotLibBase
21
- from .font import MatPlotLibFont
22
- from .colormap import MatPlotLibColormap
23
- from .colorbar import MatPlotColorbar
1
+ # pyqttoolkit
2
+ # Copyright (C) 2018-2019, Simmovation Ltd.
3
+ #
4
+ # This program is free software; you can redistribute it and/or modify
5
+ # it under the terms of the GNU General Public License as published by
6
+ # the Free Software Foundation; either version 3 of the License, or
7
+ # (at your option) any later version.
8
+ #
9
+ # This program is distributed in the hope that it will be useful,
10
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ # GNU General Public License for more details.
13
+ #
14
+ # You should have received a copy of the GNU General Public License
15
+ # along with this program; if not, write to the Free Software Foundation,
16
+ # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
+ """:mod:`matplotlib`
18
+ Defines the matplotlib plot view
19
+ """
20
+ from .base import MatPlotLibBase, _RectangleSelector, _SpanSelector
21
+ from .font import MatPlotLibFont
22
+ from .colormap import MatPlotLibColormap
23
+ from .colorbar import MatPlotColorbar
@@ -53,7 +53,7 @@ def _safe_limits(lower, upper):
53
53
  upper = _to_finite(upper)
54
54
  return min(lower, upper), max(lower, upper)
55
55
 
56
- class _SpanSeletor(SpanSelector):
56
+ class _SpanSelector(SpanSelector):
57
57
  def __init__(self, *args, **kwargs):
58
58
  SpanSelector.__init__(self, *args, **kwargs)
59
59
  self._select_none_handler = None
@@ -133,7 +133,7 @@ class MatPlotLibBase(QWidget):
133
133
  self._axes.ticklabel_format(style='sci', axis='x', scilimits=(-4, 4))
134
134
  self._axes.ticklabel_format(style='sci', axis='y', scilimits=(-4, 4))
135
135
  self._active_tools = {}
136
- self._span = _SpanSeletor(
136
+ self._span = _SpanSelector(
137
137
  self._axes, self._handle_span_select, 'horizontal',
138
138
  props=dict(alpha=0.2, facecolor='red', edgecolor='k'),
139
139
  interactive=True, drag_from_anywhere=True, handle_props=dict(alpha=0.0),
@@ -292,14 +292,17 @@ class MatPlotLibBase(QWidget):
292
292
  for child in handle.get_children():
293
293
  self._set_series_visibility(child, visible)
294
294
 
295
- def _update_grid_lines(self):
296
- show_grid_lines = False if self._options_view is None else self._options_view.showGridLines
297
- gridline_color = self._axes.spines['bottom'].get_edgecolor()
295
+ def _do_update_grid_lines(self, axes):
296
+ show_grid_lines = self._options_view and self._options_view.showGridLines
297
+ gridline_color = axes.spines[list(axes.spines.keys())[0]].get_edgecolor()
298
298
  gridline_color = gridline_color[0], gridline_color[1], gridline_color[2], 0.5
299
299
  kwargs = dict(color=gridline_color, alpha=0.5) if show_grid_lines else {}
300
- self._axes.grid(show_grid_lines, **kwargs)
300
+ axes.grid(show_grid_lines, **kwargs)
301
301
  self.draw()
302
-
302
+
303
+ def _update_grid_lines(self):
304
+ self._do_update_grid_lines(self._axes)
305
+
303
306
  def _handle_options_view_limit_changed(self, x_min_changed=False, x_max_changed=False, y_min_changed=False, y_max_changed=False):
304
307
  def _():
305
308
  if self._options_view is None or self._setting_axis_limits:
@@ -466,7 +469,10 @@ class MatPlotLibBase(QWidget):
466
469
  min_ -= diff * skew
467
470
  return min_, max_
468
471
 
469
- def _set_axes_limits(self):
472
+ def _ensure_x_limit(self, _axes, x_limit):
473
+ return float(x_limit)
474
+
475
+ def _do_set_axes_limits(self, axes):
470
476
  try:
471
477
  self._setting_axis_limits = True
472
478
  if self._secondary_axes is not None:
@@ -475,14 +481,19 @@ class MatPlotLibBase(QWidget):
475
481
  (x_min, x_max), (y_min, y_max) = self._get_xy_extents()
476
482
  if self._options_view is not None:
477
483
  if self._options_view.x_limits:
478
- self._options_view.setXLimits(float(x_min), float(x_max))
484
+ self._options_view.setXLimits(
485
+ self._ensure_x_limit(axes, x_min),
486
+ self._ensure_x_limit(axes, x_max))
479
487
  if self._options_view.y_limits:
480
488
  self._options_view.setYLimits(float(y_min), float(y_max))
481
- self._axes.set_xlim(*_safe_limits(x_min, x_max))
482
- self._axes.set_ylim(*_safe_limits(y_min, y_max))
489
+ axes.set_xlim(*_safe_limits(x_min, x_max))
490
+ axes.set_ylim(*_safe_limits(y_min, y_max))
483
491
  finally:
484
492
  self._setting_axis_limits = False
485
-
493
+
494
+ def _set_axes_limits(self):
495
+ self._do_set_axes_limits(self.axes)
496
+
486
497
  def _set_secondary_axes_limits(self):
487
498
  if self._options_view is not None:
488
499
  if self._options_view.secondary_y_limits:
@@ -677,23 +688,26 @@ class MatPlotLibBase(QWidget):
677
688
  def toolAvailable(self, _tool_type):
678
689
  return False
679
690
 
691
+ def _activate_span_tool(self, span_tool, active, axes=None):
692
+ if span_tool.active and not active:
693
+ self._previous_span = self.span
694
+ self.span = None
695
+ for r in [span_tool.rect]:
696
+ self._remove_artist(r)
697
+ elif not span_tool.active and active:
698
+ self.span = self._previous_span
699
+ for r in [span_tool.rect]:
700
+ self._add_artist(r, axes=axes)
701
+ span_tool.active = active
702
+ self.draw()
703
+
680
704
  def activateTool(self, tool_type, active):
681
705
  if tool_type == ToolType.zoom:
682
706
  self._zoom_selector.set_active(active)
683
707
  if not active:
684
708
  self._zoom_selector.clear()
685
709
  elif tool_type == ToolType.span:
686
- if self._span.active and not active:
687
- self._previous_span = self.span
688
- self.span = None
689
- for r in [self._span.rect]:
690
- self._remove_artist(r)
691
- elif not self._span.active and active:
692
- self.span = self._previous_span
693
- for r in [self._span.rect]:
694
- self._add_artist(r)
695
- self._span.active = active
696
- self.draw()
710
+ self._activate_span_tool(self._span, active)
697
711
  elif tool_type == ToolType.pan:
698
712
  self._is_panning = active
699
713
  self._active_tools[tool_type] = active
@@ -704,8 +718,9 @@ class MatPlotLibBase(QWidget):
704
718
  def isActiveDefault(self, _tool_type):
705
719
  return False
706
720
 
707
- def _add_artist(self, artist):
708
- self._axes.add_artist(artist)
721
+ def _add_artist(self, artist, axes=None):
722
+ axes = axes or self._axes
723
+ axes.add_artist(artist)
709
724
  self._decoration_artists.append(artist)
710
725
 
711
726
  def _remove_artist(self, artist):
@@ -717,7 +732,8 @@ class MatPlotLibBase(QWidget):
717
732
  self._update_ticks()
718
733
  return self.draw()
719
734
 
720
- def draw(self, artists=None):
735
+
736
+ def _draw(self, artists=None, axes=None):
721
737
  if artists is None:
722
738
  def _update():
723
739
  for a in self._decoration_artists:
@@ -725,8 +741,8 @@ class MatPlotLibBase(QWidget):
725
741
  self._canvas.draw()
726
742
  self._background_cache = self._canvas.copy_from_bbox(self._figure.bbox)
727
743
  for a in self._decoration_artists:
728
- self._axes.add_artist(a)
729
- self._axes.draw_artist(a)
744
+ axes.add_artist(a)
745
+ axes.draw_artist(a)
730
746
  self._canvas.update()
731
747
  self._pending_draw = _update
732
748
  else:
@@ -735,10 +751,13 @@ class MatPlotLibBase(QWidget):
735
751
  raise RuntimeError('Must run draw before drawing artists!')
736
752
  self._canvas.restore_region(self._background_cache)
737
753
  for a in artists:
738
- self._axes.draw_artist(a)
754
+ axes.draw_artist(a)
739
755
  self._canvas.update()
740
756
  self._pending_artists_draw = _update
741
-
757
+
758
+ def draw(self, artists=None):
759
+ return self._draw(artists, self._axes)
760
+
742
761
  def _do_draw_events(self):
743
762
  if self._pending_draw is not None:
744
763
  self._pending_draw()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyqttoolkit
3
- Version: 0.7.29
3
+ Version: 0.7.31
4
4
  Summary: A toolkit for PyQt 5
5
5
  Home-page: https://github.com/Simmovation/pyqttoolkit
6
6
  Author: Simmovation Ltd
File without changes
File without changes
File without changes
File without changes
File without changes