advisor-scattering 0.5.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 (69) hide show
  1. advisor/__init__.py +3 -0
  2. advisor/__main__.py +7 -0
  3. advisor/app.py +40 -0
  4. advisor/controllers/__init__.py +6 -0
  5. advisor/controllers/app_controller.py +69 -0
  6. advisor/controllers/feature_controller.py +25 -0
  7. advisor/domain/__init__.py +23 -0
  8. advisor/domain/core/__init__.py +8 -0
  9. advisor/domain/core/lab.py +121 -0
  10. advisor/domain/core/lattice.py +79 -0
  11. advisor/domain/core/sample.py +101 -0
  12. advisor/domain/geometry.py +212 -0
  13. advisor/domain/unit_converter.py +82 -0
  14. advisor/features/__init__.py +6 -0
  15. advisor/features/scattering_geometry/controllers/__init__.py +5 -0
  16. advisor/features/scattering_geometry/controllers/scattering_geometry_controller.py +26 -0
  17. advisor/features/scattering_geometry/domain/__init__.py +5 -0
  18. advisor/features/scattering_geometry/domain/brillouin_calculator.py +410 -0
  19. advisor/features/scattering_geometry/domain/core.py +516 -0
  20. advisor/features/scattering_geometry/ui/__init__.py +5 -0
  21. advisor/features/scattering_geometry/ui/components/__init__.py +17 -0
  22. advisor/features/scattering_geometry/ui/components/angles_to_hkl_components.py +150 -0
  23. advisor/features/scattering_geometry/ui/components/hk_angles_components.py +430 -0
  24. advisor/features/scattering_geometry/ui/components/hkl_scan_components.py +526 -0
  25. advisor/features/scattering_geometry/ui/components/hkl_to_angles_components.py +315 -0
  26. advisor/features/scattering_geometry/ui/scattering_geometry_tab.py +725 -0
  27. advisor/features/structure_factor/controllers/__init__.py +6 -0
  28. advisor/features/structure_factor/controllers/structure_factor_controller.py +25 -0
  29. advisor/features/structure_factor/domain/__init__.py +6 -0
  30. advisor/features/structure_factor/domain/structure_factor_calculator.py +107 -0
  31. advisor/features/structure_factor/ui/__init__.py +6 -0
  32. advisor/features/structure_factor/ui/components/__init__.py +12 -0
  33. advisor/features/structure_factor/ui/components/customized_plane_components.py +358 -0
  34. advisor/features/structure_factor/ui/components/hkl_plane_components.py +391 -0
  35. advisor/features/structure_factor/ui/structure_factor_tab.py +273 -0
  36. advisor/resources/__init__.py +0 -0
  37. advisor/resources/config/app_config.json +14 -0
  38. advisor/resources/config/tips.json +4 -0
  39. advisor/resources/data/nacl.cif +111 -0
  40. advisor/resources/icons/bz_caculator.jpg +0 -0
  41. advisor/resources/icons/bz_calculator.png +0 -0
  42. advisor/resources/icons/minus.svg +3 -0
  43. advisor/resources/icons/placeholder.png +0 -0
  44. advisor/resources/icons/plus.svg +3 -0
  45. advisor/resources/icons/reset.png +0 -0
  46. advisor/resources/icons/sf_calculator.jpg +0 -0
  47. advisor/resources/icons/sf_calculator.png +0 -0
  48. advisor/resources/icons.qrc +6 -0
  49. advisor/resources/qss/styles.qss +348 -0
  50. advisor/resources/resources_rc.py +83 -0
  51. advisor/ui/__init__.py +7 -0
  52. advisor/ui/init_window.py +566 -0
  53. advisor/ui/main_window.py +174 -0
  54. advisor/ui/tab_interface.py +44 -0
  55. advisor/ui/tips.py +30 -0
  56. advisor/ui/utils/__init__.py +6 -0
  57. advisor/ui/utils/readcif.py +129 -0
  58. advisor/ui/visualizers/HKLScan2DVisualizer.py +224 -0
  59. advisor/ui/visualizers/__init__.py +8 -0
  60. advisor/ui/visualizers/coordinate_visualizer.py +203 -0
  61. advisor/ui/visualizers/scattering_visualizer.py +301 -0
  62. advisor/ui/visualizers/structure_factor_visualizer.py +426 -0
  63. advisor/ui/visualizers/structure_factor_visualizer_2d.py +235 -0
  64. advisor/ui/visualizers/unitcell_visualizer.py +518 -0
  65. advisor_scattering-0.5.0.dist-info/METADATA +122 -0
  66. advisor_scattering-0.5.0.dist-info/RECORD +69 -0
  67. advisor_scattering-0.5.0.dist-info/WHEEL +5 -0
  68. advisor_scattering-0.5.0.dist-info/entry_points.txt +3 -0
  69. advisor_scattering-0.5.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,111 @@
