/// <summary>Método de ejecución del hilo.</summary> public override void Run() { int acumulado = 0; int paso = 50; Hilo.Sleep(paso); try { EjecutarSubcicloGtk(); while (!terminar) { Hilo.Sleep(paso); if (!pausado) { acumulado += paso; if (acumulado >= tSubciclo) { acumulado = 0; EjecutarSubcicloGtk(); } } } DetenerGtk(); } catch (System.Threading.ThreadAbortException) { DetenerGtk(); return; } }
/// <summary>Función que se ejecuta al pulsar sobre el botón /// aceptar del diálogo. Comprueba que los datos introducidos /// son correctos y los aplica.</summary> /// <param name="o">El objeto que llama a la función.</param> /// <param name="args">Los argumentos que se le pasan a la /// función.</param> private void AceptarClick(object o, System.EventArgs args) { if (!rbMemoriaDef.Active) { if (!File.Exists(lblMemoriaAlt.Text)) { MessageDialog m = new MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, Ventana.GetText("D_Conf_ErrorMemNoExiste")); m.Run(); m.Hide(); return; } // comprobar que el fichero contiene texto correcto... try { MemoriaControl.CreateFromString( Fichero.CargarTexto(lblMemoriaAlt.Text)); } catch (Exception) { Hilo.Sleep(250); MessageDialog m2 = new MessageDialog(this, Gtk.DialogFlags.Modal, Gtk.MessageType.Error, Gtk.ButtonsType.Close, Ventana.GetText("D_Conf_ErrorMem")); m2.Run(); m2.Hide(); return; } } Opciones opc = Opciones.GetInstance(); opc.SetMostrarAdvertencias(cbAdvertencias.Active); opc.SetTSubciclo(sbTiempo.ValueAsInt); opc.SetUsarMemoriaDefecto(rbMemoriaDef.Active); opc.SetMemoriaAlternativa(lblMemoriaAlt.Text); opc.Guardar(); this.HideAll(); }