Example #1
0
    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()
Example #2
0
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 !")