Exemplo n.º 1
0
    def __init__(self, config=None, parent=None):
        """Constructor, opcional config parameter with project config"""
        super(UI_confComponents_widget, self).__init__(parent)
        layout = QtGui.QGridLayout(self)
        self.databank = UI_databank_widget()
        self.databank.BaseDatos.itemSelectionChanged.connect(
            self.comprobarBotones)
        layout.addWidget(self.databank, 1, 1, 17, 1)

        layout.addItem(
            QtGui.QSpacerItem(30, 30, QtGui.QSizePolicy.Expanding,
                              QtGui.QSizePolicy.Fixed), 1, 2, 1, 2)
        layout.addWidget(
            QtGui.QLabel(
                QtGui.QApplication.translate("pychemqt", "Components list")),
            2, 3)
        self.DeleteComponente = QtGui.QToolButton()
        self.DeleteComponente.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/arrow-left.png")))
        self.DeleteComponente.clicked.connect(self.Delete)
        layout.addWidget(self.DeleteComponente, 4, 2)
        self.AddComponente = QtGui.QToolButton()
        self.AddComponente.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/arrow-right.png")))
        self.AddComponente.clicked.connect(self.Add)
        layout.addWidget(self.AddComponente, 5, 2)
        self.Arriba = QtGui.QToolButton()
        self.Arriba.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/arrow-up.png")))
        self.Arriba.clicked.connect(self.Up)
        layout.addWidget(self.Arriba, 6, 2)
        self.Abajo = QtGui.QToolButton()
        self.Abajo.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/arrow-down.png")))
        self.Abajo.clicked.connect(self.Down)
        layout.addWidget(self.Abajo, 7, 2)
        self.clearComp = QtGui.QToolButton()
        self.clearComp.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/clear.png")))
        self.clearComp.clicked.connect(self.clear)
        layout.addWidget(self.clearComp, 8, 2)

        self.ListaComponentes = QtGui.QListWidget()
        self.ListaComponentes.setSizePolicy(QtGui.QSizePolicy.Expanding,
                                            QtGui.QSizePolicy.Expanding)
        self.ListaComponentes.itemSelectionChanged.connect(
            self.comprobarBotones)
        layout.addWidget(self.ListaComponentes, 3, 3, 7, 1)

        self.DeleteSolido = QtGui.QToolButton()
        self.DeleteSolido.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/arrow-left.png")))
        self.DeleteSolido.clicked.connect(self.DeleteSolid)
        layout.addWidget(self.DeleteSolido, 13, 2)
        self.AddSolido = QtGui.QToolButton()
        self.AddSolido.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/arrow-right.png")))
        self.AddSolido.clicked.connect(self.AddSolid)
        layout.addWidget(self.AddSolido, 14, 2)
        self.clearSolido = QtGui.QToolButton()
        self.clearSolido.setIcon(
            QtGui.QIcon(
                QtGui.QPixmap(os.environ["pychemqt"] +
                              "/images/button/clear.png")))
        self.clearSolido.clicked.connect(self.clearSolids)
        layout.addWidget(self.clearSolido, 15, 2)

        layout.addItem(
            QtGui.QSpacerItem(20, 20, QtGui.QSizePolicy.Fixed,
                              QtGui.QSizePolicy.Expanding), 10, 4, 1, 1)
        layout.addWidget(
            QtGui.QLabel(
                QtGui.QApplication.translate("pychemqt", "Solids", None)), 11,
            3)
        self.ListaSolidos = QtGui.QListWidget()
        self.ListaSolidos.setFixedHeight(100)
        self.ListaSolidos.itemSelectionChanged.connect(self.comprobarBotones)
        layout.addWidget(self.ListaSolidos, 12, 3, 5, 1)

        self.indices = []
        self.solidos = []

        if config and config.has_section("Components"):
            try:
                self.indices = eval(config.get("Components", "Components"))
                self.solidos = eval(config.get("Components", "Solids"))
            except:
                self.indices = config.get("Components", "Components")
                self.solidos = config.get("Components", "Solids")
            for indice in self.indices:
                self.ListaComponentes.addItem(
                    "%03i - %s" %
                    (indice, self.databank.BaseDatos.item(indice - 1,
                                                          1).text()))
            for solido in self.solidos:
                self.ListaSolidos.addItem(
                    "%03i - %s" %
                    (solido, self.databank.BaseDatos.item(solido - 1,
                                                          1).text()))

        self.comprobarBotones()