class PrometheusProgrammer (QWidget):
    """
    Visual Interface to Prometheus
    """

    def __init__(self, prometheus):
        super(PrometheusProgrammer, self).__init__(None)
        self.prometheus = prometheus
        layout = QVBoxLayout()
        self.processor_programmer = ProcessorProgrammer(self.prometheus)
        layout.addWidget(self.processor_programmer)

        self.setLayout(layout)
        if self.prometheus.usb_server.is_connected():
            self.usb_connected()

    def usb_connected(self):
        """
        Called when the USB device is connected
        """
        #change the background to light greend to indicate connected
        #Display 'connected on the status'
        self.processor_programmer.connected()
        pass

    def usb_disconnected(self):
        """
        Called when the USB device is disconnected

        Changes the background of the programmer to indicat ethat it is not
        coneccted
        """
        #Change the bakground to grey to indicate disconnected
        #Display 'disconnected on the status'
        self.processor_programmer.disconnected()
        pass

    def fpga_available(self):
        """
        Called when an FPGA is available to be programmed
        """
        pass

    def fpga_not_available(self):
        """
        Called when an FPGA is not available to be programmed
        """
        pass
    def __init__(self, prometheus):
        super(PrometheusProgrammer, self).__init__(None)
        self.prometheus = prometheus
        layout = QVBoxLayout()
        self.processor_programmer = ProcessorProgrammer(self.prometheus)
        layout.addWidget(self.processor_programmer)

        self.setLayout(layout)
        if self.prometheus.usb_server.is_connected():
            self.usb_connected()