-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathModulePage_View.py
75 lines (56 loc) · 2.17 KB
/
ModulePage_View.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
from PyQt5.QtCore import pyqtSignal
from PyQt5.QtWidgets import QApplication, QMainWindow
from ModuleFrame1_View import moduleFrame1_view
from ModuleFrame1_Model import moduleFrame1_Model
from ModuleFrame_Delegate import moduleFrame_Deletagte
from upcomingEvent_View import upcomingEvent_view
from upcomingEvent_Model import upcomingEvent_Model
# jump by creating new window
from ModulePage_Ctr import ModulePage_ctr
import sys
class modulePage_view(QMainWindow):
# jumping signal to controller - TBC
enterSessionPage_Signal = pyqtSignal()
def __init__(self):
super(modulePage_view, self).__init__()
self.window = None
def show(self):
self.window.show()
# TBC
def hide(self):
self.window.hide()
def setMainWindow(self, mainWindow, logCtr):
self.window = mainWindow
#In order to get View in class logCtr
self.logCtr = logCtr
self.setupMyUI()
def setupMyUI(self):
# connect with Ctr
self.modulePageCtr = ModulePage_ctr()
self.modulePageCtr.setCtr(self, self.window)
# build view, model, delegate
self.Frame1 = moduleFrame1_view()
moduleModel = moduleFrame1_Model()
moduleDelegate = moduleFrame_Deletagte()
# connect signal of frame to this page
self.Frame1.enterSessionPage_SignalToPage.connect(self.goSession)
self.upcomingFrame = upcomingEvent_view()
upcomingModel = upcomingEvent_Model()
# set model and delegate for views
self.Frame1.setupUi(self.window.moduleFrame1)
self.Frame1.listView.setModel(moduleModel)
self.Frame1.listView.setItemDelegate(moduleDelegate)
self.Frame1.refresh()
#self.window.stackedWidget.addWidget(self.Frame1)
self.upcomingFrame.setupUi(self.window.moduleFrame2)
self.upcomingFrame.listView.setModel(upcomingModel)
self.window.stackedWidget.setCurrentIndex(0)
def goSession(self):
# TODO: jump to the page
self.enterSessionPage_Signal.emit()
# test code
if __name__ == "__main__":
app = QApplication(sys.argv)
mainWindow = modulePage_view()
mainWindow.show()
sys.exit(app.exec_())