ms-components 0.1.0__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 (84) hide show
  1. ms_components/__init__.py +0 -0
  2. ms_components/base.qss +252 -0
  3. ms_components/listview.py +1287 -0
  4. ms_components/ms_dockwidget/__init__.py +0 -0
  5. ms_components/ms_dockwidget/resources/__init__.py +1 -0
  6. ms_components/ms_dockwidget/resources/icons/__init__.py +10 -0
  7. ms_components/ms_dockwidget/resources/icons/folder.svg +5 -0
  8. ms_components/ms_dockwidget/widget.py +1975 -0
  9. ms_components/ms_monitor/__init__.py +43 -0
  10. ms_components/ms_monitor/bridge.py +400 -0
  11. ms_components/ms_monitor/cards.py +75 -0
  12. ms_components/ms_monitor/chunk_panel.py +85 -0
  13. ms_components/ms_monitor/config.py +20 -0
  14. ms_components/ms_monitor/events_panel.py +178 -0
  15. ms_components/ms_monitor/executor_panel.py +149 -0
  16. ms_components/ms_monitor/executors_tab.py +355 -0
  17. ms_components/ms_monitor/formatting.py +51 -0
  18. ms_components/ms_monitor/job_cards.py +536 -0
  19. ms_components/ms_monitor/job_filter_proxy.py +48 -0
  20. ms_components/ms_monitor/job_tree_model.py +106 -0
  21. ms_components/ms_monitor/models.py +165 -0
  22. ms_components/ms_monitor/palette.py +41 -0
  23. ms_components/ms_monitor/polling.py +498 -0
  24. ms_components/ms_monitor/widget.py +401 -0
  25. ms_components/ms_projects/__init__.py +4 -0
  26. ms_components/ms_projects/app.py +18 -0
  27. ms_components/ms_projects/browser.py +2132 -0
  28. ms_components/ms_projects/scratch.py +772 -0
  29. ms_components/ms_projects/widget.py +284 -0
  30. ms_components/ms_pymol/__init__.py +13 -0
  31. ms_components/ms_pymol/icons/actions.svg +1 -0
  32. ms_components/ms_pymol/icons/box.svg +1 -0
  33. ms_components/ms_pymol/icons/center.svg +1 -0
  34. ms_components/ms_pymol/icons/display.svg +4 -0
  35. ms_components/ms_pymol/icons/hide.svg +1 -0
  36. ms_components/ms_pymol/icons/menu.svg +5 -0
  37. ms_components/ms_pymol/icons/orient.svg +11 -0
  38. ms_components/ms_pymol/icons/presets.svg +7 -0
  39. ms_components/ms_pymol/icons/rock.svg +6 -0
  40. ms_components/ms_pymol/icons/selection.svg +11 -0
  41. ms_components/ms_pymol/icons/settings.svg +4 -0
  42. ms_components/ms_pymol/icons/zoom.svg +6 -0
  43. ms_components/ms_pymol/plugins.py +158 -0
  44. ms_components/ms_pymol/widget.py +700 -0
  45. ms_components/ms_settings/__init__.py +3 -0
  46. ms_components/ms_settings/panel.py +899 -0
  47. ms_components/ms_settings/workers_editor.py +335 -0
  48. ms_components/ms_stepper.py +1106 -0
  49. ms_components/ms_table/__init__.py +67 -0
  50. ms_components/ms_table/action_header.py +502 -0
  51. ms_components/ms_table/cell_delegate.py +278 -0
  52. ms_components/ms_table/column_panel.py +120 -0
  53. ms_components/ms_table/example_usage.py +376 -0
  54. ms_components/ms_table/filter_panel.py +326 -0
  55. ms_components/ms_table/icons/columns.svg +5 -0
  56. ms_components/ms_table/icons/export.svg +6 -0
  57. ms_components/ms_table/icons/filter.svg +1 -0
  58. ms_components/ms_table/icons/menu.svg +5 -0
  59. ms_components/ms_table/icons/reload.svg +4 -0
  60. ms_components/ms_table/icons/search.svg +1 -0
  61. ms_components/ms_table/icons/settings.svg +4 -0
  62. ms_components/ms_table/icons/sort-asc.svg +1 -0
  63. ms_components/ms_table/icons/sort-desc.svg +1 -0
  64. ms_components/ms_table/icons/sort.svg +1 -0
  65. ms_components/ms_table/metric_filter_bar.py +232 -0
  66. ms_components/ms_table/pagination_control.py +178 -0
  67. ms_components/ms_table/query_builder.py +545 -0
  68. ms_components/ms_table/session_provider.py +11 -0
  69. ms_components/ms_table/smart_table_view.py +1378 -0
  70. ms_components/ms_table/sort_panel.py +171 -0
  71. ms_components/ms_table/table_config.py +394 -0
  72. ms_components/ms_table/table_model.py +329 -0
  73. ms_components/ms_table/test_external_filters.py +66 -0
  74. ms_components/ms_table/test_toolbar.py +130 -0
  75. ms_components/pagination.py +221 -0
  76. ms_components/step_dialog.py +135 -0
  77. ms_components/theme.py +346 -0
  78. ms_components/tool_panel.py +480 -0
  79. ms_components/wheel.py +66 -0
  80. ms_components-0.1.0.dist-info/METADATA +47 -0
  81. ms_components-0.1.0.dist-info/RECORD +84 -0
  82. ms_components-0.1.0.dist-info/WHEEL +5 -0
  83. ms_components-0.1.0.dist-info/licenses/LICENSE +21 -0
  84. ms_components-0.1.0.dist-info/top_level.txt +1 -0
