pyqttoolkit 0.7.29__tar.gz → 0.7.30__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.30}/PKG-INFO +2 -2
  2. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/_version.py +3 -3
  3. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/matplotlib/__init__.py +23 -23
  4. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/matplotlib/base.py +47 -30
  5. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit.egg-info/PKG-INFO +2 -2
  6. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/MANIFEST.in +0 -0
  7. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/README.md +0 -0
  8. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/__init__.py +0 -0
  9. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/application/__init__.py +0 -0
  10. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/application/application.py +0 -0
  11. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/application/garbage_collector.py +0 -0
  12. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/colors/__init__.py +0 -0
  13. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/__init__.py +0 -0
  14. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/base.py +0 -0
  15. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/composite.py +0 -0
  16. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/default.py +0 -0
  17. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/environment.py +0 -0
  18. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/multi_json_file.py +0 -0
  19. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/with_signal.py +0 -0
  20. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/config/with_value_changed.py +0 -0
  21. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/data/__init__.py +0 -0
  22. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/data/bits.py +0 -0
  23. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/data/cache.py +0 -0
  24. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/data/interval.py +0 -0
  25. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/data/names.py +0 -0
  26. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/datetime/__init__.py +0 -0
  27. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/datetime/datetime.py +0 -0
  28. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/datetime/qdatetime.py +0 -0
  29. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/dependencies/__init__.py +0 -0
  30. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/errors/__init__.py +0 -0
  31. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/filesystem/__init__.py +0 -0
  32. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/logs/__init__.py +0 -0
  33. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/metadata/__init__.py +0 -0
  34. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/metadata/dataframe_metadata_manager.py +0 -0
  35. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/metadata/dict_metadata_manager.py +0 -0
  36. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/metadata/id_generator.py +0 -0
  37. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/metadata/metadata_manager_base.py +0 -0
  38. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/__init__.py +0 -0
  39. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/code_text.py +0 -0
  40. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/dataframetable.py +0 -0
  41. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/dictpropertytree.py +0 -0
  42. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/dicttable.py +0 -0
  43. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/json_text.py +0 -0
  44. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/list_model.py +0 -0
  45. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/module.py +0 -0
  46. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/roles.py +0 -0
  47. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/series_data.py +0 -0
  48. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/span.py +0 -0
  49. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/models/validation.py +0 -0
  50. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/__init__.py +0 -0
  51. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/events/__init__.py +0 -0
  52. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/events/add_signal.py +0 -0
  53. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/events/module_opening.py +0 -0
  54. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/events/rejectable.py +0 -0
  55. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/launcher_config.py +0 -0
  56. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/modules/module.py +0 -0
  57. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/properties/__init__.py +0 -0
  58. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/properties/auto.py +0 -0
  59. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/properties/throttled.py +0 -0
  60. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/scripting/__init__.py +0 -0
  61. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/scripting/script_context.py +0 -0
  62. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/scripting/script_runner.py +0 -0
  63. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/scripting/script_template.py +0 -0
  64. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/__init__.py +0 -0
  65. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/autosave.py +0 -0
  66. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/email.py +0 -0
  67. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/event_registry.py +0 -0
  68. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/file_dialog.py +0 -0
  69. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/hotkey_manager.py +0 -0
  70. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/link_manager.py +0 -0
  71. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/message_board.py +0 -0
  72. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/module_service.py +0 -0
  73. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/object_converter.py +0 -0
  74. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/project_updater.py +0 -0
  75. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/task_runner.py +0 -0
  76. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/theme_manager.py +0 -0
  77. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/services/tool_window_service.py +0 -0
  78. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/viewmanagers/__init__.py +0 -0
  79. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/viewmanagers/tool.py +0 -0
  80. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/__init__.py +0 -0
  81. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/bulk_value_selector.py +0 -0
  82. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/check_box.py +0 -0
  83. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/code/__init__.py +0 -0
  84. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/code/code_edit.py +0 -0
  85. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/code/python_syntax.py +0 -0
  86. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/combo_box.py +0 -0
  87. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/count_selector.py +0 -0
  88. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/datetime.py +0 -0
  89. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/datetime_range_selector.py +0 -0
  90. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/default_text_line_edit.py +0 -0
  91. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/delegates.py +0 -0
  92. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/dtype_edit.py +0 -0
  93. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/editable_combo_box.py +0 -0
  94. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/file_selector.py +0 -0
  95. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/icon.py +0 -0
  96. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/icon_button.py +0 -0
  97. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/json_edit.py +0 -0
  98. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/labelled.py +0 -0
  99. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/layout/__init__.py +0 -0
  100. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/layout/collabsible.py +0 -0
  101. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/layout/group_box.py +0 -0
  102. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/layout/group_panel.py +0 -0
  103. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/layout/lines.py +0 -0
  104. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/layout/link.py +0 -0
  105. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/line_edit.py +0 -0
  106. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/linkable.py +0 -0
  107. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/list_view.py +0 -0
  108. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/main_window.py +0 -0
  109. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/metadata_selector.py +0 -0
  110. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/modulewindow.py +0 -0
  111. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/__init__.py +0 -0
  112. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/legend_control.py +0 -0
  113. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/matplotlib/colorbar.py +0 -0
  114. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/matplotlib/colormap.py +0 -0
  115. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/matplotlib/font.py +0 -0
  116. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/plot_options.py +0 -0
  117. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/plot_toolbar_options.py +0 -0
  118. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/size.py +0 -0
  119. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/tool_type.py +0 -0
  120. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/plot/toolbar.py +0 -0
  121. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/popout.py +0 -0
  122. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/popup.py +0 -0
  123. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/property_tree.py +0 -0
  124. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/shrunk_push_button.py +0 -0
  125. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/steppable_combo_box.py +0 -0
  126. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/styleable.py +0 -0
  127. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/table.py +0 -0
  128. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/text_edit.py +0 -0
  129. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit/views/tool_window.py +0 -0
  130. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit.egg-info/SOURCES.txt +0 -0
  131. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit.egg-info/dependency_links.txt +0 -0
  132. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit.egg-info/requires.txt +0 -0
  133. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/pyqttoolkit.egg-info/top_level.txt +0 -0
  134. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/setup.cfg +0 -0
  135. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/setup.py +0 -0
  136. {pyqttoolkit-0.7.29 → pyqttoolkit-0.7.30}/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.30
