/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeElementos">El manejador de Elementos.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public RemplazadorDeLetrasEspeciales( ManejadorDeElementos elManejadorDeElementos, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeElementos, elEscuchadorDeEstatus) { miLectorDeConversiónDeLetras = new LectorDeConversiónDeLetras(elEscuchadorDeEstatus); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDePDIs">El manejador de PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ArregladorDeLetras( ManejadorDePDIs elManejadorDePDIs, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDePDIs, elEscuchadorDeEstatus) { miLectorDeConversiónDeLetras = new LectorDeConversiónDeLetras(elEscuchadorDeEstatus); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDePDIs">El manejador de PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ArregladorDePalabrasPorTipo( ManejadorDePDIs elManejadorDePDIs, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDePDIs, elEscuchadorDeEstatus) { miLectorDeCorrecciónDePalabrasPorTipo = new LectorDeCorrecciónDePalabrasPorTipo(elEscuchadorDeEstatus); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeMapa">El Manejador de Mapa.</param> /// <param name="losElementos">Los Elementos.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ManejadorDeElementos( ManejadorDeMapa elManejadorDeMapa, IList <ElementoDelMapa> losElementos, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeMapa, losElementos, elEscuchadorDeEstatus) { }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDePDIs">El manejador de PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public EliminadorDeCaracteres( ManejadorDePDIs elManejadorDePDIs, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDePDIs, elEscuchadorDeEstatus) { miLectorDeCaracteresAEliminar = new LectorDeCaracteresAEliminar(elEscuchadorDeEstatus); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejador">El manejador.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> protected ProcesadorBase( T elManejador, IEscuchadorDeEstatus elEscuchadorDeEstatus) { miManejador = elManejador; NúmeroDeElementos = miManejador.Elementos.Count; ManejadorDeMapa = elManejador.ManejadorDeMapa; EscuchadorDeEstatus = elEscuchadorDeEstatus; // Pone el manejador de eventos del timer. miTimerParaReportarEstatus.Elapsed += EnTimerElapsed; // Escucha eventos. ManejadorDeMapa.MapaNuevo += EnMapaNuevo; miManejador.ElementosModificados += EnElementosModificados; // Genera el nombre del elemento. // El nombre completo es de la forma GpsYv.ManejadorDeMapa.<Nombre> // asi que tenemos que extraer la última palabra. string nombreCompleto = typeof(K).ToString(); string[] palabras = nombreCompleto.Split('.'); int últimoIndice = palabras.Length - 1; miNombreDeElemento = palabras[últimoIndice]; }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> protected LectorDeArchivo(IEscuchadorDeEstatus elEscuchadorDeEstatus) { miEscuchadorDeEstatus = elEscuchadorDeEstatus; // Reporta estatus. miEscuchadorDeEstatus.Progreso = 0; }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeVías">El manejador de Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public BuscadorDePosiblesNodosDesconectados( ManejadorDeVías elManejadorDeVías, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeVías, elEscuchadorDeEstatus) { DistanciaMáxima = 5; PosibleNodosDesconectados = new List <InformaciónNodoDesconectado>(); }
public LectorDeDiccionarioDeNombres( string elArchivo, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elEscuchadorDeEstatus) { miArchivo = elArchivo; Lee(miArchivo); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeMapa">El Manejador de Mapa.</param> /// <param name="losElementos">Los Elementos.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> protected ManejadorBase( ManejadorDeMapa elManejadorDeMapa, IList <T> losElementos, IEscuchadorDeEstatus elEscuchadorDeEstatus) { miManejadorDeMapa = elManejadorDeMapa; misElementos = losElementos; miEscuchadorDeEstatus = elEscuchadorDeEstatus; }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeVías">El manejador de Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> /// <param name="elServicioDiálogoAbrirArchivos">El servicio de diálogo para abrir archivos.</param> public RemplazadorDeNombresDeVias( ManejadorDeVías elManejadorDeVías, IEscuchadorDeEstatus elEscuchadorDeEstatus, IOpenFileDialogService elServicioDiálogoAbrirArchivos) : base(elManejadorDeVías, elEscuchadorDeEstatus) { myOpenFileDialogService = elServicioDiálogoAbrirArchivos; MinimumDistanceInMeters = 100; }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDePdis">El manejador de PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ArregladorGeneral( ManejadorDePdis elManejadorDePdis, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDePdis, elEscuchadorDeEstatus) { miLectorDeConversiónDeLetras = new LectorDeConversiónDeLetras(elEscuchadorDeEstatus); miLectorDeCorrecciónDePalabrasPorTipo = new LectorDeCorrecciónDePalabrasPorTipo(elEscuchadorDeEstatus); miLectorDeCaracteresAEliminar = new LectorDeCaracteresAEliminar(elEscuchadorDeEstatus); }
/// <summary> /// Constructor. /// </summary> /// <param name="elArchivoConElDiccionario">El Archivo con el Diccionario.</param> /// <param name="elManejadorDeElementos">El manejador de Elementos.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public RemplazadorDeNombres( string elArchivoConElDiccionario, ManejadorDeElementos elManejadorDeElementos, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeElementos, elEscuchadorDeEstatus) { miLectorDeCorrecciónDeNombres = new LectorDeDiccionarioDeNombres( elArchivoConElDiccionario, elEscuchadorDeEstatus); }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> /// <param name="elServicioDiálogoAbrirArchivos">El servicio de diálogo para abrir archivos.</param> public ManejadorDeMapa( IEscuchadorDeEstatus elEscuchadorDeEstatus, IOpenFileDialogService elServicioDiálogoAbrirArchivos) { Trace.WriteLine("Inicializando ManejadorDeMapa"); EscuchadorDeEstatus = elEscuchadorDeEstatus; ManejadorDeElementos = new ManejadorDeElementos(this, misElementos, elEscuchadorDeEstatus); ManejadorDePdis = new ManejadorDePdis(this, misPdis, elEscuchadorDeEstatus); ManejadorDeVías = new ManejadorDeVías(this, misVías, elEscuchadorDeEstatus, elServicioDiálogoAbrirArchivos); Polígonos = new List <Polígono>(); Polilíneas = new List <Polilínea>(); Ciudades = new List <Ciudad>(); NodosRuteables = new Dictionary <int, IList <Nodo> >(); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeMapa">El Manejador de Mapa.</param> /// <param name="losPuntosDeInteres">Los PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ManejadorDePdis( ManejadorDeMapa elManejadorDeMapa, IList <Pdi> losPuntosDeInteres, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeMapa, losPuntosDeInteres, elEscuchadorDeEstatus) { // Crea los procesadores. ArregladorDeIndicesDeCiudad = new ArregladorDeIndicesDeCiudad(this, elEscuchadorDeEstatus); ArregladorGeneral = new ArregladorGeneral(this, elEscuchadorDeEstatus); BuscadorDeDuplicados = new BuscadorDeDuplicados(this, elEscuchadorDeEstatus); BuscadorDeAlertas = new BuscadorDeAlertas(this, elEscuchadorDeEstatus); BuscadorDeErrores = new BuscadorDeErrores(this, elEscuchadorDeEstatus); // Escucha eventos. elManejadorDeMapa.PdisModificados += EnElementosModificados; }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeMapa">El Manejador de Mapa.</param> /// <param name="lasVías">Las Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> /// <param name="elServicioDiálogoAbrirArchivos">El servicio de diálogo para abrir archivos.</param> public ManejadorDeVías( ManejadorDeMapa elManejadorDeMapa, IList <Vía> lasVías, IEscuchadorDeEstatus elEscuchadorDeEstatus, IOpenFileDialogService elServicioDiálogoAbrirArchivos) : base(elManejadorDeMapa, lasVías, elEscuchadorDeEstatus) { // Crea los procesadores. ArregladorDeIndicesDeCiudad = new ArregladorDeIndicesDeCiudad(this, elEscuchadorDeEstatus); ArregladorGeneral = new ArregladorGeneral(this, elEscuchadorDeEstatus); BuscadorDeErrores = new BuscadorDeErrores(this, elEscuchadorDeEstatus); BuscadorDeAlertas = new BuscadorDeAlertas(this, elEscuchadorDeEstatus); BuscadorDePosiblesErroresDeRuteo = new BuscadorDePosiblesErroresDeRuteo(this, elEscuchadorDeEstatus); BuscadorDePosiblesNodosDesconectados = new BuscadorDePosiblesNodosDesconectados(this, elEscuchadorDeEstatus); RemplazadorDeNombresDeVias = new RemplazadorDeNombresDeVias(this, elEscuchadorDeEstatus, elServicioDiálogoAbrirArchivos); // Escucha eventos. elManejadorDeMapa.VíasModificadas += EnElementosModificados; }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeVías">El manejador de Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public BuscadorDePosiblesErroresDeRuteo( ManejadorDeVías elManejadorDeVías, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeVías, elEscuchadorDeEstatus) { }
/// <summary> /// Constructor. /// </summary> public InterfaseManejadorDeMapa() { // Lee la cultura de las opciones. // Si la cultura no esta definida entonces usamos Inglés // para todas las culturas que no deriven del Español. var culturaTexto = Settings.Default.Cultura; CultureInfo cultura; if (string.IsNullOrEmpty(culturaTexto)) { cultura = CultureInfo.CurrentCulture; if (cultura.TwoLetterISOLanguageName != "es") { cultura = new CultureInfo("en"); } } else { cultura = new CultureInfo(culturaTexto); } Thread.CurrentThread.CurrentUICulture = cultura; InitializeComponent(); // Crea la lista de menús a desabilitar. misMenúsADesabilitar = new List <ToolStripMenuItem> { miMenúMapa, miMenúProcesar }; // Crea la lista de menús de lenguage. misMenúsDeLenguage = new List <ToolStripMenuItem> { miMenúLenguajeEspañol, miMenúLenguajeInglés, miMenúLenguajeAutomático }; miMenúLenguajeAutomático.Tag = string.Empty; CambiaCultura(culturaTexto); // Pone el nombre. Text = Recursos.DescripciónDelEjecutable + " - " + VentanaDeAcerca.AssemblyCompany; #region Asigna los ToolTips de los menús. miMenúAceptarModificaciones.ToolTipText = ManejadorDeMapa.DescripciónAceptarModificaciones; // PDIs. miMenúProcesarTodoEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.ManejadorDePdis.DescripciónProcesarTodo; miMenúArreglarIndicesDeCiudadEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.ArregladorDeIndicesDeCiudad.Descripción; miMenuArreglarCosasGeneralesEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.ArregladorGeneral.Descripción; miMenúBuscaDuplicadosEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.BuscadorDeDuplicados.Descripción; miMenúBuscarAlertasEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.BuscadorDeAlertas.Descripción; miMenúBuscarErroresEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.BuscadorDeErrores.Descripción; // Vías. miMenúProcesarTodoEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.ManejadorDeVías.DescripciónProcesarTodo; miMenúArreglarIndicesDeCiudadEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.ArregladorDeIndicesDeCiudad.Descripción; miMenúArreglarCosasGeneralesEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.ArregladorGeneral.Descripción; miMenúBuscarAlertasEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDeAlertas.Descripción; miMenúBuscarPosiblesErroresDeRuteoEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDePosiblesErroresDeRuteo.Descripción; miMenúBuscarPosiblesNodosDesconectadosEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDePosiblesNodosDesconectados.Descripción; miMenúBuscarErroresEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDeErrores.Descripción; #endregion // Crea y asigna el escuchador de estatus. miEscuchadorDeEstatus = new EscuchadorDeEstatus( this, miTextoDeEstatus, miBarraDeProgreso, miTextoDeCoordenadas); // Crea el objecto Manejador de Mapa. miManejadorDeMapa = new ManejadorDeMapa( miEscuchadorDeEstatus, new OpenFileDialogService()); // Maneja eventos de modificación de elementos. miManejadorDeMapa.MapaNuevo += EnMapaNuevo; miManejadorDeMapa.ElementosModificados += EnElementosModificados; // Maneja eventos de procesamiento. miManejadorDeMapa.Procesando += EnProcesando; miManejadorDeMapa.Procesó += EnProcesó; // Oculta el botón de parar de procesar. miBotónParaDeProcesar.Visible = false; miTimerParaMostrarBotónParaDeProcesar.Interval = 5000; miTimerParaMostrarBotónParaDeProcesar.Tick += EnTimerParaMostrarBotónParaDeProcesar; // Pone el método llenador de items. miLista.PoneLlenadorDeItems(LlenaItems); // Asigna las propiedades de la interfase de mapa. miInterfaseDeMapa.ManejadorDeMapa = miManejadorDeMapa; miInterfaseDeMapa.EscuchadorDeEstatus = miEscuchadorDeEstatus; // Asigna las propiedades de la interfase de PDIs. miInterfaseManejadorDePdis.ManejadorDeMapa = miManejadorDeMapa; miInterfaseManejadorDePdis.EscuchadorDeEstatus = miEscuchadorDeEstatus; // Asigna las propiedades de la interfase de Vías. miInterfaseManejadorDeVías.ManejadorDeMapa = miManejadorDeMapa; miInterfaseManejadorDeVías.EscuchadorDeEstatus = miEscuchadorDeEstatus; // Crea el diccionario de índices de pestañas. TabControl.TabPageCollection pestañas = miControladorDePestañasPrincipal.TabPages; for (int i = 0; i < pestañas.Count; ++i) { misIndicesDePestañas[pestañas[i]] = i; } // Maneja evento de cambio de Estado Máximo de Pestañas de PDIs. miInterfaseManejadorDePdis.CambióEstadoMáximoDePestañas += ((elEnviador, losArgumentos) => miControladorDePestañasPrincipal.PoneEstadoDePestaña( miPaginaDePdis, losArgumentos.EstadoMáximoDePestañas)); // Maneja evento de cambio de Estado Máximo de Pestañas de Vías. miInterfaseManejadorDeVías.CambióEstadoMáximoDePestañas += ((elEnviador, losArgumentos) => miControladorDePestañasPrincipal.PoneEstadoDePestaña( miPáginaDeVías, losArgumentos.EstadoMáximoDePestañas)); // Lee el archivo de límites si existe en los settings. if (!string.IsNullOrEmpty(Settings.Default.ArchivoDeLímites)) { // Trata de leer el archivo de límites. try { miManejadorDeMapa.AbrirLímites(Settings.Default.ArchivoDeLímites); } catch { // Ignoramos errores. } } }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeVías">El manejador de Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ArregladorGeneral( ManejadorDeVías elManejadorDeVías, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeVías, elEscuchadorDeEstatus) { }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public LectorDeCaracteresAEliminar(IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elEscuchadorDeEstatus) { Lee(miArchivoDeCaracteresAEliminar); }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> protected LectorDeArchivo(IEscuchadorDeEstatus elEscuchadorDeEstatus) { miEscuchadorDeEstatus = elEscuchadorDeEstatus; // Reporta estatus. miEscuchadorDeEstatus.Progreso = 0; }
/// <summary> /// Constructor. /// </summary> /// <param name="elArchivo">El archivo a abrir.</param> /// <param name="losElementosDelMapa">Los elementos del mapa.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public EscritorDeFormatoPolish(string elArchivo, ICollection<ElementoDelMapa> losElementosDelMapa, IEscuchadorDeEstatus elEscuchadorDeEstatus) { // Usar el punto para separar decimales. miFormatoNumérico.NumberDecimalSeparator = "."; try { // Hacer una copia si el archivo existe. if (File.Exists(elArchivo)) { const bool sobreEscribe = true; File.Copy(elArchivo, elArchivo + ".bak", sobreEscribe); } // Reporta estatus. elEscuchadorDeEstatus.Estatus = "Escribiendo " + elArchivo + " ..."; elEscuchadorDeEstatus.Progreso = 0; // Establece el límite superior de la barra de progreso. int númeroDeElementos = losElementosDelMapa.Count; elEscuchadorDeEstatus.ProgresoMáximo = númeroDeElementos; using (StreamWriter escritor = new StreamWriter(elArchivo, false, miCodificaciónPorDefecto)) { // Guarda todos los elementos. int contadorDeElementos = 0; foreach (ElementoDelMapa elemento in losElementosDelMapa) { ++contadorDeElementos; // Reportar Progreso elEscuchadorDeEstatus.Progreso = contadorDeElementos; if (elemento is Comentario) { Guarda((Comentario)elemento, escritor); } else { Guarda(elemento, escritor); // Separa los elementos con una línea en blanco. escritor.WriteLine(); } } } elEscuchadorDeEstatus.Estatus = "Listo."; } catch { elEscuchadorDeEstatus.Estatus = "Error."; throw; } finally { // Borra la barra de progreso. elEscuchadorDeEstatus.Progreso = 0; } }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public LectorDeConversiónDeLetras(IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elEscuchadorDeEstatus) { Lee(miArchivoDeLetrasAReemplazar); }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ManejadorDeMapa(IEscuchadorDeEstatus elEscuchadorDeEstatus) : this(elEscuchadorDeEstatus, null) { }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeVías">El manejador de Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public BuscadorDeErrores( ManejadorDeVías elManejadorDeVías, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeVías, elEscuchadorDeEstatus) { }
/// <summary> /// Constructor. /// </summary> /// <param name="elArchivo">El archivo a abrir.</param> /// <param name="losElementosDelMapa">Los elementos del mapa.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public EscritorDeFormatoPolish(string elArchivo, ICollection <ElementoDelMapa> losElementosDelMapa, IEscuchadorDeEstatus elEscuchadorDeEstatus) { // Usar el punto para separar decimales. miFormatoNumérico.NumberDecimalSeparator = "."; try { // Hacer una copia si el archivo existe. if (File.Exists(elArchivo)) { const bool sobreEscribe = true; File.Copy(elArchivo, elArchivo + ".bak", sobreEscribe); } // Reporta estatus. elEscuchadorDeEstatus.Estatus = "Escribiendo " + elArchivo + " ..."; elEscuchadorDeEstatus.Progreso = 0; // Establece el límite superior de la barra de progreso. int númeroDeElementos = losElementosDelMapa.Count; elEscuchadorDeEstatus.ProgresoMáximo = númeroDeElementos; using (StreamWriter escritor = new StreamWriter(elArchivo, false, miCodificaciónPorDefecto)) { // Guarda todos los elementos. int contadorDeElementos = 0; foreach (ElementoDelMapa elemento in losElementosDelMapa) { ++contadorDeElementos; // Reportar Progreso elEscuchadorDeEstatus.Progreso = contadorDeElementos; if (elemento is Comentario) { Guarda((Comentario)elemento, escritor); } else { Guarda(elemento, escritor); // Separa los elementos con una línea en blanco. escritor.WriteLine(); } } } elEscuchadorDeEstatus.Estatus = "Listo."; } catch { elEscuchadorDeEstatus.Estatus = "Error."; throw; } finally { // Borra la barra de progreso. elEscuchadorDeEstatus.Progreso = 0; } }
/// <summary> /// Constructor. /// </summary> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public LectorDeCorrecciónDePalabrasPorTipo(IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elEscuchadorDeEstatus) { Lee(miArchivoDeConversionDePalabras); }
/// <summary> /// Constructor. /// </summary> public InterfaseManejadorDeMapa() { // Lee la cultura de las opciones. // Si la cultura no esta definida entonces usamos Inglés // para todas las culturas que no deriven del Español. var culturaTexto = Settings.Default.Cultura; CultureInfo cultura; if (string.IsNullOrEmpty(culturaTexto)) { cultura = CultureInfo.CurrentCulture; if (cultura.TwoLetterISOLanguageName != "es") { cultura = new CultureInfo("en"); } } else { cultura = new CultureInfo(culturaTexto); } Thread.CurrentThread.CurrentUICulture = cultura; InitializeComponent(); // Crea la lista de menús a desabilitar. misMenúsADesabilitar = new List<ToolStripMenuItem> { miMenúMapa, miMenúProcesar}; // Crea la lista de menús de lenguage. misMenúsDeLenguage = new List<ToolStripMenuItem> { miMenúLenguajeEspañol, miMenúLenguajeInglés, miMenúLenguajeAutomático}; miMenúLenguajeAutomático.Tag = string.Empty; CambiaCultura(culturaTexto); // Pone el nombre. Text = Recursos.DescripciónDelEjecutable + " - " + VentanaDeAcerca.AssemblyCompany; #region Asigna los ToolTips de los menús. miMenúAceptarModificaciones.ToolTipText = ManejadorDeMapa.DescripciónAceptarModificaciones; // PDIs. miMenúProcesarTodoEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.ManejadorDePdis.DescripciónProcesarTodo; miMenúArreglarIndicesDeCiudadEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.ArregladorDeIndicesDeCiudad.Descripción; miMenuArreglarCosasGeneralesEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.ArregladorGeneral.Descripción; miMenúBuscaDuplicadosEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.BuscadorDeDuplicados.Descripción; miMenúBuscarAlertasEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.BuscadorDeAlertas.Descripción; miMenúBuscarErroresEnPdis.ToolTipText = GpsYv.ManejadorDeMapa.Pdis.BuscadorDeErrores.Descripción; // Vías. miMenúProcesarTodoEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.ManejadorDeVías.DescripciónProcesarTodo; miMenúArreglarIndicesDeCiudadEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.ArregladorDeIndicesDeCiudad.Descripción; miMenúArreglarCosasGeneralesEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.ArregladorGeneral.Descripción; miMenúBuscarAlertasEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDeAlertas.Descripción; miMenúBuscarPosiblesErroresDeRuteoEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDePosiblesErroresDeRuteo.Descripción; miMenúBuscarPosiblesNodosDesconectadosEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDePosiblesNodosDesconectados.Descripción; miMenúBuscarErroresEnVías.ToolTipText = GpsYv.ManejadorDeMapa.Vías.BuscadorDeErrores.Descripción; #endregion // Crea y asigna el escuchador de estatus. miEscuchadorDeEstatus = new EscuchadorDeEstatus( this, miTextoDeEstatus, miBarraDeProgreso, miTextoDeCoordenadas); // Crea el objecto Manejador de Mapa. miManejadorDeMapa = new ManejadorDeMapa( miEscuchadorDeEstatus, new OpenFileDialogService()); // Maneja eventos de modificación de elementos. miManejadorDeMapa.MapaNuevo += EnMapaNuevo; miManejadorDeMapa.ElementosModificados += EnElementosModificados; // Maneja eventos de procesamiento. miManejadorDeMapa.Procesando += EnProcesando; miManejadorDeMapa.Procesó += EnProcesó; // Oculta el botón de parar de procesar. miBotónParaDeProcesar.Visible = false; miTimerParaMostrarBotónParaDeProcesar.Interval = 5000; miTimerParaMostrarBotónParaDeProcesar.Tick += EnTimerParaMostrarBotónParaDeProcesar; // Pone el método llenador de items. miLista.PoneLlenadorDeItems(LlenaItems); // Asigna las propiedades de la interfase de mapa. miInterfaseDeMapa.ManejadorDeMapa = miManejadorDeMapa; miInterfaseDeMapa.EscuchadorDeEstatus = miEscuchadorDeEstatus; // Asigna las propiedades de la interfase de PDIs. miInterfaseManejadorDePdis.ManejadorDeMapa = miManejadorDeMapa; miInterfaseManejadorDePdis.EscuchadorDeEstatus = miEscuchadorDeEstatus; // Asigna las propiedades de la interfase de Vías. miInterfaseManejadorDeVías.ManejadorDeMapa = miManejadorDeMapa; miInterfaseManejadorDeVías.EscuchadorDeEstatus = miEscuchadorDeEstatus; // Crea el diccionario de índices de pestañas. TabControl.TabPageCollection pestañas = miControladorDePestañasPrincipal.TabPages; for (int i = 0; i < pestañas.Count; ++i) { misIndicesDePestañas[pestañas[i]] = i; } // Maneja evento de cambio de Estado Máximo de Pestañas de PDIs. miInterfaseManejadorDePdis.CambióEstadoMáximoDePestañas += ((elEnviador, losArgumentos) => miControladorDePestañasPrincipal.PoneEstadoDePestaña( miPaginaDePdis, losArgumentos.EstadoMáximoDePestañas)); // Maneja evento de cambio de Estado Máximo de Pestañas de Vías. miInterfaseManejadorDeVías.CambióEstadoMáximoDePestañas += ((elEnviador, losArgumentos) => miControladorDePestañasPrincipal.PoneEstadoDePestaña( miPáginaDeVías, losArgumentos.EstadoMáximoDePestañas)); // Lee el archivo de límites si existe en los settings. if (!string.IsNullOrEmpty(Settings.Default.ArchivoDeLímites)) { // Trata de leer el archivo de límites. try { miManejadorDeMapa.AbrirLímites(Settings.Default.ArchivoDeLímites); } catch { // Ignoramos errores. } } }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDePdis">El manejador de PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public BuscadorDeAlertas( ManejadorDePdis elManejadorDePdis, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDePdis, elEscuchadorDeEstatus) { }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeVías">El manejador de Vías.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public ArregladorDeIndicesDeCiudad( ManejadorDeVías elManejadorDeVías, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDeVías, elEscuchadorDeEstatus) { }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDePdis">El manejador de PDIs.</param> /// <param name="elEscuchadorDeEstatus">El escuchador de estatus.</param> public BuscadorDeDuplicados( ManejadorDePdis elManejadorDePdis, IEscuchadorDeEstatus elEscuchadorDeEstatus) : base(elManejadorDePdis, elEscuchadorDeEstatus) { }