-
Notifications
You must be signed in to change notification settings - Fork 6
/
DRAGen.py
1863 lines (1608 loc) · 103 KB
/
DRAGen.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# -*- coding: utf-8 -*-
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt, QThread
from PyQt5.QtGui import QIcon
from dragen.pyqt_gui.worker import Worker
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("./dragen/thumbnails/Folder-Generic-Silver-icon.png"), QtGui.QIcon.Normal,
QtGui.QIcon.Off)
self.MainWindow = MainWindow
MainWindow.setObjectName("Main Window")
MainWindow.setWindowTitle("DRAGen - RVE Generator")
MainWindow.setFixedSize(930, 850) #change
self.thumbnail_path = sys.argv[0][:-10] + "\\dragen\\thumbnails\\"
MainWindow.setWindowIcon(QIcon(self.thumbnail_path + '\\Drache.ico'))
# Definition of Containers:
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.scrollArea = QtWidgets.QScrollArea(self.centralwidget)
self.scrollArea.setGeometry(QtCore.QRect(10, 460, 910, 330)) #change
self.scrollArea.setWidgetResizable(True)
self.scrollArea.setObjectName("scrollArea")
self.scrollAreaWidgetContents = QtWidgets.QWidget()
self.scrollAreaWidgetContents.setGeometry(QtCore.QRect(10, 460, 910, 330)) #change
self.scrollAreaWidgetContents.setObjectName("scrollAreaWidgetContents")
self.InfoPages = QtWidgets.QTabWidget(self.scrollAreaWidgetContents)
self.InfoPages.setEnabled(True)
self.InfoPages.setGeometry(QtCore.QRect(-5, 0, 910, 330)) #change
self.InfoPages.setTabShape(QtWidgets.QTabWidget.Rounded)
self.InfoPages.setUsesScrollButtons(True)
self.InfoPages.setTabsClosable(False)
self.InfoPages.setMovable(False)
self.InfoPages.setTabBarAutoHide(False)
self.InfoPages.setObjectName("InfoPages")
### Tab window
# Status Tab
self.status_tab = QtWidgets.QWidget()
self.InfoPages.addTab(self.status_tab, "")
self.status_tab.setObjectName("status_tab")
self.textBrowser = QtWidgets.QTextBrowser(self.status_tab)
self.textBrowser.setGeometry(QtCore.QRect(0, 0, 981, 336)) #change
self.textBrowser.setObjectName("textBrowser")
self.textBrowser.setText(" Please enter the required information")
self.verticalScrollBar = QtWidgets.QScrollBar(self.status_tab)
self.verticalScrollBar.setGeometry(QtCore.QRect(980, 0, 20, 336)) #change
self.verticalScrollBar.setOrientation(QtCore.Qt.Vertical)
self.verticalScrollBar.setObjectName("verticalScrollBar")
# Banding Feature Tab
self.banding_tab = QtWidgets.QWidget()
self.banding_tab.setObjectName("banding_tab")
self.InfoPages.addTab(self.banding_tab, "")
self.banding_tab.setEnabled(False)
self.gridLayoutWidget_2 = QtWidgets.QWidget(self.banding_tab)
self.gridLayoutWidget_2.setGeometry(QtCore.QRect(20, 10, 500, 180))
self.gridLayoutWidget_2.setObjectName("gridLayoutWidget_2")
self.gridLayout_3 = QtWidgets.QGridLayout(self.gridLayoutWidget_2)
self.gridLayout_3.setContentsMargins(0, 0, 0, 0)
self.gridLayout_3.setObjectName("gridLayout_3")
self.NoBand_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.NoBand_label.sizePolicy().hasHeightForWidth())
self.NoBand_label.setSizePolicy(sizePolicy)
self.NoBand_label.setObjectName("NoBand_label")
self.gridLayout_3.addWidget(self.NoBand_label, 0, 0, 1, 2)
self.NoBandsSpinBox = QtWidgets.QSpinBox(self.gridLayoutWidget_2)
self.NoBandsSpinBox.setMinimum(1)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.NoBandsSpinBox.sizePolicy().hasHeightForWidth())
self.NoBandsSpinBox.setSizePolicy(sizePolicy)
self.NoBandsSpinBox.setObjectName("NoBandsSpinBox")
self.gridLayout_3.addWidget(self.NoBandsSpinBox, 0, 2, 1, 1)
self.band_lower_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_lower_label.sizePolicy().hasHeightForWidth())
self.band_lower_label.setSizePolicy(sizePolicy)
self.band_lower_label.setObjectName("band_lower_label")
self.gridLayout_3.addWidget(self.band_lower_label, 1, 0, 1, 2)
self.band_lowerSpinBox = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_lowerSpinBox.sizePolicy().hasHeightForWidth())
self.band_lowerSpinBox.setSizePolicy(sizePolicy)
self.band_lowerSpinBox.setObjectName("band_lowerSpinBox")
self.gridLayout_3.addWidget(self.band_lowerSpinBox, 1, 2, 1, 1)
self.band_lowerSpinBox.valueChanged.connect(self.bandwidth_handler)
self.band_upper_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_upper_label.sizePolicy().hasHeightForWidth())
self.band_upper_label.setSizePolicy(sizePolicy)
self.band_upper_label.setObjectName("band_upper_label")
self.gridLayout_3.addWidget(self.band_upper_label, 2, 0, 1, 2)
self.band_upperSpinBox = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_upperSpinBox.sizePolicy().hasHeightForWidth())
self.band_upperSpinBox.setSizePolicy(sizePolicy)
self.band_upperSpinBox.setObjectName("band_upperSpinBox")
self.gridLayout_3.addWidget(self.band_upperSpinBox, 2, 2, 1, 1)
self.band_upperSpinBox.valueChanged.connect(self.bandwidth_handler)
self.band_filling_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_filling_label.sizePolicy().hasHeightForWidth())
self.band_filling_label.setSizePolicy(sizePolicy)
self.band_filling_label.setObjectName("band_filling_label")
self.gridLayout_3.addWidget(self.band_filling_label, 3, 0, 1, 2)
self.band_fillingSpinBox = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Maximum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_fillingSpinBox.sizePolicy().hasHeightForWidth())
self.band_fillingSpinBox.setMinimum(0.1)
self.band_fillingSpinBox.setMaximum(0.7)
self.band_fillingSpinBox.setSizePolicy(sizePolicy)
self.band_fillingSpinBox.setObjectName("band_fillingSpinBox")
self.gridLayout_3.addWidget(self.band_fillingSpinBox, 3, 2, 1, 1)
self.band_fillingSpinBox.valueChanged.connect(self.bandwidth_handler)
self.band_orientation_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_orientation_label.sizePolicy().hasHeightForWidth())
self.band_orientation_label.setSizePolicy(sizePolicy)
self.band_orientation_label.setObjectName("band_orientation_label")
self.gridLayout_3.addWidget(self.band_orientation_label, 4, 0, 1, 1)
self.BandOrientation_XY = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
self.BandOrientation_XY.setObjectName("BandOrientation_XY")
self.gridLayout_3.addWidget(self.BandOrientation_XY, 4, 2, 1, 1)
self.BandOrientation_XY.setChecked(True)
self.BandOrientation_XY.setText('xy')
self.BandOrientation_XZ = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
self.BandOrientation_XZ.setObjectName("BandOrientation_XZ")
self.gridLayout_3.addWidget(self.BandOrientation_XZ, 4, 3, 1, 1)
self.BandOrientation_XZ.setText('xz')
self.BandOrientation_YZ = QtWidgets.QRadioButton(self.gridLayoutWidget_2)
self.BandOrientation_YZ.setObjectName("BandOrientation_YZ")
self.gridLayout_3.addWidget(self.BandOrientation_YZ, 4, 4, 1, 1)
self.BandOrientation_YZ.setText('yz')
self.band_file_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_file_label.sizePolicy().hasHeightForWidth())
self.band_file_label.setSizePolicy(sizePolicy)
self.band_file_label.setObjectName("band_file_label")
self.gridLayout_3.addWidget(self.band_file_label, 5, 0, 1, 1)
self.lineEditBand = QtWidgets.QLineEdit(self.gridLayoutWidget_2)
self.lineEditBand.setObjectName("lineEditBand")
self.gridLayout_3.addWidget(self.lineEditBand, 5, 2, 1, 3)
self.fileBrowserBand = QtWidgets.QPushButton(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.fileBrowserBand.sizePolicy().hasHeightForWidth())
self.fileBrowserBand.setSizePolicy(sizePolicy)
self.fileBrowserBand.setText("")
self.fileBrowserBand.setIcon(icon)
self.fileBrowserBand.setObjectName("fileBrowserBand")
self.gridLayout_3.addWidget(self.fileBrowserBand, 5, 5, 1, 1)
self.fileBrowserBand.clicked.connect(self.button_handler)
self.band_phase_ratio_label = QtWidgets.QLabel(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_phase_ratio_label.sizePolicy().hasHeightForWidth())
self.band_phase_ratio_label.setSizePolicy(sizePolicy)
self.band_phase_ratio_label.setObjectName("band_phase_ratio_label")
self.gridLayout_3.addWidget(self.band_phase_ratio_label, 6, 0, 1, 2)
self.band_phase_ratioSpinBox = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.band_phase_ratioSpinBox.sizePolicy().hasHeightForWidth())
self.band_phase_ratioSpinBox.setSizePolicy(sizePolicy)
self.band_phase_ratioSpinBox.setEnabled(True)
self.band_phase_ratioSpinBox.setObjectName("band_phase_ratioSpinBox")
self.gridLayout_3.addWidget(self.band_phase_ratioSpinBox, 6, 2, 1, 1)
# Inclusion Feature Tab
self.inclusion_tab = QtWidgets.QWidget()
self.inclusion_tab.setObjectName("inclusion_tab")
self.InfoPages.addTab(self.inclusion_tab, "")
self.inclusion_tab.setEnabled(False)
self.gridLayoutWidget_3 = QtWidgets.QWidget(self.inclusion_tab)
self.gridLayoutWidget_3.setGeometry(QtCore.QRect(20, 10, 230, 120))
self.gridLayoutWidget_3.setObjectName("gridLayoutWidget_3")
self.gridLayout_4 = QtWidgets.QGridLayout(self.gridLayoutWidget_3)
self.gridLayout_4.setContentsMargins(0, 0, 0, 0)
self.gridLayout_4.setObjectName("gridLayout_4")
self.inclusion_file_label = QtWidgets.QLabel(self.gridLayoutWidget_3)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.inclusion_file_label.sizePolicy().hasHeightForWidth())
self.inclusion_file_label.setSizePolicy(sizePolicy)
self.inclusion_file_label.setObjectName("inclusion_file_label")
self.gridLayout_4.addWidget(self.inclusion_file_label, 0, 0, 1, 2)
self.lineEditInclusion = QtWidgets.QLineEdit(self.gridLayoutWidget_3)
self.lineEditInclusion.setObjectName("lineEditInclusion")
self.gridLayout_4.addWidget(self.lineEditInclusion, 0, 2, 1, 1)
self.fileBrowserInclusion = QtWidgets.QPushButton(self.gridLayoutWidget_3)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.fileBrowserInclusion.sizePolicy().hasHeightForWidth())
self.fileBrowserInclusion.setSizePolicy(sizePolicy)
self.fileBrowserInclusion.setText("")
self.fileBrowserInclusion.setIcon(icon)
self.fileBrowserInclusion.setObjectName("fileBrowserInclusion")
self.gridLayout_4.addWidget(self.fileBrowserInclusion, 0, 3, 1, 1)
self.fileBrowserInclusion.clicked.connect(self.button_handler)
self.inclusion_ratio_label = QtWidgets.QLabel(self.gridLayoutWidget_3)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.inclusion_ratio_label.sizePolicy().hasHeightForWidth())
self.inclusion_ratio_label.setSizePolicy(sizePolicy)
self.inclusion_ratio_label.setObjectName("inclusion_ratio_label")
self.gridLayout_4.addWidget(self.inclusion_ratio_label, 1, 0, 1, 2)
self.inclusionSpinBox = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_3)
self.inclusionSpinBox.setMinimum(0.01)
self.lineEditInclusion.setObjectName("inclusionSpinBox")
self.gridLayout_4.addWidget(self.inclusionSpinBox, 1, 2, 1, 1)
# Substructure Feature Tab
self.substructure = QtWidgets.QWidget()
self.substructure.setObjectName("substructure")
self.InfoPages.addTab(self.substructure, "")
self.substructure.setEnabled(False)
self.gridLayoutWidget_4 = QtWidgets.QWidget(self.substructure)
self.gridLayoutWidget_4.setGeometry(QtCore.QRect(10, 0, 240, 21))
self.gridLayoutWidget_4.setObjectName("gridLayoutWidget_4")
self.grid_mode = QtWidgets.QGridLayout(self.gridLayoutWidget_4)
self.grid_mode.setContentsMargins(0, 0, 0, 0)
self.grid_mode.setObjectName("grid_mode")
self.substructure_filemode_radio = QtWidgets.QRadioButton(self.gridLayoutWidget_4)
self.substructure_filemode_radio.setChecked(True)
self.substructure_filemode_radio.setObjectName("substructure_filemode_radio")
self.grid_mode.addWidget(self.substructure_filemode_radio, 0, 0, 1, 2)
self.substructure_filemode_radio.toggled.connect(self.widget_handler)
self.substructure_user_mode_radio = QtWidgets.QRadioButton(self.gridLayoutWidget_4)
self.substructure_user_mode_radio.setChecked(False)
self.substructure_user_mode_radio.setObjectName("substructure_user_mode_radio")
self.grid_mode.addWidget(self.substructure_user_mode_radio, 0, 2, 1, 2)
self.substructure_user_mode_radio.toggled.connect(self.widget_handler)
self.tabWidget = QtWidgets.QTabWidget(self.substructure)
self.tabWidget.setGeometry(QtCore.QRect(6, 29, 721, 461))
self.tabWidget.setObjectName("tabWidget")
# Substructure Feature Tab -> File Tab
self.file_tab = QtWidgets.QWidget()
self.tabWidget.addTab(self.file_tab, "")
self.file_tab.setObjectName("file_tab")
self.gridLayoutWidget_5 = QtWidgets.QWidget(self.file_tab)
self.gridLayoutWidget_5.setGeometry(QtCore.QRect(0, 0, 421, 201))
self.gridLayoutWidget_5.setObjectName("gridLayoutWidget_5")
self.grid_file = QtWidgets.QGridLayout(self.gridLayoutWidget_5)
self.grid_file.setContentsMargins(0, 0, 0, 0)
self.grid_file.setObjectName("grid_file")
self.label_substructure_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_substructure_file.setObjectName("label_substructure_file")
self.grid_file.addWidget(self.label_substructure_file, 0, 0, 1, 1)
self.substructure_file_lineEdit_file = QtWidgets.QLineEdit(self.gridLayoutWidget_5)
self.substructure_file_lineEdit_file.setObjectName("substructure_file_lineEdit_file")
self.grid_file.addWidget(self.substructure_file_lineEdit_file, 0, 1, 1, 1)
self.substructure_file_browser_file = QtWidgets.QPushButton(self.gridLayoutWidget_5)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.substructure_file_browser_file.sizePolicy().hasHeightForWidth())
self.substructure_file_browser_file.setSizePolicy(sizePolicy)
self.substructure_file_browser_file.setText("")
self.substructure_file_browser_file.setIcon(icon)
self.substructure_file_browser_file.setObjectName("substructure_file_browser_file")
self.grid_file.addWidget(self.substructure_file_browser_file, 0, 2, 1, 1)
self.substructure_file_browser_file.clicked.connect(self.button_handler)
self.label_packet_size_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_packet_size_file.setObjectName("label_packet_size_file")
self.grid_file.addWidget(self.label_packet_size_file, 1, 0, 1, 1)
self.substructure_packet_size_SpinBox_file = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_5)
self.substructure_packet_size_SpinBox_file.setEnabled(False)
self.substructure_packet_size_SpinBox_file.setMinimum(0.01)
self.substructure_packet_size_SpinBox_file.setSingleStep(0.01)
self.substructure_packet_size_SpinBox_file.setObjectName("substructure_packet_size_SpinBox")
self.grid_file.addWidget(self.substructure_packet_size_SpinBox_file, 1, 1, 1, 1)
self.substructure_packet_size_checkBox_file = QtWidgets.QCheckBox(self.gridLayoutWidget_5)
self.substructure_packet_size_checkBox_file.setText("")
self.substructure_packet_size_checkBox_file.setObjectName("substructure_packet_size_checkBox_file")
self.grid_file.addWidget(self.substructure_packet_size_checkBox_file, 1, 2, 1, 1)
self.substructure_packet_size_checkBox_file.stateChanged.connect(self.substructure_file_checkbox_handler)
self.label_block_thicknes_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_block_thicknes_file.setObjectName("label_block_thicknes_file")
self.grid_file.addWidget(self.label_block_thicknes_file, 2, 0, 1, 1)
self.substructure_block_thickness_SpinBox_file = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_5)
self.substructure_block_thickness_SpinBox_file.setEnabled(False)
self.substructure_block_thickness_SpinBox_file.setMinimum(0.01)
self.substructure_block_thickness_SpinBox_file.setSingleStep(0.01)
self.substructure_block_thickness_SpinBox_file.setObjectName("substructure_block_thickness_SpinBox_file")
self.grid_file.addWidget(self.substructure_block_thickness_SpinBox_file, 2, 1, 1, 1)
self.substructure_block_thickness_checkBox_file = QtWidgets.QCheckBox(self.gridLayoutWidget_5)
self.substructure_block_thickness_checkBox_file.setText("")
self.substructure_block_thickness_checkBox_file.setObjectName("substructure_block_thickness_checkBox_file")
self.grid_file.addWidget(self.substructure_block_thickness_checkBox_file, 2, 2, 1, 1)
self.substructure_block_thickness_checkBox_file.stateChanged.connect(self.substructure_file_checkbox_handler)
self.label_decreasing_fact_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_decreasing_fact_file.setObjectName("label_decreasing_fact_file")
self.grid_file.addWidget(self.label_decreasing_fact_file, 3, 0, 1, 1)
self.substructure_decreasing_fact_SpinBox_file = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_5)
self.substructure_decreasing_fact_SpinBox_file.setEnabled(False)
self.substructure_decreasing_fact_SpinBox_file.setValue(0.95)
self.substructure_decreasing_fact_SpinBox_file.setSingleStep(0.01)
self.substructure_decreasing_fact_SpinBox_file.setObjectName("substructure_decreasing_fact_SpinBox_file")
self.grid_file.addWidget(self.substructure_decreasing_fact_SpinBox_file, 3, 1, 1, 1)
self.substructure_decreasing_fact_checkBox_file = QtWidgets.QCheckBox(self.gridLayoutWidget_5)
self.substructure_decreasing_fact_checkBox_file.setText("")
self.substructure_decreasing_fact_checkBox_file.setObjectName("substructure_decreasing_fact_checkBox_file")
self.grid_file.addWidget(self.substructure_decreasing_fact_checkBox_file, 3, 2, 1, 1)
self.substructure_decreasing_fact_checkBox_file.stateChanged.connect(self.substructure_file_checkbox_handler)
self.label_min_block_thickness_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_min_block_thickness_file.setObjectName("label_min_block_thickness_file")
self.grid_file.addWidget(self.label_min_block_thickness_file, 4, 0, 1, 1)
self.substructure_min_block_thickness_SpinBox_file = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_5)
self.substructure_min_block_thickness_SpinBox_file.setEnabled(False)
self.substructure_min_block_thickness_SpinBox_file.setValue(0.0)
self.substructure_min_block_thickness_SpinBox_file.setSingleStep(0.1)
self.substructure_min_block_thickness_SpinBox_file.setObjectName("substructure_min_block_thickness_SpinBox_file")
self.grid_file.addWidget(self.substructure_min_block_thickness_SpinBox_file, 4, 1, 1, 1)
self.substructure_min_block_thickness_checkBox_file = QtWidgets.QCheckBox(self.gridLayoutWidget_5)
self.substructure_min_block_thickness_checkBox_file.setText("")
self.substructure_min_block_thickness_checkBox_file.setObjectName("substructure_min_block_thickness_checkBox_file")
self.grid_file.addWidget(self.substructure_min_block_thickness_checkBox_file, 4, 2, 1, 1)
self.substructure_min_block_thickness_checkBox_file.stateChanged.connect(self.substructure_file_checkbox_handler)
self.label_max_block_thickness_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_max_block_thickness_file.setObjectName("label_max_block_thickness_file")
self.grid_file.addWidget(self.label_max_block_thickness_file, 5, 0, 1, 1)
self.substructure_max_block_thickness_SpinBox_file = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_5)
self.substructure_max_block_thickness_SpinBox_file.setEnabled(False)
self.substructure_max_block_thickness_SpinBox_file.setValue(1.0)
self.substructure_max_block_thickness_SpinBox_file.setSingleStep(0.1)
self.substructure_max_block_thickness_SpinBox_file.setObjectName("substructure_max_block_thickness_SpinBox_file")
self.grid_file.addWidget(self.substructure_max_block_thickness_SpinBox_file, 5, 1, 1, 1)
self.substructure_max_block_thickness_checkBox_file = QtWidgets.QCheckBox(self.gridLayoutWidget_5)
self.substructure_max_block_thickness_checkBox_file.setText("")
self.substructure_max_block_thickness_checkBox_file.setObjectName("substructure_max_block_thickness_checkBox_file")
self.grid_file.addWidget(self.substructure_max_block_thickness_checkBox_file, 5, 2, 1, 1)
self.substructure_max_block_thickness_checkBox_file.stateChanged.connect(self.substructure_file_checkbox_handler)
self.label_save_result_file = QtWidgets.QLabel(self.gridLayoutWidget_5)
self.label_save_result_file.setObjectName("label_save_result_file")
self.grid_file.addWidget(self.label_save_result_file, 6, 0, 1, 1)
self.substructure_save_result_lineEdit_file = QtWidgets.QLineEdit(self.gridLayoutWidget_5)
self.substructure_save_result_lineEdit_file.setEnabled(False)
self.substructure_save_result_lineEdit_file.setText('substructure_data.csv')
self.substructure_save_result_lineEdit_file.setObjectName("substructure_save_result_lineEdit_file")
self.grid_file.addWidget(self.substructure_save_result_lineEdit_file, 6, 1, 1, 1)
self.substructure_save_result_checkBox_file = QtWidgets.QCheckBox(self.gridLayoutWidget_5)
self.substructure_save_result_checkBox_file.setText("")
self.substructure_save_result_checkBox_file.setObjectName("substructure_save_result_checkBox_file")
self.grid_file.addWidget(self.substructure_save_result_checkBox_file, 6, 2, 1, 1)
self.substructure_save_result_checkBox_file.stateChanged.connect(self.substructure_file_checkbox_handler)
# Substructure Feature Tab -> User Tab
self.user_tab = QtWidgets.QWidget()
self.user_tab.setObjectName("user_tab")
self.tabWidget.addTab(self.user_tab, "")
self.gridLayoutWidget_6 = QtWidgets.QWidget(self.user_tab)
self.gridLayoutWidget_6.setGeometry(QtCore.QRect(0, 3, 901, 238)) #changetry
self.gridLayoutWidget_6.setObjectName("gridLayoutWidget_6")
self.grid_user = QtWidgets.QGridLayout(self.gridLayoutWidget_6)
self.grid_user.setContentsMargins(0, 0, 0, 0)
self.grid_user.setObjectName("grid_user")
self.label_packet_eq_d_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_packet_eq_d_user.setObjectName("label_packet_eq_d_user")
self.grid_user.addWidget(self.label_packet_eq_d_user, 0, 0, 1, 1)
self.substructure_packet_eq_d_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_packet_eq_d_SpinBox_user.setEnabled(True)
self.substructure_packet_eq_d_SpinBox_user.setMinimum(2.0)
self.substructure_packet_eq_d_SpinBox_user.setSingleStep(0.1)
self.substructure_packet_eq_d_SpinBox_user.setObjectName("substructure_packet_eq_d_SpinBox_user")
self.grid_user.addWidget(self.substructure_packet_eq_d_SpinBox_user, 0, 1, 1, 1)
self.label_packet_size_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_packet_size_user.setObjectName("label_packet_size_user")
self.grid_user.addWidget(self.label_packet_size_user, 1, 0, 1, 1)
self.substructure_packet_size_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_packet_size_SpinBox_user.setEnabled(False)
self.substructure_packet_size_SpinBox_user.setMinimum(0.01)
self.substructure_packet_size_SpinBox_user.setSingleStep(0.01)
self.substructure_packet_size_SpinBox_user.setObjectName("substructure_packet_size_SpinBox_user")
self.grid_user.addWidget(self.substructure_packet_size_SpinBox_user, 1, 1, 1, 1)
self.substructure_packet_size_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_packet_size_checkBox_user.setText("")
self.substructure_packet_size_checkBox_user.setObjectName("substructure_packet_size_checkBox_user")
self.grid_user.addWidget(self.substructure_packet_size_checkBox_user, 1, 2, 1, 1)
self.substructure_packet_size_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
self.label_circularity_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_circularity_user.setObjectName("label_circularity_user")
self.grid_user.addWidget(self.label_circularity_user, 2, 0, 1, 1)
self.substructure_circularity_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_circularity_SpinBox_user.setEnabled(False)
self.substructure_circularity_SpinBox_user.setValue(1.0)
self.substructure_circularity_SpinBox_user.setSingleStep(0.1)
self.substructure_circularity_SpinBox_user.setObjectName("substructure_circularity_SpinBox_user")
self.grid_user.addWidget(self.substructure_circularity_SpinBox_user, 2, 1, 1, 1)
self.substructure_circularity_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_circularity_checkBox_user.setText("")
self.substructure_circularity_checkBox_user.setObjectName("substructure_circularity_checkBox_user")
self.grid_user.addWidget(self.substructure_circularity_checkBox_user, 2, 2, 1, 1)
self.substructure_circularity_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
self.label_block_thickness_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_block_thickness_user.setObjectName("label_block_thickness_user")
self.grid_user.addWidget(self.label_block_thickness_user, 3, 0, 1, 1)
self.substructure_block_thickness_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_block_thickness_SpinBox_user.setEnabled(True)
self.substructure_block_thickness_SpinBox_user.setMinimum(0.50)
self.substructure_block_thickness_SpinBox_user.setSingleStep(0.1)
self.substructure_block_thickness_SpinBox_user.setObjectName("substructure_block_thickness_SpinBox_user")
self.grid_user.addWidget(self.substructure_block_thickness_SpinBox_user, 3, 1, 1, 1)
self.label_decreasing_fact_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_decreasing_fact_user.setObjectName("label_decreasing_fact_user")
self.grid_user.addWidget(self.label_decreasing_fact_user, 4, 0, 1, 1)
self.substructure_decreasing_fact_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_decreasing_fact_SpinBox_user.setEnabled(False)
self.substructure_decreasing_fact_SpinBox_user.setValue(0.95)
self.substructure_decreasing_fact_SpinBox_user.setSingleStep(0.01)
self.substructure_decreasing_fact_SpinBox_user.setObjectName("substructure_decreasing_fact_SpinBox_user")
self.grid_user.addWidget(self.substructure_decreasing_fact_SpinBox_user, 4, 1, 1, 1)
self.substructure_decreasing_fact_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_decreasing_fact_checkBox_user.setText("")
self.substructure_decreasing_fact_checkBox_user.setObjectName("substructure_decreasing_fact_checkBox_user")
self.grid_user.addWidget(self.substructure_decreasing_fact_checkBox_user, 4, 2, 1, 1)
self.substructure_decreasing_fact_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
self.label_block_thickness_sigma_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_block_thickness_sigma_user.setObjectName("label_block_thickness_sigma_user")
self.grid_user.addWidget(self.label_block_thickness_sigma_user, 5, 0, 1, 1)
self.substructure_block_thickness_sigma_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_block_thickness_sigma_SpinBox_user.setEnabled(False)
self.substructure_block_thickness_sigma_SpinBox_user.setMinimum(0.01)
self.substructure_block_thickness_sigma_SpinBox_user.setSingleStep(0.01)
self.substructure_block_thickness_sigma_SpinBox_user.setObjectName("substructure_block_thickness_sigma_SpinBox_user")
self.grid_user.addWidget(self.substructure_block_thickness_sigma_SpinBox_user, 5, 1, 1, 1)
self.substructure_block_thickness_sigma_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_block_thickness_sigma_checkBox_user.setText("")
self.substructure_block_thickness_sigma_checkBox_user.setObjectName("substructure_block_thickness_sigma_checkBox_user")
self.grid_user.addWidget(self.substructure_block_thickness_sigma_checkBox_user, 5, 2, 1, 1)
self.substructure_block_thickness_sigma_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
self.label_min_block_thickness_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_min_block_thickness_user.setObjectName("label_min_block_thickness_user")
self.grid_user.addWidget(self.label_min_block_thickness_user, 6, 0, 1, 1)
self.substructure_min_block_thickness_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_min_block_thickness_SpinBox_user.setEnabled(False)
self.substructure_min_block_thickness_SpinBox_user.setValue(0.0)
self.substructure_min_block_thickness_SpinBox_user.setSingleStep(0.1)
self.substructure_min_block_thickness_SpinBox_user.setObjectName("substructure_min_block_thickness_SpinBox_user")
self.grid_user.addWidget(self.substructure_min_block_thickness_SpinBox_user, 6, 1, 1, 1)
self.substructure_min_block_thickness_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_min_block_thickness_checkBox_user.setText("")
self.substructure_min_block_thickness_checkBox_user.setObjectName("substructure_min_block_thickness_checkBox_user")
self.grid_user.addWidget(self.substructure_min_block_thickness_checkBox_user, 6, 2, 1, 1)
self.substructure_min_block_thickness_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
self.label_max_block_thickness_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_max_block_thickness_user.setObjectName("label_max_block_thickness_user")
self.grid_user.addWidget(self.label_max_block_thickness_user, 7, 0, 1, 1)
self.substructure_max_block_thickness_SpinBox_user = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_6)
self.substructure_max_block_thickness_SpinBox_user.setEnabled(False)
self.substructure_max_block_thickness_SpinBox_user.setValue(1.0)
self.substructure_max_block_thickness_SpinBox_user.setSingleStep(0.1)
self.substructure_max_block_thickness_SpinBox_user.setObjectName("substructure_max_block_thickness_SpinBox_user")
self.grid_user.addWidget(self.substructure_max_block_thickness_SpinBox_user, 7, 1, 1, 1)
self.substructure_max_block_thickness_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_max_block_thickness_checkBox_user.setText("")
self.substructure_max_block_thickness_checkBox_user.setObjectName("substructure_max_block_thickness_checkBox_user")
self.grid_user.addWidget(self.substructure_max_block_thickness_checkBox_user, 7, 2, 1, 1)
self.substructure_max_block_thickness_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
self.label_save_result_user = QtWidgets.QLabel(self.gridLayoutWidget_6)
self.label_save_result_user.setObjectName("label_save_result_user")
self.grid_user.addWidget(self.label_save_result_user, 8, 0, 1, 1)
self.substructure_save_result_lineEdit_user = QtWidgets.QLineEdit(self.gridLayoutWidget_6)
self.substructure_save_result_lineEdit_user.setEnabled(True)
self.substructure_save_result_lineEdit_user.setText('substructure_data.csv')
self.substructure_save_result_lineEdit_user.setObjectName("substructure_save_result_lineEdit_user")
self.grid_user.addWidget(self.substructure_save_result_lineEdit_user, 8, 1, 1, 1)
self.substructure_save_result_checkBox_user = QtWidgets.QCheckBox(self.gridLayoutWidget_6)
self.substructure_save_result_checkBox_user.setText("")
self.substructure_save_result_checkBox_user.setChecked(True)
self.substructure_save_result_checkBox_user.setObjectName("substructure_save_result_checkBox_user")
self.grid_user.addWidget(self.substructure_save_result_checkBox_user, 8, 2, 1, 1)
self.substructure_save_result_checkBox_user.stateChanged.connect(self.substructure_user_checkbox_handler)
# Visualization Tab
self.visualization_tab = QtWidgets.QWidget()
self.visualization_tab.setObjectName("visualization_tab")
self.InfoPages.addTab(self.visualization_tab, "")
self.gridLayoutWidget_7 = QtWidgets.QWidget(self.visualization_tab)
self.gridLayoutWidget_7.setGeometry(QtCore.QRect(20, 10, 230, 120))
self.gridLayoutWidget_7.setObjectName("gridLayoutWidget_7")
self.gridLayout_6 = QtWidgets.QGridLayout(self.gridLayoutWidget_7)
self.gridLayout_6.setContentsMargins(0, 0, 0, 0)
self.gridLayout_6.setObjectName("gridLayout_6")
self.visualization_flag_button = QtWidgets.QCheckBox(self.gridLayoutWidget_7)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.visualization_flag_button.sizePolicy().hasHeightForWidth())
self.gridLayout_6.addWidget(self.visualization_flag_button, 0, 0, 1, 1)
self.visualization_flag_label = QtWidgets.QLabel(self.gridLayoutWidget_7)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.visualization_flag_label.sizePolicy().hasHeightForWidth())
self.gridLayout_6.addWidget(self.visualization_flag_label, 0, 1, 1, 1)
self.animation_flag_button = QtWidgets.QCheckBox(self.gridLayoutWidget_7)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.animation_flag_button.sizePolicy().hasHeightForWidth())
self.gridLayout_6.addWidget(self.animation_flag_button, 1, 0, 1, 1)
self.animation_flag_label = QtWidgets.QLabel(self.gridLayoutWidget_7)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.animation_flag_label.sizePolicy().hasHeightForWidth())
self.gridLayout_6.addWidget(self.animation_flag_label, 1, 1, 1, 1)
# Specimen Orientation Tab
self.specimen_tab = QtWidgets.QWidget()
self.specimen_tab.setObjectName("specimen_tab")
self.InfoPages.addTab(self.specimen_tab, "")
self.gridLayoutWidget_8 = QtWidgets.QWidget(self.specimen_tab)
self.gridLayoutWidget_8.setGeometry(QtCore.QRect(20, 10, 300, 120))
self.gridLayoutWidget_8.setObjectName("gridLayoutWidget_7")
self.gridLayout_7 = QtWidgets.QGridLayout(self.gridLayoutWidget_8)
self.gridLayout_7.setContentsMargins(0, 0, 0, 0)
self.gridLayout_7.setObjectName("gridLayout_7")
self.slope_offset_label = QtWidgets.QLabel(self.gridLayoutWidget_8)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.slope_offset_label.sizePolicy().hasHeightForWidth())
self.gridLayout_7.addWidget(self.slope_offset_label, 0, 0, 1, 1)
self.slope_offset_spinBox = QtWidgets.QDoubleSpinBox(self.gridLayoutWidget_8)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.slope_offset_spinBox.sizePolicy().hasHeightForWidth())
self.gridLayout_7.addWidget(self.slope_offset_spinBox, 0, 1, 1, 1)
# Log Tab
self.log_tab = QtWidgets.QWidget()
self.InfoPages.addTab(self.log_tab, "")
self.log_tab.setObjectName("log_tab")
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
self.LogFile = QtWidgets.QTextBrowser(self.log_tab)
self.LogFile.setGeometry(QtCore.QRect(0, 0, 581, 336)) #change
self.LogFile.setObjectName("LogFile")
self.Visualization = QtWidgets.QGraphicsView(self.log_tab)
self.Visualization.setGeometry(QtCore.QRect(580, 0, 321, 336)) #change
self.Visualization.setObjectName("Visualization")
### Main Window
self.frame_2 = QtWidgets.QFrame(self.centralwidget)
self.frame_2.setGeometry(QtCore.QRect(10, 340, 820, 101)) #change
self.frame_2.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_2.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_2.setObjectName("frame_2")
self.gridLayoutWidget = QtWidgets.QWidget(self.frame_2)
self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 12, 811, 91)) #change
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setHorizontalSpacing(10)
self.gridLayout_2.setVerticalSpacing(10)
self.gridLayout_2.setObjectName("gridLayout_2")
self.frame_1 = QtWidgets.QFrame(self.centralwidget)
self.frame_1.setGeometry(QtCore.QRect(10, 10, 911, 341)) #change
self.frame_1.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame_1.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame_1.setObjectName("frame_1")
self.formLayoutWidget = QtWidgets.QWidget(self.frame_1)
self.formLayoutWidget.setGeometry(QtCore.QRect(0, 0, 901, 331)) #change
self.formLayoutWidget.setObjectName("formLayoutWidget")
self.gridLayout = QtWidgets.QGridLayout(self.formLayoutWidget)
self.gridLayout.setSizeConstraint(QtWidgets.QLayout.SetDefaultConstraint)
self.gridLayout.setContentsMargins(0, 0, 0, 0)
self.gridLayout.setHorizontalSpacing(5)
self.gridLayout.setVerticalSpacing(10)
self.gridLayout.setObjectName("gridLayout")
# Dimensionality:
self.dimensionality_label = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.dimensionality_label.sizePolicy().hasHeightForWidth())
self.dimensionality_label.setSizePolicy(sizePolicy)
self.dimensionality_label.setObjectName("dimensionality_label")
self.gridLayout.addWidget(self.dimensionality_label, 0, 0, 1, 1)
self.two_d_button = QtWidgets.QRadioButton(self.formLayoutWidget)
self.two_d_button.setObjectName("two_d_button")
self.gridLayout.addWidget(self.two_d_button, 0, 2, 1, 1)
self.three_d_button = QtWidgets.QRadioButton(self.formLayoutWidget)
self.three_d_button.setChecked(True)
self.three_d_button.setObjectName("three_d_button")
self.gridLayout.addWidget(self.three_d_button, 0, 1, 1, 1)
# Boxsize:
self.BoxsizeLabel = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.BoxsizeLabel.sizePolicy().hasHeightForWidth())
self.BoxsizeLabel.setSizePolicy(sizePolicy)
self.BoxsizeLabel.setObjectName("BoxsizeLabel")
self.gridLayout.addWidget(self.BoxsizeLabel, 1, 0, 1, 1)
self.box_sizeSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.box_sizeSpinBox.setProperty("value", 25.0)
self.box_sizeSpinBox.setMaximum(1000)
self.box_sizeSpinBox.setObjectName("box_sizeSpinBox")
self.gridLayout.addWidget(self.box_sizeSpinBox, 1, 1, 1, 2)
self.box_sizeSpinBox.valueChanged.connect(self.bandwidth_handler)
self.box_size_y_Button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.box_size_y_Button.setChecked(False)
self.box_size_y_Button.setObjectName("box_size_y_Button")
self.gridLayout.addWidget(self.box_size_y_Button, 1, 3, 1, 2)
self.box_size_y_Button.stateChanged.connect(self.button_handler)
self.box_size_y_SpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.box_size_y_SpinBox.setProperty("value", 25.0)
self.box_size_y_SpinBox.setMaximum(1000)
self.box_size_y_SpinBox.setObjectName("box_size_y_SpinBox")
self.gridLayout.addWidget(self.box_size_y_SpinBox, 1, 4, 1, 1)
self.box_size_y_SpinBox.setEnabled(False)
self.box_size_z_Button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.box_size_z_Button.setChecked(False)
self.box_size_z_Button.setObjectName("box_size_z_Button")
self.gridLayout.addWidget(self.box_size_z_Button, 1, 5, 1, 2)
self.box_size_z_Button.stateChanged.connect(self.button_handler)
self.box_size_z_SpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.box_size_z_SpinBox.setProperty("value", 25.0)
self.box_size_z_SpinBox.setMaximum(1000)
self.box_size_z_SpinBox.setObjectName("box_size_z_SpinBox")
self.gridLayout.addWidget(self.box_size_z_SpinBox, 1, 6, 1, 1)
self.box_size_z_SpinBox.setEnabled(False)
# Resolution:
self.resolutionLabel = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.resolutionLabel.sizePolicy().hasHeightForWidth())
self.resolutionLabel.setSizePolicy(sizePolicy)
self.resolutionLabel.setObjectName("resolutionLabel")
self.gridLayout.addWidget(self.resolutionLabel, 2, 0, 1, 1)
self.resolutionSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.resolutionSpinBox.setDecimals(3)
self.resolutionSpinBox.setMaximum(20.0)
self.resolutionSpinBox.setMinimum(0.001)
self.resolutionSpinBox.setValue(1)
self.resolutionSpinBox.setSingleStep(0.01)
self.resolutionSpinBox.setObjectName("resolutionSpinBox")
self.gridLayout.addWidget(self.resolutionSpinBox, 2, 1, 1, 2)
# Number of RVEs:
self.NoRVEsLabel = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.NoRVEsLabel.sizePolicy().hasHeightForWidth())
self.NoRVEsLabel.setSizePolicy(sizePolicy)
self.NoRVEsLabel.setObjectName("NoRVEsLabel")
self.gridLayout.addWidget(self.NoRVEsLabel, 3, 0, 1, 1)
self.NoRVEsSpinBox = QtWidgets.QSpinBox(self.formLayoutWidget)
self.NoRVEsSpinBox.setMinimum(1)
self.NoRVEsSpinBox.setMaximum(999)
self.NoRVEsSpinBox.setSingleStep(1)
self.NoRVEsSpinBox.setProperty("value", 1)
self.NoRVEsSpinBox.setObjectName("NoRVEsSpinBox")
self.gridLayout.addWidget(self.NoRVEsSpinBox, 3, 1, 1, 2)
# Microstructure Phases:
self.phases_label = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.phases_label.sizePolicy().hasHeightForWidth())
self.phases_label.setSizePolicy(sizePolicy)
self.phases_label.setObjectName("phases_label")
self.gridLayout.addWidget(self.phases_label, 4, 0, 1, 1)
self.ferrite_button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.ferrite_button.setChecked(False)
self.ferrite_button.setObjectName("ferrite_button")
self.gridLayout.addWidget(self.ferrite_button, 4, 1, 1, 2)
self.ferrite_button.stateChanged.connect(self.phase_handler)
self.martensite_button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.martensite_button.setChecked(False)
self.martensite_button.setObjectName("martensite_button")
self.gridLayout.addWidget(self.martensite_button, 4, 4, 1, 1)
self.martensite_button.stateChanged.connect(self.phase_handler)
self.Pearlite_button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.Pearlite_button.setChecked(False)
self.Pearlite_button.setObjectName("Pearlite_button")
self.gridLayout.addWidget(self.Pearlite_button, 4, 6, 1, 1)
self.Pearlite_button.stateChanged.connect(self.phase_handler)
self.Bainite_button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.Bainite_button.setChecked(False)
self.Bainite_button.setObjectName("Bainite_button")
self.gridLayout.addWidget(self.Bainite_button, 4, 8, 1, 1)
self.Bainite_button.stateChanged.connect(self.phase_handler)
#Add
self.Austenite_button = QtWidgets.QCheckBox(self.formLayoutWidget)
self.Austenite_button.setChecked(False)
self.Austenite_button.setObjectName("Austenite_button")
self.gridLayout.addWidget(self.Austenite_button, 4, 10, 1, 1)
self.Austenite_button.stateChanged.connect(self.phase_handler)
#Add
#isotropy
self.phase2iso_label = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.phase2iso_label.sizePolicy().hasHeightForWidth())
self.phase2iso_label.setSizePolicy(sizePolicy)
self.phase2iso_label.setObjectName("phase2iso_label")
self.gridLayout.addWidget(self.phase2iso_label, 5, 0, 1, 1)
self.phase2iso_ferrite_checkbox = QtWidgets.QCheckBox(self.gridLayoutWidget)
self.phase2iso_ferrite_checkbox.setChecked(True)
self.phase2iso_ferrite_checkbox.setObjectName("phase2iso_ferrite_checkbox")
self.gridLayout.addWidget(self.phase2iso_ferrite_checkbox, 5, 1, 1, 2)
self.phase2iso_martensite_checkbox = QtWidgets.QCheckBox(self.gridLayoutWidget)
self.phase2iso_martensite_checkbox.setChecked(True)
self.phase2iso_martensite_checkbox.setObjectName("phase2iso_martensite_checkbox")
self.gridLayout.addWidget(self.phase2iso_martensite_checkbox, 5, 4, 1, 1)
self.phase2iso_Pearlite_checkbox = QtWidgets.QCheckBox(self.gridLayoutWidget)
self.phase2iso_Pearlite_checkbox.setChecked(True)
self.phase2iso_Pearlite_checkbox.setObjectName("phase2iso_Pearlite_checkbox")
self.gridLayout.addWidget(self.phase2iso_Pearlite_checkbox, 5, 6, 1, 1)
self.phase2iso_Bainite_checkbox = QtWidgets.QCheckBox(self.gridLayoutWidget)
self.phase2iso_Bainite_checkbox.setChecked(True)
self.phase2iso_Bainite_checkbox.setObjectName("phase2iso_Bainite_checkbox")
self.gridLayout.addWidget(self.phase2iso_Bainite_checkbox, 5, 8, 1, 1)
self.phase2iso_Austenite_checkbox = QtWidgets.QCheckBox(self.gridLayoutWidget)
self.phase2iso_Austenite_checkbox.setChecked(True)
self.phase2iso_Austenite_checkbox.setObjectName("phase2iso_Austenite_checkbox")
self.gridLayout.addWidget(self.phase2iso_Austenite_checkbox, 5, 10, 1, 1)
# Phase Fraction:
self.phase_fraction_label = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.phase_fraction_label.sizePolicy().hasHeightForWidth())
self.phase_fraction_label.setSizePolicy(sizePolicy)
self.phase_fraction_label.setObjectName("phase_fraction_label")
self.gridLayout.addWidget(self.phase_fraction_label, 6, 0, 1, 1)
self.ferriteSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.ferriteSpinBox.setDecimals(2)
self.ferriteSpinBox.setMaximum(1.0)
self.ferriteSpinBox.setMinimum(0.01)
self.ferriteSpinBox.setSingleStep(0.01)
self.ferriteSpinBox.setEnabled(False)
self.ferriteSpinBox.setObjectName("ferriteSpinBox")
self.gridLayout.addWidget(self.ferriteSpinBox, 6, 1, 1, 2)
self.martensiteSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.martensiteSpinBox.setDecimals(2)
self.martensiteSpinBox.setMaximum(1.0)
self.martensiteSpinBox.setMinimum(0.01)
self.martensiteSpinBox.setSingleStep(0.01)
self.martensiteSpinBox.setEnabled(False)
self.martensiteSpinBox.setObjectName("martensiteSpinBox")
self.gridLayout.addWidget(self.martensiteSpinBox, 6, 4, 1, 1)
self.pearliteSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.pearliteSpinBox.setDecimals(2)
self.pearliteSpinBox.setMaximum(1.0)
self.pearliteSpinBox.setMinimum(0.01)
self.pearliteSpinBox.setSingleStep(0.01)
self.pearliteSpinBox.setEnabled(False)
self.pearliteSpinBox.setObjectName("pearliteSpinBox")
self.gridLayout.addWidget(self.pearliteSpinBox, 6, 6, 1, 1)
self.bainiteSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.bainiteSpinBox.setDecimals(2)
self.bainiteSpinBox.setMaximum(1.0)
self.bainiteSpinBox.setMinimum(0.01)
self.bainiteSpinBox.setSingleStep(0.01)
self.bainiteSpinBox.setEnabled(False)
self.bainiteSpinBox.setObjectName("bainiteSpinBox")
self.gridLayout.addWidget(self.bainiteSpinBox, 6, 8, 1, 1)
self.austeniteSpinBox = QtWidgets.QDoubleSpinBox(self.formLayoutWidget)
self.austeniteSpinBox.setDecimals(2)
self.austeniteSpinBox.setMaximum(1.0)
self.austeniteSpinBox.setMinimum(0.01)
self.austeniteSpinBox.setSingleStep(0.01)
self.austeniteSpinBox.setEnabled(False)
self.austeniteSpinBox.setObjectName("austeniteSpinBox")
self.gridLayout.addWidget(self.austeniteSpinBox, 6, 10, 1, 2)
# Inputfile path:
self.filepath_label = QtWidgets.QLabel(self.formLayoutWidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.filepath_label.sizePolicy().hasHeightForWidth())
self.filepath_label.setSizePolicy(sizePolicy)
self.filepath_label.setObjectName("filepath_label")
self.gridLayout.addWidget(self.filepath_label, 7, 0, 1, 1)
self.lineEditFerrite = QtWidgets.QLineEdit(self.formLayoutWidget)
self.lineEditFerrite.setEnabled(False)
self.lineEditFerrite.setObjectName("lineEditFerrite")
self.gridLayout.addWidget(self.lineEditFerrite, 7, 1, 1, 2)
self.fileBrowserFerrite = QtWidgets.QPushButton(self.formLayoutWidget)
self.fileBrowserFerrite.setEnabled(False)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.fileBrowserFerrite.sizePolicy().hasHeightForWidth())
self.fileBrowserFerrite.setSizePolicy(sizePolicy)
self.fileBrowserFerrite.setText("")
self.fileBrowserFerrite.setIcon(icon)
self.fileBrowserFerrite.setObjectName("fileBrowserFerrite")
self.gridLayout.addWidget(self.fileBrowserFerrite, 7, 3, 1, 1)
self.fileBrowserFerrite.clicked.connect(self.button_handler)
self.lineEditMartensite = QtWidgets.QLineEdit(self.formLayoutWidget)
self.lineEditMartensite.setEnabled(False)
self.lineEditMartensite.setObjectName("lineEditMartensite")
self.gridLayout.addWidget(self.lineEditMartensite, 7, 4, 1, 1)
self.fileBrowserMartensite = QtWidgets.QPushButton(self.formLayoutWidget)
self.fileBrowserMartensite.setEnabled(False)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.fileBrowserMartensite.sizePolicy().hasHeightForWidth())
self.fileBrowserMartensite.setSizePolicy(sizePolicy)
self.fileBrowserMartensite.setText("")
self.fileBrowserMartensite.setIcon(icon)
self.fileBrowserMartensite.setObjectName("fileBrowserMartensite")
self.gridLayout.addWidget(self.fileBrowserMartensite, 7, 5, 1, 1)
self.fileBrowserMartensite.clicked.connect(self.button_handler)
self.lineEditPearlite = QtWidgets.QLineEdit(self.formLayoutWidget)
self.lineEditPearlite.setEnabled(False)
self.lineEditPearlite.setObjectName("lineEditPearlite")