4
4
  Summary: A toolkit for PyQt 5
5
5
  Home-page: https://github.com/Simmovation/pyqttoolkit
6
6
  Author: Simmovation Ltd
@@ -12,5 +12,5 @@ Description: # PyQtToolkit
12
12
  Platform: any
13
13
  Requires-Python: >=3.6
14
14
  Description-Content-Type: text/markdown
15
- Provides-Extra: publish
16
15
  Provides-Extra: test
16
+ Provides-Extra: publish
@@ -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-07-17T10:07:17+0100",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "c70604468f141cd09e7129931e90dc739d1b1226",
15
- "version": "0.7.29"
14
+ "full-revisionid": "fa13871c7fd5ab364e203a9611e279e13ff51cb4",
15
+ "version": "0.7.30"
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
@@ -29,6 +29,7 @@ from matplotlib.figure import Figure
29
29
  from matplotlib.widgets import RectangleSelector, SpanSelector
30
30
  from mpl_toolkits.axes_grid1 import Size, Divider
31
31
  from mpl_toolkits.axes_grid1.mpl_axes import Axes
32
+ from matplotlib.projections import PolarAxes
32
33
 
33
34
  import pandas as pd
34
35
 
@@ -53,7 +54,7 @@ def _safe_limits(lower, upper):
53
54
  upper = _to_finite(upper)
54
55
  return min(lower, upper), max(lower, upper)
55
56
 
56
- class _SpanSeletor(SpanSelector):
57
+ class _SpanSelector(SpanSelector):
57
58
  def __init__(self, *args, **kwargs):
58
59
  SpanSelector.__init__(self, *args, **kwargs)
59
60
  self._select_none_handler = None
@@ -133,7 +134,7 @@ class MatPlotLibBase(QWidget):
133
134
  self._axes.ticklabel_format(style='sci', axis='x', scilimits=(-4, 4))
134
135
  self._axes.ticklabel_format(style='sci', axis='y', scilimits=(-4, 4))
135
136
  self._active_tools = {}
136
- self._span = _SpanSeletor(
137
+ self._span = _SpanSelector(
137
138
  self._axes, self._handle_span_select, 'horizontal',
138
139
  props=dict(alpha=0.2, facecolor='red', edgecolor='k'),
139
140
  interactive=True, drag_from_anywhere=True, handle_props=dict(alpha=0.0),
@@ -292,14 +293,17 @@ class MatPlotLibBase(QWidget):
292
293
  for child in handle.get_children():
293
294
  self._set_series_visibility(child, visible)
294
295
 
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()
296
+ def _do_update_grid_lines(self, axes):
297
+ show_grid_lines = self._options_view and self._options_view.showGridLines
298
+ gridline_color = axes.spines[list(axes.spines.keys())[0]].get_edgecolor()
298
299
  gridline_color = gridline_color[0], gridline_color[1], gridline_color[2], 0.5
299
300
  kwargs = dict(color=gridline_color, alpha=0.5) if show_grid_lines else {}
300
- self._axes.grid(show_grid_lines, **kwargs)
301
+ axes.grid(show_grid_lines, **kwargs)
301
302
  self.draw()
302
-
303
+
304
+ def _update_grid_lines(self):
305
+ self._do_update_grid_lines(self._axes)
306
+
303
307
  def _handle_options_view_limit_changed(self, x_min_changed=False, x_max_changed=False, y_min_changed=False, y_max_changed=False):
304
308
  def _():
305
309
  if self._options_view is None or self._setting_axis_limits:
@@ -466,7 +470,7 @@ class MatPlotLibBase(QWidget):
466
470
  min_ -= diff * skew
467
471
  return min_, max_
468
472
 
469
- def _set_axes_limits(self):
473
+ def _do_set_axes_limits(self, axes):
470
474
  try:
471
475
  self._setting_axis_limits = True
472
476
  if self._secondary_axes is not None:
@@ -475,14 +479,19 @@ class MatPlotLibBase(QWidget):
475
479
  (x_min, x_max), (y_min, y_max) = self._get_xy_extents()
476
480
  if self._options_view is not None:
477
481
  if self._options_view.x_limits:
478
- self._options_view.setXLimits(float(x_min), float(x_max))
482
+ self._options_view.setXLimits(
483
+ float(np.degrees(x_min) if isinstance(axes, PolarAxes) else x_min),
484
+ float(np.degrees(x_max) if isinstance(axes, PolarAxes) else x_max))
479
485
  if self._options_view.y_limits:
480
486
  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))