File without changes
ms_components/base.qss ADDED
@@ -0,0 +1,252 @@
1
+ QMainWindow::separator {
2
+ background: palette(mid);
3
+ width: 1px;
4
+ height: 1px;
5
+ }
6
+
7
+ QToolBar {
8
+ border: none;
9
+ padding: 3px;
10
+ spacing: 3px;
11
+ }
12
+
13
+ QToolBar::separator {
14
+ background: palette(mid);
15
+ width: 1px;
16
+ margin: 4px 3px;
17
+ }
18
+
19
+ QToolButton {
20
+ border: 1px solid transparent;
21
+ border-radius: 4px;
22
+ padding: 4px 6px;
23
+ }
24
+
25
+ QToolButton:hover {
26
+ background: palette(alternate-base);
27
+ border-color: palette(mid);
28
+ }
29
+
30
+ QToolButton:checked,
31
+ QToolButton:pressed {
32
+ background: palette(highlight);
33
+ color: palette(highlighted-text);
34
+ }
35
+
36
+ /* tool_panel: a collapsible section's heading. The id outranks the :hover/:pressed
37
+ rules above, so it never grows a button frame. */
38
+ QToolButton#SectionToggle {
39
+ border: none;
40
+ background: transparent;
41
+ padding: 0;
42
+ }
43
+
44
+ /* tool_panel: the 3 px run progress line, quiet next to the status bar. */
45
+ QProgressBar#ToolProgress {
46
+ border: none;
47
+ border-radius: 1px;
48
+ background: palette(midlight);
49
+ }
50
+
51
+ QProgressBar#ToolProgress::chunk {
52
+ border-radius: 1px;
53
+ background: palette(highlight);
54
+ }
55
+
56
+
57
+ /* Left gap for the first tab: `tab-bar { left }` shifts the whole bar.
58
+ Do NOT use margins on ::tab -- Qt places the close button flush to the full
59
+ tab rect, ignoring margin/padding, so any margin makes it overhang the border
60
+ (and `::tab:first { margin-left }` is ignored anyway; only padding honours
61
+ :first). Spacing between tabs comes from padding. */
62
+ /*QTabWidget::tab-bar {*/
63
+ /* left: 8px;*/
64
+ /*}*/
65
+
66
+ QTabBar::tab {
67
+ padding: 1px 16px;
68
+ margin: 0;
69
+ border: 1px solid transparent;
70
+ border-bottom-left-radius: 0;
71
+ border-bottom-right-radius: 0;
72
+ }
73
+
74
+ QTabBar::tab:selected {
75
+ background: palette(base);
76
+ border-color: palette(mid);
77
+ border-bottom: 2px solid palette(highlight);
78
+ }
79
+
80
+ QTabBar::tab:hover:!selected {
81
+ background: palette(alternate-base);
82
+ }
83
+
84
+ QLineEdit,
85
+ QPlainTextEdit,
86
+ QTextEdit,
87
+ QSpinBox,
88
+ QDoubleSpinBox,
89
+ QComboBox {
90
+ border: 1px solid palette(mid);
91
+ border-radius: 4px;
92
+ padding: 3px 6px;
93
+ }
94
+
95
+ /* Styling the box above shrinks the spin buttons to a sliver, so the style's arrows
96
+ render as a dash. Giving the buttons their own width restores them — no arrow
97
+ image needed, the base style still paints them (and keeps following the palette). */
98
+ QSpinBox::up-button,
99
+ QSpinBox::down-button,
100
+ QDoubleSpinBox::up-button,
101
+ QDoubleSpinBox::down-button {
102
+ width: 16px;
103
+ }
104
+
105
+ QLineEdit:focus,
106
+ QPlainTextEdit:focus,
107
+ QTextEdit:focus,
108
+ QSpinBox:focus,
109
+ QDoubleSpinBox:focus,
110
+ QComboBox:focus {
111
+ border-color: palette(highlight);
112
+ }
113
+
114
+ QPushButton {
115
+ border: 1px solid palette(mid);
116
+ border-radius: 4px;
117
+ padding: 5px 14px;
118
+ }
119
+
120
+ QPushButton:hover {
121
+ background: palette(alternate-base);
122
+ }
123
+
124
+ QPushButton:pressed {
125
+ background: palette(highlight);
126
+ color: palette(highlighted-text);
127
+ }
128
+
129
+ QPushButton:default {
130
+ border-color: palette(highlight);
131
+ }
132
+
133
+ /* Card = content surface. Nav trees/lists stay flat unless opted in. */
134
+ QTableView,
135
+ QTreeView[card="true"],
136
+ QListView[card="true"] {
137
+ border: 1px solid palette(mid);
138
+ border-radius: 4px;
139
+ }
140
+
141
+ QTreeView,
142
+ QListView {
143
+ border: none;
144
+ }
145
+
146
+ QHeaderView::section {
147
+ background: palette(dark);
148
+ border: none;
149
+ border-bottom: 1px solid palette(mid);
150
+ padding: 1px 3px;
151
+ }
152
+
153
+ QGroupBox {
154
+ border: 1px solid palette(mid);
155
+ /* border-radius: 6px;*/
156
+ margin-top: 8px;
157
+ padding-top: 8px;
158
+ }
159
+
160
+ QGroupBox::title {
161
+ subcontrol-origin: margin;
162
+ left: 8px;
163
+ padding: 0 4px;
164
+ }
165
+
166
+ /* Scrollbars: a scroll area is a lens, not a surface. Fusion paints a filled
167
+ groove, so every nested scroll area (step -> table) stacks another gray band
168
+ inside the page. Transparent groove + thin handle: only the handle shows. */
169
+ QScrollBar:vertical {
170
+ background: transparent;
171
+ width: 10px;
172
+ margin: 0;
173
+ }
174
+
175
+ QScrollBar:horizontal {
176
+ background: transparent;
177
+ height: 10px;
178
+ margin: 0;
179
+ }
180
+
181
+ QScrollBar::handle {
182
+ background: palette(mid);
183
+ border-radius: 5px;
184
+ }
185
+
186
+ QScrollBar::handle:vertical { min-height: 24px; }
187
+ QScrollBar::handle:horizontal { min-width: 24px; }
188
+ QScrollBar::handle:hover { background: palette(shadow); }
189
+ QScrollBar::add-line, QScrollBar::sub-line { width: 0; height: 0; }
190
+ QScrollBar::add-page, QScrollBar::sub-page { background: none; }
191
+
192
+ /* Table toolbar: a band, so the actions read as chrome and not as content floating
193
+ over the rows. Real QToolBar (extension ☰ + icon/text style come free); the band
194
+ itself is painted in code because the light themes are too flat for a palette role. */
195
+ #SmartTableToolbar QToolButton, QToolButton#ToolbarBtn {
196
+ border: 1px solid transparent;
197
+ border-radius: 4px;
198
+ padding: 1px 5px;
199
+ }
200
+
201
+ #SmartTableToolbar QToolButton:hover, QToolButton#ToolbarBtn:hover {
202
+ background: palette(base);
203
+ border-color: palette(mid);
204
+ }
205
+
206
+ #SmartTableToolbar QToolButton:pressed, QToolButton#ToolbarBtn:pressed { background: palette(mid); }
207
+
208
+ QLabel#ToolbarMeta { color: palette(placeholder-text); }
209
+
210
+ #PymolControlBar {
211
+ background: palette(window);
212
+ border-bottom: 1px solid palette(mid);
213
+ }
214
+
215
+ QToolBar#PymolToolbar {
216
+ background: transparent;
217
+ border: 0;
218
+ spacing: 1px;
219
+ }
220
+
221
+ #PymolControlBar QToolButton {
222
+ border: 1px solid transparent;
223
+ border-radius: 4px;
224
+ padding: 1px 5px;
225
+ }
226
+
227
+ #PymolControlBar QToolButton:hover {
228
+ background: palette(base);
229
+ border-color: palette(mid);
230
+ }
231
+
232
+ #PymolControlBar QToolButton:pressed,
233
+ #PymolControlBar QToolButton:checked {
234
+ background: palette(mid);
235
+ }
236
+
237
+ QLabel#PymolSceneContext {
238
+ color: palette(placeholder-text);
239
+ }
240
+
241
+ /* Botón de extensión de las toolbars embebidas. Los componentes le asignan un
242
+ SVG hamburguesa y abren su menú al entrar con el cursor. La regla va al final
243
+ para vencer la especificidad de las reglas particulares de cada toolbar. */
244
+ QToolButton#qt_toolbar_ext_button,
245
+ #SmartTableToolbar QToolButton#qt_toolbar_ext_button,
246
+ #PymolControlBar QToolButton#qt_toolbar_ext_button {
247
+ qproperty-arrowType: NoArrow;
248
+ padding: 0;
249
+ border: 0;
250
+ min-width: 20px;
251
+ min-height: 18px;
252
+ }