示例#1
0
class SeleccionCOyUC(QWidget):
    def __init__(self, parent):
        QWidget.__init__(self, parent)
        
        layout = QVBoxLayout(self)
        label1 = QLabel('''
        <h3>Seleccione el concentrador y la UC</h3>
        <p>Seleccione un concentrador de la lista inferior</p>
        ''', self)
        layout.addWidget(label1)
        self.comboCOs = QComboBoxModelQuery(self)
        self.comboCOs.setObjectName('comboCOs')
        
        query = QSqlQuery('''
            SELECT 
                CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`,
            id_CO FROM CO''')
        if not query.size():
            log.msg("No existen concentradores")
            raise Exception('No existen concentradores')
        
        
        log.err("Error: %s" % query.lastError().databaseText())
        model = QSqlQueryModel(self.comboCOs)
        model.setQuery(query)
        self.comboCOs.setModel(model)
        layout.addWidget(self.comboCOs)
        
        label2 = QLabel('''
        <p>Seleccione la UC de la lista inferior</p>
        ''', self)
        layout.addWidget(label2)
        
        self.comboUCs = QComboBoxModelQuery(self)
        layout.addWidget(self.comboUCs)
        
        self.setLayout(layout)
        self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'), 
                     self.update_ucs_for_co)
        
        self.update_ucs_for_co()
        
        QMetaObject.connectSlotsByName(self)
        
    
    def update_ucs_for_co(self):
        co_id = self.comboCOs.get_col_value(1)
        query = QSqlQuery('''
            SELECT CONCAT(UC.nombre_uc, '(' ,UC.id_UC,')'), 
            UC.id FROM UC WHERE UC.co_id = %(co_id)d
        ''' % locals(), qApp.instance().db_con)
        model = QSqlQueryModel(self.comboUCs)
        model.setQuery(query)
        # Deasctivar el siguiente si el CO no tiene UCs
        self.parent().pushNext.setEnabled( query.size() > 0 )
        self.comboUCs.setModel(model)
    
    def on_comboCOs_currentIndexChanged(self, index):
        self.update_ucs_for_co()
示例#2
0
    def __init__(self, parent):
        QWidget.__init__(self, parent)

        layout = QVBoxLayout(self)
        label1 = QLabel(
            '''
        <h3>Seleccione el concentrador y la UC</h3>
        <p>Seleccione un concentrador de la lista inferior</p>
        ''', self)
        layout.addWidget(label1)
        self.comboCOs = QComboBoxModelQuery(self)
        self.comboCOs.setObjectName('comboCOs')

        query = QSqlQuery('''
            SELECT 
                CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`,
            id_CO FROM CO''')
        if not query.size():
            log.msg("No existen concentradores")
            raise Exception('No existen concentradores')

        log.err("Error: %s" % query.lastError().databaseText())
        model = QSqlQueryModel(self.comboCOs)
        model.setQuery(query)
        self.comboCOs.setModel(model)
        layout.addWidget(self.comboCOs)

        label2 = QLabel(
            '''
        <p>Seleccione la UC de la lista inferior</p>
        ''', self)
        layout.addWidget(label2)

        self.comboUCs = QComboBoxModelQuery(self)
        layout.addWidget(self.comboUCs)

        self.setLayout(layout)
        self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'),
                     self.update_ucs_for_co)

        self.update_ucs_for_co()

        QMetaObject.connectSlotsByName(self)
