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.
- advisor/__init__.py +3 -0
- advisor/__main__.py +7 -0
- advisor/app.py +40 -0
- advisor/controllers/__init__.py +6 -0
- advisor/controllers/app_controller.py +69 -0
- advisor/controllers/feature_controller.py +25 -0
- advisor/domain/__init__.py +23 -0
- advisor/domain/core/__init__.py +8 -0
- advisor/domain/core/lab.py +121 -0
- advisor/domain/core/lattice.py +79 -0
- advisor/domain/core/sample.py +101 -0
- advisor/domain/geometry.py +212 -0
- advisor/domain/unit_converter.py +82 -0
- advisor/features/__init__.py +6 -0
- advisor/features/scattering_geometry/controllers/__init__.py +5 -0
- advisor/features/scattering_geometry/controllers/scattering_geometry_controller.py +26 -0
- advisor/features/scattering_geometry/domain/__init__.py +5 -0
- advisor/features/scattering_geometry/domain/brillouin_calculator.py +410 -0
- advisor/features/scattering_geometry/domain/core.py +516 -0
- advisor/features/scattering_geometry/ui/__init__.py +5 -0
- advisor/features/scattering_geometry/ui/components/__init__.py +17 -0
- advisor/features/scattering_geometry/ui/components/angles_to_hkl_components.py +150 -0
- advisor/features/scattering_geometry/ui/components/hk_angles_components.py +430 -0
- advisor/features/scattering_geometry/ui/components/hkl_scan_components.py +526 -0
- advisor/features/scattering_geometry/ui/components/hkl_to_angles_components.py +315 -0
- advisor/features/scattering_geometry/ui/scattering_geometry_tab.py +725 -0
- advisor/features/structure_factor/controllers/__init__.py +6 -0
- advisor/features/structure_factor/controllers/structure_factor_controller.py +25 -0
- advisor/features/structure_factor/domain/__init__.py +6 -0
- advisor/features/structure_factor/domain/structure_factor_calculator.py +107 -0
- advisor/features/structure_factor/ui/__init__.py +6 -0
- advisor/features/structure_factor/ui/components/__init__.py +12 -0
- advisor/features/structure_factor/ui/components/customized_plane_components.py +358 -0
- advisor/features/structure_factor/ui/components/hkl_plane_components.py +391 -0
- advisor/features/structure_factor/ui/structure_factor_tab.py +273 -0
- advisor/resources/__init__.py +0 -0
- advisor/resources/config/app_config.json +14 -0
- advisor/resources/config/tips.json +4 -0
- advisor/resources/data/nacl.cif +111 -0
- advisor/resources/icons/bz_caculator.jpg +0 -0
- advisor/resources/icons/bz_calculator.png +0 -0
- advisor/resources/icons/minus.svg +3 -0
- advisor/resources/icons/placeholder.png +0 -0
- advisor/resources/icons/plus.svg +3 -0
- advisor/resources/icons/reset.png +0 -0
- advisor/resources/icons/sf_calculator.jpg +0 -0
- advisor/resources/icons/sf_calculator.png +0 -0
- advisor/resources/icons.qrc +6 -0
- advisor/resources/qss/styles.qss +348 -0
- advisor/resources/resources_rc.py +83 -0
- advisor/ui/__init__.py +7 -0
- advisor/ui/init_window.py +566 -0
- advisor/ui/main_window.py +174 -0
- advisor/ui/tab_interface.py +44 -0
- advisor/ui/tips.py +30 -0
- advisor/ui/utils/__init__.py +6 -0
- advisor/ui/utils/readcif.py +129 -0
- advisor/ui/visualizers/HKLScan2DVisualizer.py +224 -0
- advisor/ui/visualizers/__init__.py +8 -0
- advisor/ui/visualizers/coordinate_visualizer.py +203 -0
- advisor/ui/visualizers/scattering_visualizer.py +301 -0
- advisor/ui/visualizers/structure_factor_visualizer.py +426 -0
- advisor/ui/visualizers/structure_factor_visualizer_2d.py +235 -0
- advisor/ui/visualizers/unitcell_visualizer.py +518 -0
- advisor_scattering-0.5.0.dist-info/METADATA +122 -0
- advisor_scattering-0.5.0.dist-info/RECORD +69 -0
- advisor_scattering-0.5.0.dist-info/WHEEL +5 -0
- advisor_scattering-0.5.0.dist-info/entry_points.txt +3 -0
- 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
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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()
|