def __init__(self):
        QtGui.QMainWindow.__init__(self)
        self.setupUi(self)
        self.setWindowTitle("Viajes Mona Alexis")
        self.setWindowIcon(QtGui.QIcon('bus_icon-icons.com_76529.ico'))

        self.cargarMapaDefecto()  #sinrutas

        self.label_4.setPixmap(QPixmap("logoWeb1.png"))

        self.grafo = grafo()

        self.grafo.iniVertices(fileVertices)
        self.grafo.iniAristas(fileAristas)

        #cargo las ciudades disponibles en combobox
        aux = self.grafo.cab
        while (aux != None):
            self.origen.addItem(aux.info.ciudad)
            aux = aux.sig

        self.origen.currentIndexChanged.connect(self.cargarDestino)

        #cargo la tabla
        self.tableWidget.setColumnCount(3)
        self.tableWidget.setHorizontalHeaderLabels(
            ['CIUDADES', 'PRECIO', 'DISTANCIA'])
        self.tableWidget.setEditTriggers(QAbstractItemView.NoEditTriggers)

        header = self.tableWidget.horizontalHeader(
        )  #ajusta columas depende cargue
        header.setResizeMode(QHeaderView.ResizeToContents)
        header.setStretchLastSection(True)

        self.tableWidget.setSortingEnabled(True)  #permite ordenar en tabla

        if (self.tableWidget.rowCount() == 0):
            self.pushButton_3.setEnabled(False)
            self.pushButton_4.setEnabled(False)

        self.buscarViaje.clicked.connect(self.buscarCaminos)
        self.tableWidget.clicked.connect(
            self.seleccionado)  #marca camino seleccionado
        self.pushButton_3.clicked.connect(self.ordenarPrecio)
        self.pushButton_4.clicked.connect(self.ordenarDistancia)

        self.ayuda()
    def guardarCiudad(self):
        if(len(self.nombreC.text().strip())>0):
            if(self.grafo.buscarVertice(self.nombreC.text()) != None):
                msg = QtGui.QMessageBox()
                msg.setWindowTitle("Error")
                msg.setWindowIcon(QtGui.QIcon('admin_user_man_22187.ico'))
                msg.setIcon(QtGui.QMessageBox.Critical)
                msg.setText("Ya existe la ciudad")
                msg.exec()
            else:
                if(self.esFloat(self.nombreC.text())):
                    self.nombreC.setStyleSheet("border: 1px solid red;")
                else:
                    print("cargo la ciudad: "+self.nombreC.text())
                    if(self.grafo.cargarCiudadQT(fileVertices,self.nombreC.text())):
                        msg = QtGui.QMessageBox()
                        msg.setWindowTitle("Éxito")
                        msg.setWindowIcon(QtGui.QIcon('admin_user_man_22187.ico'))
                        msg.setText("Éxito")
                        msg.exec()
                            
                        self.nombreC.clear()
                        self.nombreC.setPlaceholderText('Ingrese nombre de ciudad')
                        self.nombreC.setStyleSheet("")

                            #cerrar(fileVertices)
                        self.grafo = grafo()
                            #fileVertices = abrir("vertices")
                        self.grafo.iniVertices(fileVertices)
                        self.grafo.iniAristas(fileAristas)
                            
                        self.iniCiudades()
                    else:
                        msg = QtGui.QMessageBox()
                        msg.setWindowTitle("Error")
                        msg.setWindowIcon(QtGui.QIcon('admin_user_man_22187.ico'))
                        msg.setText("Falló el guardado")
                        msg.exec()
        else:
            msg = QtGui.QMessageBox()
            msg.setWindowTitle("Error")
            msg.setWindowIcon(QtGui.QIcon('admin_user_man_22187.ico'))
            msg.setIcon(QtGui.QMessageBox.Critical)
            msg.setText("Debe completar el campo")
            msg.exec()
 def __init__(self, parent=None):
     QtGui.QDialog.__init__(self, parent)
     self.setupUi(self)
     self.setWindowTitle("Administración")
     self.setWindowIcon(QtGui.QIcon('admin_user_man_22187.ico'))
     
     self.grafo = grafo()
     self.grafo.iniVertices(fileVertices)
     self.grafo.iniAristas(fileAristas)
     
     
     self.cerrar.clicked.connect(self.cerrarVentana)
     
     self.listaC.verticalHeader().hide()
     self.listaC.setColumnCount(2)
     self.listaC.setHorizontalHeaderLabels(['ID', 'NOMBRE'])
     
     header = self.listaC.horizontalHeader()
     header.setResizeMode(QHeaderView.ResizeToContents)
     header.setStretchLastSection(True)
     
     self.listaC.setSortingEnabled(True)
     
     self.iniCiudades()
     
     self.nombreC.setPlaceholderText('Ingrese nombre de ciudad')
     
     self.guardar.clicked.connect(self.guardarCiudad)
     
     self.cargarV.clicked.connect(self.viajes)
     
     self.listaV.verticalHeader().hide()
     self.listaV.setColumnCount(2)
     self.listaV.setHorizontalHeaderLabels(['CIUDAD', 'SE CONECTA CON'])
     header = self.listaV.horizontalHeader()
     header.setResizeMode(QHeaderView.ResizeToContents)
     header.setStretchLastSection(False)
     self.listaV.setSortingEnabled(True)
     
     
     self.iniViajes()
     self.listaV.resizeRowsToContents()
     
     self.nombreC.deselect()
    def actualizar(self):
        self.origen.clear()  #limpia comboBox

        self.grafo = None
        self.grafo = grafo()

        fileVertices = abrir("vertices")
        fileAristas = abrir("aristas")

        self.grafo.iniVertices(fileVertices)
        self.grafo.iniAristas(fileAristas)

        aux = self.grafo.cab
        self.origen.addItem("")
        while (aux != None):
            #print(aux.info.ciudad)
            self.origen.addItem(aux.info.ciudad)
            aux = aux.sig
        self.destino.clear()
    def __init__(self, parent=None):
        QtGui.QDialog.__init__(self, parent)
        self.setupUi(self)
        self.setWindowTitle("Cargar Viaje")
        self.setWindowIcon(QtGui.QIcon('maps_22147.ico'))
        self.cancelar.clicked.connect(self.hide)

        self.grafo = grafo()
        self.grafo.iniVertices(fileVertices)

        self.lista = []
        act = self.grafo.cab
        while (act != None):
            self.lista.append(act.info.ciudad)
            act = act.sig

        self.origen.setPlaceholderText('Ingrese una ciudad de origen')
        self.destino.setPlaceholderText('Ingrese una ciudad de destino')
        self.importe.setPlaceholderText('Ingrese importe')
        self.distancia.setPlaceholderText('Ingrese distancia')

        self.origen.setCompleter(QtGui.QCompleter(
            self.lista,
            self.origen))  #pongo inicial y me muestra los que coinciden
        self.origen.textChanged.connect(self.cargarO)

        self.destino.setCompleter(QtGui.QCompleter(self.lista, self.destino))
        self.destino.textChanged.connect(self.cargarD)

        self.importe.textChanged.connect(self.importeV)
        self.distancia.textChanged.connect(self.distanciaV)

        self.aceptar.clicked.connect(self.guardarV)

        self.distanciaBool = False
        self.importeBool = False
        self.origenBool = False
        self.destinoBool = False
# -*- coding: utf-8 -*-
"""
Created on Mon Oct 23 20:54:44 2017

@author: Alexis
"""

from archivoG import abrir
from tpentrerios import grafo

#defino los archivos y los abro
fileVertices = abrir("vertices")
fileAristas = abrir("aristas")

#defino el grafo
g = grafo()

#g.cargarCiudad(fileVertices)
#g.cargarViaje(fileAristas)

#cargo el grafo desde el archivo
g.iniVertices(fileVertices)
g.iniAristas(fileAristas)
g.listarGrafo()

#buscador que nos puede servir
pos = g.buscador("rios")
if (pos != None):
    for i in range(0, len(pos)):
        print(pos[i])