-
Notifications
You must be signed in to change notification settings - Fork 0
/
system.py
126 lines (93 loc) · 4.09 KB
/
system.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
import sys
import datetime
import systemui as system
from PyQt6.QtCore import *
from PyQt6.QtGui import *
from PyQt6.QtWidgets import *
from signals import s
from CTCOffice.testUiMain import MainTestWindow as MainTestWindowCTC
from CTCOffice.main import MainWindow as MainWindowCTC
from TrainController.TrainCTRLui.ui_driver.mainwindow import TrainController
from TrainController.TrainCTRLui.ui_driver.trainctrltestui import TrainCTRLTestUI
from TrainController.TrainCTRLui.ui_driver.engineerui import engineerUI
from track_model.track_model_qc.widget import TrackModel as TrackModelGUI
from track_model.TrackModelTestUI.trackmodeltestui import TrackModelTestUI as TrackModelTestUI
from Wayside_Controller.main import MainWindow as TrackControllerWindow
from Train_Model.TrainModel import TrainModel, TestTrainModel
class SystemWindow(QMainWindow, system.Ui_MainWindow):
def __init__(self, parent=None):
super(SystemWindow, self).__init__(parent)
self.setupUi(self)
self.second = 50400+3300
self.label_time.setText(str(round(self.second, 1)))
#Create list of trains for indexing
self.Trains = []
self.Trains.append(TrainController())
# CTC variables
self.main_windowCTC = MainWindowCTC()
self.test_windowCTC = MainTestWindowCTC()
self.pushButton_ctc.clicked.connect(self.open_CTC)
self.pushButton_ctc_test.clicked.connect(self.open_CTC_test)
# Track Controller Variables
self.trackController = TrackControllerWindow()
self.pushButton_trackcontrol.clicked.connect(self.open_TrackController)
# self.pushButton_trackcontrol_test.clicked.connect(self.open_TrackController_test)
# Track Model Variables
self.trackmodel = TrackModelGUI()
self.trackModelTestUI = TrackModelTestUI()
self.pushButton_trackmodel.clicked.connect(self.open_TrackModel)
self.pushButton_trackmodel_test.clicked.connect(self.open_TrackModelTestUI)
# Train Model Variables
self.trainmodel = TrainModel()
self.trainmodel_test = TestTrainModel(self.trainmodel)
self.pushButton_trainmodel.clicked.connect(self.open_trainmodel)
self.pushButton_trainmodel_test.clicked.connect(self.open_trainmodel_test)
# Train Controller Variables
# self.Trains.append(TrainController())
self.pushButton_traincontrol.clicked.connect(self.open_traincontrol)
self.pushButton_traincontrol_test.clicked.connect(self.open_traincontrol_test)
self.pushButton_start.clicked.connect(self.pause_timer)
self.timer = QTimer()
self.timer.setInterval(100)
self.timer.timeout.connect(self.timer_timeout)
self.update_speed()
self.horizontalSlider.valueChanged.connect(self.update_speed)
s.send_CTC_create_train.connect(self.open_traincontrol)
def open_CTC(self):
self.main_windowCTC.show()
def open_CTC_test(self):
self.test_windowCTC.show()
def open_TrackController(self):
self.trackController.show()
def timer_timeout(self):
self.second += 0.1 * self.horizontalSlider.value()
self.label_time.setText(str(datetime.timedelta(seconds=round(self.second))))
s.timer_tick.emit(self.horizontalSlider.value())
def pause_timer(self):
if self.pushButton_start.isChecked():
self.timer.start()
else:
self.timer.stop()
def open_trainmodel(self):
self.trainmodel.show()
def open_trainmodel_test(self):
self.trainmodel_test.show()
def open_traincontrol(self, line):
self.Train = self.Trains[0]
self.engWindow = engineerUI(self.Train)
self.Train.show()
self.engWindow.show()
def open_traincontrol_test(self):
self.test_window = TrainCTRLTestUI(self.Trains[0])
self.test_window.show()
def open_TrackModel(self):
self.trackmodel.show()
def open_TrackModelTestUI(self):
self.trackModelTestUI.show()
def update_speed(self):
self.label_speed.setText(str(self.horizontalSlider.value()))
if __name__ == "__main__":
app = QApplication(sys.argv)
window = SystemWindow()
window.show()
sys.exit(app.exec())