487
+ axes.set_xlim(*_safe_limits(x_min, x_max))
488
+ axes.set_ylim(*_safe_limits(y_min, y_max))
483
489
  finally:
484
490
  self._setting_axis_limits = False
485
-
491
+
492
+ def _set_axes_limits(self):
493
+ self._do_set_axes_limits(self.axes)
494
+
486
495
  def _set_secondary_axes_limits(self):
487
496
  if self._options_view is not None:
488
497
  if self._options_view.secondary_y_limits:
@@ -677,23 +686,26 @@ class MatPlotLibBase(QWidget):
677
686
  def toolAvailable(self, _tool_type):
678
687
  return False
679
688
 
689
+ def _activate_span_tool(self, span_tool, active, axes=None):
690
+ if span_tool.active and not active:
691
+ self._previous_span = self.span
692
+ self.span = None
693
+ for r in [span_tool.rect]:
694
+ self._remove_artist(r)
695
+ elif not span_tool.active and active:
696
+ self.span = self._previous_span
697
+ for r in [span_tool.rect]:
698
+ self._add_artist(r, axes=axes)
699
+ span_tool.active = active
700
+ self.draw()
701
+
680
702
  def activateTool(self, tool_type, active):
681
703
  if tool_type == ToolType.zoom:
682
704
  self._zoom_selector.set_active(active)
683
705
  if not active:
684
706
  self._zoom_selector.clear()
685
707
  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()
708
+ self._activate_span_tool(self._span, active)
697
709
  elif tool_type == ToolType.pan:
698
710
  self._is_panning = active
699
711
  self._active_tools[tool_type] = active
@@ -704,8 +716,9 @@ class MatPlotLibBase(QWidget):
704
716
  def isActiveDefault(self, _tool_type):
705
717
  return False
706
718
 
707
- def _add_artist(self, artist):
708
- self._axes.add_artist(artist)
719
+ def _add_artist(self, artist, axes=None):
720
+ axes = axes or self._axes
721
+ axes.add_artist(artist)
709
722
  self._decoration_artists.append(artist)
710
723
 
711
724
  def _remove_artist(self, artist):
@@ -717,7 +730,8 @@ class MatPlotLibBase(QWidget):
717
730
  self._update_ticks()
718
731
  return self.draw()
719
732
 
720
- def draw(self, artists=None):
733
+
734
+ def _draw(self, artists=None, axes=None):
721
735
  if artists is None:
722
736
  def _update():
723
737
  for a in self._decoration_artists:
@@ -725,8 +739,8 @@ class MatPlotLibBase(QWidget):
725
739
  self._canvas.draw()
726
740
  self._background_cache = self._canvas.copy_from_bbox(self._figure.bbox)
727
741
  for a in self._decoration_artists:
728
- self._axes.add_artist(a)
729
- self._axes.draw_artist(a)
742
+ axes.add_artist(a)
743
+ axes.draw_artist(a)
730
744
  self._canvas.update()
731
745
  self._pending_draw = _update
732
746
  else:
@@ -735,10 +749,13 @@ class MatPlotLibBase(QWidget):
735
749
  raise RuntimeError('Must run draw before drawing artists!')
736
750
  self._canvas.restore_region(self._background_cache)
737
751
  for a in artists:
738
- self._axes.draw_artist(a)
752
+ axes.draw_artist(a)
739
753
  self._canvas.update()
740
754
  self._pending_artists_draw = _update
741
-
755
+
756
+ def draw(self, artists=None):
757
+ return self._draw(artists, self._axes)
758
+
742
759
  def _do_draw_events(self):
743
760
  if self._pending_draw is not None:
744
761
  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.30
4
4
  Summary: A toolkit for PyQt 5
5
5
  Home-page: https://github.com/Simmovation/pyqttoolkit
6
6
  Author: Simmovation Ltd
@@ -12,5 +12,5 @@ Description: # PyQtToolkit
12
12
  Platform: any
13
13
  Requires-Python: >=3.6
14
14
  Description-Content-Type: text/markdown
15
- Provides-Extra: publish
16
15
  Provides-Extra: test
16
+ Provides-Extra: publish
File without changes
File without changes
File without changes
File without changes
File without changes