def start(self): # Place widget in the layout self.generateMenu() self.mainWidget = QtGui.QWidget() self.mainWidget.setContentsMargins(0,0,0,0) self.setCentralWidget(self.mainWidget) self.status = QtGui.QStatusBar() self.setStatusBar(self.status) # Define MainWidget Layout self.mainLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom,None) self.mainLayout.setSpacing(0) self.setLayout(self.mainLayout) # Create MainWidget Content self.generateShelveBar() self.sideSplitter = QtGui.QSplitter() self.sideSplitter.setOrientation(QtCore.Qt.Horizontal) self.mainSplitter = QtGui.QSplitter() self.mainSplitter.setOrientation(QtCore.Qt.Vertical) # Generate List self.jobList = JobList("jobs") self.taskList = JobList("tasks") self.jobList.refreshList() self.jobList.connectToList(self.taskList) #self.console = Console() #self.console.output("Test\nBlablabla") self.console = Console() self.nodePanel = NodePanel() self.parmPanel = ParameterPanel() tabArea1 = TabPanel() tabArea1.addTab(self.jobList,"Job List") tabArea1.addTab(self.taskList,"Task List") tabArea2 = TabPanel() tabArea2.addTab(self.nodePanel,"Node") tabArea2.addTab(self.console,"Console") tabArea3 = TabPanel() tabArea3.addTab(self.parmPanel,"Parameters") self.nodePanel.connectParameterPanel(self.parmPanel) # Asign Layout self.centralWidget().setLayout(self.mainLayout) self.mainLayout.addWidget(self.shelveBar) self.mainLayout.addWidget(self.sideSplitter) #self.mainSplitter.addWidget(self.jobList) #self.mainSplitter.addWidget(self.console) self.mainSplitter.addWidget(tabArea1) self.mainSplitter.addWidget(tabArea2) self.sideSplitter.addWidget(self.mainSplitter) self.sideSplitter.addWidget(tabArea3) self.setWindowTitle('sRender Manager') self.setGeometry(30, 30, 1200, 800) self.show()
class sRenderManagerUI(QtGui.QMainWindow): def __init__(self): super(sRenderManagerUI, self).__init__() self.server = None self.database = "/Users/draknova/Desktop/database.db" self.start() def start(self): # Place widget in the layout self.generateMenu() self.mainWidget = QtGui.QWidget() self.mainWidget.setContentsMargins(0,0,0,0) self.setCentralWidget(self.mainWidget) self.status = QtGui.QStatusBar() self.setStatusBar(self.status) # Define MainWidget Layout self.mainLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.TopToBottom,None) self.mainLayout.setSpacing(0) self.setLayout(self.mainLayout) # Create MainWidget Content self.generateShelveBar() self.sideSplitter = QtGui.QSplitter() self.sideSplitter.setOrientation(QtCore.Qt.Horizontal) self.mainSplitter = QtGui.QSplitter() self.mainSplitter.setOrientation(QtCore.Qt.Vertical) # Generate List self.jobList = JobList("jobs") self.taskList = JobList("tasks") self.jobList.refreshList() self.jobList.connectToList(self.taskList) #self.console = Console() #self.console.output("Test\nBlablabla") self.console = Console() self.nodePanel = NodePanel() self.parmPanel = ParameterPanel() tabArea1 = TabPanel() tabArea1.addTab(self.jobList,"Job List") tabArea1.addTab(self.taskList,"Task List") tabArea2 = TabPanel() tabArea2.addTab(self.nodePanel,"Node") tabArea2.addTab(self.console,"Console") tabArea3 = TabPanel() tabArea3.addTab(self.parmPanel,"Parameters") self.nodePanel.connectParameterPanel(self.parmPanel) # Asign Layout self.centralWidget().setLayout(self.mainLayout) self.mainLayout.addWidget(self.shelveBar) self.mainLayout.addWidget(self.sideSplitter) #self.mainSplitter.addWidget(self.jobList) #self.mainSplitter.addWidget(self.console) self.mainSplitter.addWidget(tabArea1) self.mainSplitter.addWidget(tabArea2) self.sideSplitter.addWidget(self.mainSplitter) self.sideSplitter.addWidget(tabArea3) self.setWindowTitle('sRender Manager') self.setGeometry(30, 30, 1200, 800) self.show() def generateMenu(self): self.menuBar = self.menuBar() self.menuBar.setNativeMenuBar(False) connectionMenu = self.menuBar.addMenu("&Connection") connectionMenu.addAction("Connect") connectionMenu.addAction("Disconnect") connectionMenu.addAction("Edit") quitAction = connectionMenu.addAction("Quit") connectionMenu.insertSeparator(quitAction) jobMenu = self.menuBar.addMenu("&Job") jobMenu.addAction("Create job") jobMenu.addAction("Edit job") jobMenu.addAction("Delete job") taskMenu = self.menuBar.addMenu("&Task") taskMenu.addAction("Create task") taskMenu.addAction("Edit task") taskMenu.addAction("Delete task") aboutMenu = self.menuBar.addMenu("&About") return def generateShelveBar(self): self.shelveBar = QtGui.QWidget() self.shelveBar.setFixedHeight(50) shelveBarLayout = QtGui.QBoxLayout(QtGui.QBoxLayout.LeftToRight,self.shelveBar) shelveBarLayout.setSpacing(10) shelveBarLayout.setContentsMargins(0,0,0,0) hostLabel = QtGui.QLabel() hostLabel.setText("Host :") self.hostField = QtGui.QLineEdit() self.hostField.setText("127.0.0.1") self.hostField.setFixedWidth(120) portLabel = QtGui.QLabel() portLabel.setText("Port :") self.portField = QtGui.QLineEdit() self.portField.setText("9999") self.portField.setFixedWidth(80) self.connectButton = QtGui.QPushButton("Connect") self.connectButton.setFixedWidth(100) self.connectButton.clicked.connect(self.connectToServer) self.shelveBar.setLayout(shelveBarLayout) shelveBarLayout.addWidget(hostLabel) shelveBarLayout.addWidget(self.hostField) shelveBarLayout.addWidget(portLabel) shelveBarLayout.addWidget(self.portField) shelveBarLayout.addWidget(self.connectButton) shelveBarLayout.addStretch() def connectToServer(self): host = self.hostField.text() port = int(self.portField.text()) print host print port self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #self.s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: self.s.connect( (host, port) ) self.console.output("Connection success") self.s.sendall("/jobList") data = self.s.recv(1024) print data self.s.close() except: self.console.warning("Connection failed !")