示例#3
0
 def __init__(self, parent):
     QWidget.__init__(self, parent)
     
     layout = QVBoxLayout(self)
     label1 = QLabel('''
     <h3>Seleccione el concentrador y la UC</h3>
     <p>Seleccione un concentrador de la lista inferior</p>
     ''', self)
     layout.addWidget(label1)
     self.comboCOs = QComboBoxModelQuery(self)
     self.comboCOs.setObjectName('comboCOs')
     
     query = QSqlQuery('''
         SELECT 
             CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`,
         id_CO FROM CO''')
     if not query.size():
         log.msg("No existen concentradores")
         raise Exception('No existen concentradores')
     
     
     log.err("Error: %s" % query.lastError().databaseText())
     model = QSqlQueryModel(self.comboCOs)
     model.setQuery(query)
     self.comboCOs.setModel(model)
     layout.addWidget(self.comboCOs)
     
     label2 = QLabel('''
     <p>Seleccione la UC de la lista inferior</p>
     ''', self)
     layout.addWidget(label2)
     
     self.comboUCs = QComboBoxModelQuery(self)
     layout.addWidget(self.comboUCs)
     
     self.setLayout(layout)
     self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'), 
                  self.update_ucs_for_co)
     
     self.update_ucs_for_co()
     
     QMetaObject.connectSlotsByName(self)
示例#4
0
    def __init__(self, inicial=None):
        QDialog.__init__(self)
        try:
            self.setWindowTitle(u"Selección de calle")
            layout = QVBoxLayout(self)
            layout.addWidget(QLabel('<h3>Seleccione una Calle</h3>'))
            self.comboCalles = QComboBoxModelQuery()

            layout.addWidget(self.comboCalles)
            self.update_model()

            self.buttonGroup = QDialogButtonBox(self)
            self.buttonGroup.setOrientation(Qt.Horizontal)
            self.buttonGroup.setStandardButtons(QDialogButtonBox.Cancel
                                                | QDialogButtonBox.Ok)
            self.connect(self.buttonGroup, SIGNAL("accepted()"), self.accept)
            self.connect(self.buttonGroup, SIGNAL("rejected()"), self.reject)

            layout.addWidget(self.buttonGroup)
            self.setLayout(layout)
        except Exception, e:
            print e
示例#5
0
class SeleccionCOyUC(QWidget):
    def __init__(self, parent):
        QWidget.__init__(self, parent)

        layout = QVBoxLayout(self)
        label1 = QLabel(
            '''
        <h3>Seleccione el concentrador y la UC</h3>
        <p>Seleccione un concentrador de la lista inferior</p>
        ''', self)
        layout.addWidget(label1)
        self.comboCOs = QComboBoxModelQuery(self)
        self.comboCOs.setObjectName('comboCOs')

        query = QSqlQuery('''
            SELECT 
                CONCAT(COALESCE(CO.nombre_co, 'CO'), ' ' ,COALESCE(CO.ip_address, 'Sin IP')) `nombre`,
            id_CO FROM CO''')
        if not query.size():
            log.msg("No existen concentradores")
            raise Exception('No existen concentradores')

        log.err("Error: %s" % query.lastError().databaseText())
        model = QSqlQueryModel(self.comboCOs)
        model.setQuery(query)
        self.comboCOs.setModel(model)
        layout.addWidget(self.comboCOs)

        label2 = QLabel(
            '''
        <p>Seleccione la UC de la lista inferior</p>
        ''', self)
        layout.addWidget(label2)

        self.comboUCs = QComboBoxModelQuery(self)
        layout.addWidget(self.comboUCs)

        self.setLayout(layout)
        self.connect(self.comboCOs, SIGNAL('currentIndexChanged(int)'),
                     self.update_ucs_for_co)

        self.update_ucs_for_co()

        QMetaObject.connectSlotsByName(self)

    def update_ucs_for_co(self):
        co_id = self.comboCOs.get_col_value(1)
        query = QSqlQuery(
            '''
            SELECT CONCAT(UC.nombre_uc, '(' ,UC.id_UC,')'), 
            UC.id FROM UC WHERE UC.co_id = %(co_id)d
        ''' % locals(),
            qApp.instance().db_con)
        model = QSqlQueryModel(self.comboUCs)
        model.setQuery(query)
        # Deasctivar el siguiente si el CO no tiene UCs
        self.parent().pushNext.setEnabled(query.size() > 0)
        self.comboUCs.setModel(model)

    def on_comboCOs_currentIndexChanged(self, index):
        self.update_ucs_for_co()