1
+ #------------------------------------------------------------------------------
2
+ #$Date: 2016-02-20 02:53:41 +0200 (Sat, 20 Feb 2016) $
3
+ #$Revision: 176768 $
4
+ #$URL: file:///home/coder/svn-repositories/cod/cif/2/10/40/2104025.cif $
5
+ #------------------------------------------------------------------------------
6
+ #
7
+ # This file is available in the Crystallography Open Database (COD),
8
+ # http://www.crystallography.net/. The original data for this entry
9
+ # were provided by IUCr Journals, http://journals.iucr.org/.
10
+ #
11
+ # The file may be used within the scientific community so long as
12
+ # proper attribution is given to the journal article from which the
13
+ # data were obtained.
14
+ #
15
+ data_2104025
16
+ loop_
17
+ _publ_author_name
18
+ 'Shiraki, Koichi'
19
+ 'Tsuchiya, Taku'
20
+ 'Ono, Shigeaki'
21
+ _publ_section_title
22
+ ;
23
+ Structural refinements of high-pressure phases in germanium dioxide
24
+ ;
25
+ _journal_issue 6
26
+ _journal_name_full 'Acta Crystallographica Section B'
27
+ _journal_page_first 701
28
+ _journal_page_last 708
29
+ _journal_paper_doi 10.1107/S0108768103021761
30
+ _journal_volume 59
31
+ _journal_year 2003
32
+ _chemical_formula_sum 'Cl Na'
33
+ _chemical_formula_weight 58.44247
34
+ _chemical_name_systematic ' sodium chloride'
35
+ _space_group_IT_number 221
36
+ _symmetry_cell_setting cubic
37
+ _symmetry_space_group_name_Hall '-P 4 2 3'
38
+ _symmetry_space_group_name_H-M 'P m -3 m'
39
+ _cell_angle_alpha 90.0
40
+ _cell_angle_beta 90.0
41
+ _cell_angle_gamma 90.0
42
+ _cell_formula_units_Z 1
43
+ _cell_length_a 2.8600(3)
44
+ _cell_length_b 2.8600(3)
45
+ _cell_length_c 2.8600(3)
46
+ _cell_volume 23.394(4)
47
+ _cod_data_source_file ws0004.cif
48
+ _cod_data_source_block II_phase_2
49
+ _cod_original_cell_volume 23.393(4)
50
+ _cod_database_code 2104025
51
+ loop_
52
+ _symmetry_equiv_pos_site_id
53
+ _symmetry_equiv_pos_as_xyz
54
+ 1 x,y,z
55
+ 2 -x,-y,z
56
+ 3 -x,y,-z
57
+ 4 x,-y,-z
58
+ 5 z,x,y
59
+ 6 z,-x,-y
60
+ 7 -z,-x,y
61
+ 8 -z,x,-y
62
+ 9 y,z,x
63
+ 10 -y,z,-x
64
+ 11 y,-z,-x
65
+ 12 -y,-z,x
66
+ 13 y,x,-z
67
+ 14 -y,-x,-z
68
+ 15 y,-x,z
69
+ 16 -y,x,z
70
+ 17 x,z,-y
71
+ 18 -x,z,y
72
+ 19 -x,-z,-y
73
+ 20 x,-z,y
74
+ 21 z,y,-x
75
+ 22 z,-y,x
76
+ 23 -z,y,x
77
+ 24 -z,-y,-x
78
+ 25 -x,-y,-z
79
+ 26 x,y,-z
80
+ 27 x,-y,z
81
+ 28 -x,y,z
82
+ 29 -z,-x,-y
83
+ 30 -z,x,y
84
+ 31 z,x,-y
85
+ 32 z,-x,y
86
+ 33 -y,-z,-x
87
+ 34 y,-z,x
88
+ 35 -y,z,x
89
+ 36 y,z,-x
90
+ 37 -y,-x,z
91
+ 38 y,x,z
92
+ 39 -y,x,-z
93
+ 40 y,-x,-z
94
+ 41 -x,-z,y
95
+ 42 x,-z,-y
96
+ 43 x,z,y
97
+ 44 -x,z,-y
98
+ 45 -z,-y,x
99
+ 46 -z,y,-x
100
+ 47 z,-y,-x
101
+ 48 z,y,x
102
+ loop_
103
+ _atom_site_label
104
+ _atom_site_fract_x
105
+ _atom_site_fract_y
106
+ _atom_site_fract_z
107
+ _atom_site_thermal_displace_type
108
+ _atom_site_occupancy
109
+ _atom_site_type_symbol
110
+ Na1 0.0 0.0 0.0 Biso 1.0 Na
111
+ Cl1 0.5 0.5 0.5 Biso 1.0 Cl
Binary file
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
2
+ <polygon points="6,9 9,3 3,3" fill="#666666"/>
3
+ </svg>
Binary file
@@ -0,0 +1,3 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12">
2
+ <polygon points="6,3 9,9 3,9" fill="#666666"/>
3
+ </svg>
Binary file
@@ -0,0 +1,6 @@
1
+ <RCC>
2
+ <qresource prefix="/">
3
+ <file>icons/plus.svg</file>
4
+ <file>icons/minus.svg</file>
5
+ </qresource>
6
+ </RCC>
@@ -0,0 +1,348 @@
1
+ /* Main application styles */
2
+
3
+ QMainWindow {
4
+ background-color: #F5F5F5;
5
+ }
6
+
7
+ QTabWidget::pane {
8
+ border: 1px solid #C4C4C4;
9
+ background-color: #FFFFFF;
10
+ }
11
+
12
+ QTabBar::tab {
13
+ background-color:rgb(233, 233, 233);
14
+ border: 1px solid #C4C4C4;
15
+ border-bottom: none;
16
+ min-width: 100px;
17
+ padding: 6px 12px;
18
+ font-weight: bold;
19
+ }
20
+
21
+ QTabBar::tab:selected {
22
+ background-color: #FFFFFF;
23
+ }
24
+
25
+ QTabBar::tab:hover:!selected {
26
+ background-color: #EFEFEF;
27
+ }
28
+
29
+ /* Form elements */
30
+ QLineEdit, QComboBox {
31
+ border: 1px solid #C4C4C4;
32
+ border-radius: 3px;
33
+ padding: 4px;
34
+ padding-right: 12x;
35
+ min-height: 24px;
36
+ background-color: #FFFFFF;
37
+ }
38
+
39
+ QLineEdit:focus, QSpinBox:focus, QDoubleSpinBox:focus, QComboBox:focus {
40
+ border: 1px solid #3D7AAF;
41
+ }
42
+
43
+ QLineEdit:disabled, QSpinBox:disabled, QDoubleSpinBox:disabled, QComboBox:disabled {
44
+ background-color: #F5F5F5;
45
+ color: #9E9E9E;
46
+ border: 1px solid #E0E0E0;
47
+ }
48
+
49
+ QPushButton {
50
+ border: 1px solid #C4C4C4;
51
+ border-radius: 3px;
52
+ padding: 6px 12px;
53
+ background-color: #F0F0F0;
54
+ min-height: 28px;
55
+ }
56
+
57
+ QPushButton:hover {
58
+ background-color: #E6E6E6;
59
+ }
60
+
61
+ QPushButton:pressed {
62
+ background-color: #D6D6D6;
63
+ }
64
+
65
+ QPushButton:disabled {
66
+ color: #888888;
67
+ background-color: #F8F8F8;
68
+ }
69
+
70
+ /* QDoubleSpinBox with plus/minus signs */
71
+ QDoubleSpinBox, QSpinBox{
72
+ border: 1px solid #C4C4C4;
73
+ border-radius: 3px;
74
+ padding: 4px;
75
+ padding-right: 20px;
76
+ min-height: 24px;
77
+ background-color: #FFFFFF;
78
+ }
79
+
80
+ QDoubleSpinBox::up-button, QDoubleSpinBox::down-button, QSpinBox::up-button, QSpinBox::down-button {
81
+ subcontrol-origin: border;
82
+ width: 18px;
83
+ border-left: 1px solid #C4C4C4;
84
+ background-color: #F0F0F0;
85
+ }
86
+
87
+ QDoubleSpinBox::up-button, QSpinBox::up-button{
88
+ subcontrol-position: top right;
89
+ }
90
+
91
+ QDoubleSpinBox::down-button, QSpinBox::down-button {
92
+ subcontrol-position: bottom right;
93
+ }
94
+
95
+ QDoubleSpinBox::up-button:hover, QDoubleSpinBox::down-button:hover, QSpinBox::up-button:hover, QSpinBox::down-button:hover {
96
+ background-color: #E6E6E6;
97
+ }
98
+
99
+ QDoubleSpinBox::up-button:pressed, QDoubleSpinBox::down-button:pressed, QSpinBox::up-button:pressed, QSpinBox::down-button:pressed {
100
+ background-color: #D6D6D6;
101
+ }
102
+
103
+ QDoubleSpinBox::up-arrow, QDoubleSpinBox::down-arrow, QSpinBox::up-arrow, QSpinBox::down-arrow {
104
+ width: 12px;
105
+ height: 12px;
106
+ }
107
+
108
+ QDoubleSpinBox::up-arrow, QSpinBox::up-arrow {
109
+ image: url(:/icons/plus.svg);
110
+ }
111
+
112
+ QDoubleSpinBox::down-arrow, QSpinBox::down-arrow {
113
+ image: url(:/icons/minus.svg);
114
+ }
115
+
116
+
117
+ /* Toggle button styles */
118
+ QPushButton[text="De-activate"] {
119
+ min-width: 100px;
120
+ background-color: #FFFFFF; /* White background */
121
+ color: #757575; /* Dark gray text */
122
+ border: 1px solid #E0E0E0; /* Light gray border */
123
+ }
124
+
125
+ QPushButton[text="De-activate"]:checked {
126
+ background-color: #FFEBEE; /* Very light red background */
127
+ color: #C62828; /* Darker red text */
128
+ border: 1px solid #FFCDD2; /* Light red border */
129
+ }
130
+
131
+ QPushButton[text="De-activate"]:hover {
132
+ background-color: #F5F5F5; /* Slightly darker white on hover */
133
+ border: 1px solid #BDBDBD; /* Slightly darker gray border on hover */
134
+ }
135
+
136
+ QPushButton[text="De-activate"]:checked:hover {
137
+ background-color: #FFCDD2; /* Slightly darker light red on hover */
138
+ border: 1px solid #EF9A9A; /* Slightly darker light red border on hover */
139
+ }
140
+
141
+ QPushButton[text="De-activate"]:pressed {
142
+ background-color: #EEEEEE; /* Even darker white when pressed */
143
+ border: 1px solid #9E9E9E; /* Even darker gray border when pressed */
144
+ }
145
+
146
+ QPushButton[text="De-activate"]:checked:pressed {
147
+ background-color: #EF9A9A; /* Even darker light red when pressed */
148
+ border: 1px solid #E57373; /* Even darker light red border when pressed */
149
+ }
150
+
151
+ /* Group boxes and panels */
152
+ QGroupBox {
153
+ border: 1px solid #CCCCCC;
154
+ border-radius: 5px;
155
+ margin-top: 10px;
156
+ font-weight: bold;
157
+ }
158
+
159
+ QGroupBox::title {
160
+ subcontrol-origin: margin;
161
+ subcontrol-position: top left;
162
+ left: 10px;
163
+ padding: 0 3px;
164
+ }
165
+
166
+ /* Status bar */
167
+ QStatusBar {
168
+ background-color: #F0F0F0;
169
+ color: #333333;
170
+ }
171
+
172
+ /* Tooltips */
173
+ QToolTip {
174
+ border: 1px solid #CCCCCC;
175
+ background-color: #FFFFCC;
176
+ color: #333333;
177
+ padding: 3px;
178
+ }
179
+
180
+ /* Parameter Panel Styles */
181
+ QFrame#parameterPanel {
182
+ background-color: #f8f9fa;
183
+ border: 1px solid #c0c0c0;
184
+ border-radius: 8px;
185
+ margin: 2px;
186
+ }
187
+
188
+ QLabel#parameterMainTitle {
189
+ color: #2c3e50;
190
+ font-family: Arial;
191
+ font-size: 22px;
192
+ font-weight: bold;
193
+ margin-bottom: 10px;
194
+ }
195
+
196
+ QLabel#parameterSectionTitle {
197
+ color: #34495e;
198
+ font-family: Arial;
199
+ font-size: 14px;
200
+ font-weight: bold;
201
+ margin-top: 5px;
202
+ margin-bottom: 2px;
203
+ }
204
+
205
+ QLabel#parameterText {
206
+ color: #5d6d7e;
207
+ font-family: Arial;
208
+ font-size: 13px;
209
+ margin-left: 15px;
210
+ line-height: 1.3;
211
+ }
212
+
213
+ QPushButton#editParametersButton {
214
+ background-color: #F0F0F0;
215
+ color: #333333;
216
+ border: 1px solid #C4C4C4;
217
+ border-radius: 3px;
218
+ font-size: 13px;
219
+ padding: 6px;
220
+ }
221
+
222
+ QPushButton#editParametersButton:hover {
223
+ background-color: #E6E6E6;
224
+ }
225
+
226
+ QPushButton#editParametersButton:pressed {
227
+ background-color: #D6D6D6;
228
+ }
229
+
230
+ /* Pastel Calculate Button Styles */
231
+ QPushButton#calculateButton {
232
+ background-color: #a8d0f0;
233
+ color: #2c5282;
234
+ border-radius: 3px;
235
+ padding: 8px 16px;
236
+ font-weight: bold;
237
+ font-size: 12px;
238
+ }
239
+
240
+ QPushButton#calculateButton:hover {
241
+ background-color: #bdd9f3;
242
+ }
243
+
244
+ QPushButton#calculateButton:pressed {
245
+ background-color: #8bc5ea;
246
+ }
247
+
248
+ QPushButton#calculateButton:disabled {
249
+ background-color: #e6e6e6;
250
+ color: #999999;
251
+ }
252
+
253
+ /* Unified Pastel Calculate HKL Button */
254
+ QPushButton#calculateHKLButton {
255
+ background-color: #a8d0f0;
256
+ color: #2c5282;
257
+ border-radius: 3px;
258
+ padding: 8px 16px;
259
+ font-weight: bold;
260
+ font-size: 12px;
261
+ }
262
+
263
+ QPushButton#calculateHKLButton:hover {
264
+ background-color: #bdd9f3;
265
+ }
266
+
267
+ QPushButton#calculateHKLButton:pressed {
268
+ background-color: #8bc5ea;
269
+ }
270
+
271
+ QPushButton#calculateHKLButton:disabled {
272
+ background-color: #e6e6e6;
273
+ color: #999999;
274
+ }
275
+
276
+ /* Small Clear Button Styles */
277
+ QPushButton#clearButton {
278
+ background-color: #f5f5f5;
279
+ color: #666666;
280
+ border: 1px solid #cccccc;
281
+ border-radius: 4px;
282
+ padding: 4px 8px;
283
+ font-size: 10px;
284
+ max-height: 24px;
285
+ }
286
+
287
+ QPushButton#clearButton:hover {
288
+ background-color: #ff6b6b;
289
+ color: white;
290
+ border: 1px solid #ee5a52;
291
+ }
292
+
293
+ QPushButton#clearButton:pressed {
294
+ background-color: #ee5a52;
295
+ border: 1px solid #e04848;
296
+ }
297
+
298
+ /* Pastel Toggle Button Styles - Fix χ/φ and Plane Selection */
299
+ QPushButton[class="activeToggle"] {
300
+ background-color: #a8e6c1; /* Pastel green - same hue as #2ecc71 but softer */
301
+ color: #2d5a3d; /* Darker green text for better contrast */
302
+ border: 1px solid #FFFFFF;
303
+ border-radius: 3px;
304
+ padding: 3px 6px;
305
+ font-weight: bold;
306
+ font-size: 12px;
307
+ }
308
+
309
+ QPushButton[class="activeToggle"]:hover {
310
+ background-color: #9de0b7; /* Slightly darker on hover */
311
+ border: 1px solid #85cf9e;
312
+ }
313
+
314
+ QPushButton[class="activeToggle"]:pressed {
315
+ background-color: #92dab0; /* Even darker when pressed */
316
+ border: 1px solid #7bc994;
317
+ }
318
+
319
+ QPushButton[class="inactiveToggle"] {
320
+ background-color: #e8eaec; /* Pastel gray - same hue as #bdc3c7 but softer */
321
+ color: #5a6270; /* Darker gray text for better contrast */
322
+ border: 1px solid #FFFFFF;
323
+ border-radius: 3px;
324
+ padding: 3px 6px;
325
+ font-size: 12px;
326
+ }
327
+
328
+ QPushButton[class="inactiveToggle"]:hover {
329
+ background-color: #dde1e5; /* Slightly darker on hover */
330
+ border: 1px solid #c9cfd5;
331
+ }
332
+
333
+ QPushButton[class="inactiveToggle"]:pressed {
334
+ background-color: #d2d8de; /* Even darker when pressed */
335
+ border: 1px solid #bec6ce;
336
+ }
337
+
338
+
339
+ /* HKL Results Table Styling */
340
+ QTableWidgetItem[feasible="True"] {
341
+ background-color: #ffffff; /* White background for feasible solutions */
342
+ color: #333333;
343
+ }
344
+
345
+ QTableWidgetItem[feasible="False"] {
346
+ background-color: #a62d2d; /* Red background for infeasible solutions */
347
+ color: #333333;
348
+ }
@@ -0,0 +1,83 @@
1
+ # -*- coding: utf-8 -*-
2
+
3
+ # Resource object code
4
+ #
5
+ # Created by: The Resource Compiler for PyQt5 (Qt v5.15.14)
6
+ #
7
+ # WARNING! All changes made in this file will be lost!
8
+
9
+ from PyQt5 import QtCore
10
+
11
+ qt_resource_data = b"\
12
+ \x00\x00\x00\x8c\
13
+ \x3c\
14
+ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
15
+ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
16
+ \x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x31\x32\
17
+ \x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x32\x22\x20\x76\x69\
18
+ \x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x31\x32\x20\x31\x32\
19
+ \x22\x3e\x0a\x20\x20\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\
20
+ \x69\x6e\x74\x73\x3d\x22\x36\x2c\x33\x20\x39\x2c\x39\x20\x33\x2c\
21
+ \x39\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x36\x36\x36\x36\x36\x36\
22
+ \x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
23
+ \x00\x00\x00\x8c\
24
+ \x3c\
25
+ \x73\x76\x67\x20\x78\x6d\x6c\x6e\x73\x3d\x22\x68\x74\x74\x70\x3a\
26
+ \x2f\x2f\x77\x77\x77\x2e\x77\x33\x2e\x6f\x72\x67\x2f\x32\x30\x30\
27
+ \x30\x2f\x73\x76\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x22\x31\x32\
28
+ \x22\x20\x68\x65\x69\x67\x68\x74\x3d\x22\x31\x32\x22\x20\x76\x69\
29
+ \x65\x77\x42\x6f\x78\x3d\x22\x30\x20\x30\x20\x31\x32\x20\x31\x32\
30
+ \x22\x3e\x0a\x20\x20\x3c\x70\x6f\x6c\x79\x67\x6f\x6e\x20\x70\x6f\
31
+ \x69\x6e\x74\x73\x3d\x22\x36\x2c\x39\x20\x39\x2c\x33\x20\x33\x2c\
32
+ \x33\x22\x20\x66\x69\x6c\x6c\x3d\x22\x23\x36\x36\x36\x36\x36\x36\
33
+ \x22\x2f\x3e\x0a\x3c\x2f\x73\x76\x67\x3e\x0a\
34
+ "
35
+
36
+ qt_resource_name = b"\
37
+ \x00\x05\
38
+ \x00\x6f\xa6\x53\
39
+ \x00\x69\
40
+ \x00\x63\x00\x6f\x00\x6e\x00\x73\
41
+ \x00\x08\
42
+ \x03\xc6\x54\x27\
43
+ \x00\x70\
44
+ \x00\x6c\x00\x75\x00\x73\x00\x2e\x00\x73\x00\x76\x00\x67\
45
+ \x00\x09\
46
+ \x05\xc6\xb2\xc7\
47
+ \x00\x6d\
48
+ \x00\x69\x00\x6e\x00\x75\x00\x73\x00\x2e\x00\x73\x00\x76\x00\x67\
49
+ "
50
+
51
+ qt_resource_struct_v1 = b"\
52
+ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
53
+ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\
54
+ \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
55
+ \x00\x00\x00\x26\x00\x00\x00\x00\x00\x01\x00\x00\x00\x90\
56
+ "
57
+
58
+ qt_resource_struct_v2 = b"\
59
+ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
60
+ \x00\x00\x00\x00\x00\x00\x00\x00\
61
+ \x00\x00\x00\x00\x00\x02\x00\x00\x00\x02\x00\x00\x00\x02\
62
+ \x00\x00\x00\x00\x00\x00\x00\x00\
63
+ \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
64
+ \x00\x00\x01\x9a\xdf\x60\xb4\x10\
65
+ \x00\x00\x00\x26\x00\x00\x00\x00\x00\x01\x00\x00\x00\x90\
66
+ \x00\x00\x01\x9a\xdf\x60\xb4\x0f\
67
+ "
68
+
69
+ qt_version = [int(v) for v in QtCore.qVersion().split('.')]
70
+ if qt_version < [5, 8, 0]:
71
+ rcc_version = 1
72
+ qt_resource_struct = qt_resource_struct_v1
73
+ else:
74
+ rcc_version = 2
75
+ qt_resource_struct = qt_resource_struct_v2
76
+
77
+ def qInitResources():
78
+ QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
79
+
80
+ def qCleanupResources():
81
+ QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
82
+
83
+ qInitResources()
advisor/ui/__init__.py ADDED
@@ -0,0 +1,7 @@
1
+ """UI layer for the toolbox."""
2
+
3
+ from .main_window import MainWindow
4
+ from .tab_interface import TabInterface
5
+ from .tips import Tips, set_tip
6
+
7
+ __all__ = ["MainWindow", "TabInterface", "Tips", "set_tip"]