Re: progressbar (Mauricio Pacheco)



emmmm... no te entendí mucho, pero entiendo que la idea de un
progressbar es ir de acuerdo al proceso que se está ejecutando y mostrar
su progreso...



El mar, 17-10-2006 a las 17:32 -0300, Mauricio Felipe escribió:
> Alejandro,
> 
>         Lo mejor seria que te guiaras en el patron de diseño llamado
> "observer" (o pocas veces tambien llamado Spider). Este explica la
> logica de funcionamiento de un miron (jejeje), el cual te va
> entregando los avances de una clases, la cual se muestra en una barra
> de progreso (ya que basicamente hacer que se mueva una barra de
> progreso no tiene logica alguna y es muy simple, pero el asunto es que
> dicha barra, vaya acorde con los procesos que se van realizando en tus
> clases). En google existen varias paginas donde explican el patron.
> Cualquier duda, solo consulta 
> 
> 
> Pd.: Existen varias implementaciones para la orientacion a objeto,
> para eso te recomiendo que te leas un libro de "patrones de diseño"
> 
> Saludos
>  
> Mauricio Felipe Pacheco D.
> Ingeniero en Informática 
> FONDEF 1055
> Universidad de Chile
> Fono: 9784476
> 
> --
> Message: 1
> Date: Tue, 17 Oct 2006 15:24:23 -0300
> From: Germán Poó Caamaño <gpoo ubiobio cl>
> Subject: Re: progressbar 
> To: avaldes utalca cl, "Advocacy,       chit-chat and event planning
> in
>         Chile" <gnome-cl-list gnome org>
> Message-ID: <1161109463 13196 21 camel localhost localdomain>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> On Tue, 2006-10-17 at 12:36 -0300, Alejandro Valdes Jimenez wrote: 
> > Estimados...
> >
> > ¿cual será la manera de implementar un progressbar mientras se
> ejecuta
> > una tarea?
> >
> > pregunto esto ya que necesito que mientras ejecuto una acción, se
> active
> > la barra de progreso hasta que termine la acción, sin embargo, solo
> he 
> > logrado que la barra se active una vez terminada la acción.
> >
> > Ya me han dicho que con threads se puede, sin embargo, no logro
> entender
> > bien como complementar ambas cosas.
> 
> Tienes que definir períodos entre los cuales deseas actualizar la 
> barra de progreso.  Por ejemplo, si tienes tareas que puedes enumerar
> o contar, entonces cada vez que terminas una de dichas tareas,
> actualizas la barra de progreso (gtk_progress_bar_set_fraction).
> Típicamente dentro de una iteración, por cada iteración actualizas 
> los valores de la barra de progreso.
> 
> La barra de progreso no se va a actualizar sola.  A menos que sea
> de tipo 'pulse', donde lo único que aparece es el 'progreso'
> moviéndose de un lado hacia otro.  Eso se emplea cuando no sabes 
> cuando terminará (no puedes determinar el 100%).
> 
> Lo de usar hilos va por otro lado.  Si la tarea es muy demandante
> y no devuelve el control en un período prolongado de tiempo, entonces
> da la sensación que la aplicación se ha congelado.  Se nota si
> minimizas 
> y luego restauras el tamaño de la ventana, ésta se verá completamente
> gris, sin controles.
> 
> Mientras no soluciones lo primero, no tiene sentido intentar resolver
> lo segundo.
> 
> --
> Germán Poó-Caamaño 
> http://www.ubiobio.cl/~gpoo/
> Concepción - Chile
> 
> 
> 
> ------------------------------
> 
> Message: 2
> Date: Tue, 17 Oct 2006 15:39:15 -0300
> From: Alejandro Valdes Jimenez < avaldes utalca cl>
> Subject: [Fwd: Re: progressbar]
> To: gnome-cl-list gnome org
> Message-ID: <1161110355 2843 36 camel mono> 
> Content-Type: text/plain; charset="iso-8859-1"
> 
> 
> --
> Alejandro Valdés Jiménez.
> Area Plataforma
> DTI - Dirección de Tecnologías de Información
> Universidad de Talca.
> Talca - Chile.
> Teléfono: (56) (71) 200408 
> ------------ próxima parte ------------
> Se ha borrado un mensaje inmerso...
> De    : Alejandro Valdes Jimenez <avaldes utalca cl>
> Asunto: Re: progressbar
> Fecha : Tue, 17 Oct 2006 15:32:18 -0300 
> Tamaño: 1881
> Url   : /archives/gnome-cl-list/attachments/20061017/68af3038/attachment.eml
> 
> ------------------------------
> 
> Message: 3
> Date: Tue, 17 Oct 2006 15:59:57 -0300
> From: Fernando San Martín Woerner < snmartin galilea cl>
> Subject: Re: [Fwd: Re: progressbar]
> To: avaldes utalca cl, "Advocacy,       chit-chat and event planning
> in 
>         Chile" <gnome-cl-list gnome org>
> Message-ID: <4535282D 5060203 galilea cl>
> Content-Type: text/plain; charset="iso-8859-1" 
> 
> Alejandro Valdes Jimenez escribió:
> ...
> >>
> > al parecer, threads es mi opción.
> 
> Sin tener 0 idea de perl (/me is python), se que existe la posibilidad
> de realizar actualizaciones en gtk.main ()
> 
> en python se hacer con while gtk.events_pending() ej:
> 
> while gtk.events_pending():
>      gtk.mainiteration(gtk.FALSE)
> 
> 
> Buscando en google code search:
> 
> lang:perl gtk events_pending
> 
> sale un larga lista de ejemplos....
> 
> yo partiría por ahí, saludos
> 
> 
> --
> Fernando San Martín Woerner
> Jefe de Informática
> Galilea S.A. http://www.galilea.cl/
> 
> --
> Este mensaje ha sido analizado por nuestros servidores
> en busca de virus y otros contenidos peligrosos,
> y se considera que está limpio.
> 
> 
> ------------ próxima parte ------------
> Se ha borrado un mensaje que no está en formato texto plano... 
> Nombre     : snmartin.vcf
> Tipo       : text/x-vcard
> Tamaño     : 239 bytes
> Descripción: no disponible
> Url        : /archives/gnome-cl-list/attachments/20061017/fce57fcc/attachment.vcf
> 
> ------------------------------ 
> 
> Message: 4
> Date: Tue, 17 Oct 2006 16:16:13 -0300
> From: Alejandro Valdes Jimenez <avaldes utalca cl>
> Subject: Re: progressbar
> To: Claudio Saavedra <csaavedra alumnos utalca cl>
> Cc: "Advocacy, chit-chat and event planning in Chile"
>         <gnome-cl-list gnome org>
> Message-ID: <1161112573 2843 40 camel mono >
> Content-Type: text/plain; charset=ISO-8859-1
> 
> gracias a todos...
> 
> while (Gtk2->events_pending) {
>                 Gtk2->main_iteration;
>         }
> 
> eso me ayudó.
> 
> ahora hay que afinarlo. 
> 
> El mar, 17-10-2006 a las 13:45 -0300, Claudio Saavedra escribió:
> > On Tue, 2006-10-17 at 12:36 -0300, Alejandro Valdes Jimenez wrote:
> > > Estimados...
> > >
> > > ¿cual será la manera de implementar un progressbar mientras se
> ejecuta 
> > > una tarea?
> > >
> > > pregunto esto ya que necesito que mientras ejecuto una acción, se
> active
> > > la barra de progreso hasta que termine la acción, sin embargo,
> solo he
> > > logrado que la barra se active una vez terminada la acción. 
> > >
> > En el ciclo donde ejecutas tu tarea, usa gtk_events_pending ():
> >
> >       /* computation going on */
> > ...
> >         while (gtk_events_pending ())
> >         gtk_main_iteration (); 
> > ...
> >       /* computation continued */
> >
> >
> > Claudio
> >
> --
> Alejandro Valdés Jiménez.
> Area Plataforma
> DTI - Dirección de Tecnologías de Información
> Universidad de Talca. 
> Talca - Chile.
> Teléfono: (56) (71) 200408
> 
> 
> 
> ------------------------------
> 
> Message: 5
> Date: Tue, 17 Oct 2006 16:27:06 -0300
> From: Fernando San Martín Woerner <snmartin galilea cl>
> Subject: Re: progressbar
> To: avaldes utalca cl, "Advocacy,       chit-chat and event planning
> in
>         Chile" <gnome-cl-list gnome org>
> Message-ID: <45352E8A 5010304 galilea cl>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> Alejandro Valdes Jimenez escribió: 
> > gracias a todos...
> >
> >  while (Gtk2->events_pending) {
> >                 Gtk2->main_iteration;
> >         }
> 
> en general el truco sirve para actualizar la ui durante un ciclo, ojo 
> que tu aplicación queda más lenta dado que la ui se va repintando.
> 
> saludos
> 
> 
> --
> Fernando San Martín Woerner
> Jefe de Informática
> Galilea S.A. http://www.galilea.cl/
> 
> --
> Este mensaje ha sido analizado por nuestros servidores
> en busca de virus y otros contenidos peligrosos,
> y se considera que está limpio.
> 
> 
> ------------ próxima parte ------------
> Se ha borrado un mensaje que no está en formato texto plano... 
> Nombre     : snmartin.vcf
> Tipo       : text/x-vcard
> Tamaño     : 239 bytes
> Descripción: no disponible
> Url        : /archives/gnome-cl-list/attachments/20061017/e3b11b59/attachment.vcf
> 
> ------------------------------ 
> 
> Message: 6
> Date: Tue, 17 Oct 2006 16:30:41 -0300
> From: Alejandro Valdes Jimenez <avaldes utalca cl>
> Subject: Re: progressbar
> To: Fernando San Martín Woerner < snmartin galilea cl>
> Cc: "Advocacy, chit-chat and event planning in Chile"
>         <gnome-cl-list gnome org>
> Message-ID: <1161113441 2843 43 camel mono>
> Content-Type: text/plain; charset=ISO-8859-1
> 
> El mar, 17-10-2006 a las 16:27 -0300, Fernando San Martín Woerner
> escribió:
> > Alejandro Valdes Jimenez escribió: 
> > > gracias a todos...
> > >
> > >  while (Gtk2->events_pending) {
> > >                 Gtk2->main_iteration;
> > >         }
> >
> > en general el truco sirve para actualizar la ui durante un ciclo,
> ojo 
> > que tu aplicación queda más lenta dado que la ui se va repintando.
> 
> asi se ve, sin embargo, ya no se pone gris la ventan hasta el termino
> de
> la tarea.  claro que podría ser mas bonito. :D
> 
> >
> > saludos
> >
> >
> > --
> > Fernando San Martín Woerner
> > Jefe de Informática
> > Galilea S.A. http://www.galilea.cl/
> >
> --
> Alejandro Valdés Jiménez. 
> Area Plataforma
> DTI - Dirección de Tecnologías de Información
> Universidad de Talca.
> Talca - Chile.
> Teléfono: (56) (71) 200408
> 
> 
> 
> ------------------------------
> 
> Message: 7
> Date: Tue, 17 Oct 2006 13:45:15 -0300 
> From: Claudio Saavedra <csaavedra alumnos utalca cl>
> Subject: Re: progressbar
> To: avaldes utalca cl, "Advocacy,       chit-chat and event planning
> in 
>         Chile" <gnome-cl-list gnome org>
> Message-ID: <1161103516 3411 3 camel b202a wh8 tu-dresden de>
> Content-Type: text/plain; charset=utf-8
> 
> On Tue, 2006-10-17 at 12:36 -0300, Alejandro Valdes Jimenez wrote:
> > Estimados...
> >
> > ¿cual será la manera de implementar un progressbar mientras se
> ejecuta 
> > una tarea?
> >
> > pregunto esto ya que necesito que mientras ejecuto una acción, se
> active
> > la barra de progreso hasta que termine la acción, sin embargo, solo
> he
> > logrado que la barra se active una vez terminada la acción. 
> >
> En el ciclo donde ejecutas tu tarea, usa gtk_events_pending ():
> 
>         /* computation going on */
> ...
>         while (gtk_events_pending ())
>           gtk_main_iteration ();
> ...
>         /* computation continued */ 
> 
> 
> Claudio
> 
> --
> Claudio Saavedra <csaavedra alumnos utalca cl>
> 
> 
> 
> ------------------------------
> 
> Message: 8
> Date: Tue, 17 Oct 2006 16:59:04 -0300 
> From: "Pablo Pablo" <pagarciasan gmail com>
> Subject: Re: progressbar
> To: "Advocacy, chit-chat and event planning in Chile"
>         <gnome-cl-list gnome org>
> Message-ID:
>         <dbce5a3d0610171259m18c2a842q965ca45352a9f115 mail gmail com>
> Content-Type: text/plain; charset="iso-8859-1" 
> 
> alguien sabe como me puedo liberar de esta lista
> ya no quiero estar inscrito
> 
> Ayuda Plissss
> 
> 
> 
> 2006/10/17, Claudio Saavedra <csaavedra alumnos utalca cl>:
> >
> > On Tue, 2006-10-17 at 12:36 -0300, Alejandro Valdes Jimenez wrote:
> > > Estimados...
> > >
> > > ¿cual será la manera de implementar un progressbar mientras se
> ejecuta
> > > una tarea? 
> > >
> > > pregunto esto ya que necesito que mientras ejecuto una acción, se
> active
> > > la barra de progreso hasta que termine la acción, sin embargo,
> solo he
> > > logrado que la barra se active una vez terminada la acción. 
> > >
> > En el ciclo donde ejecutas tu tarea, usa gtk_events_pending ():
> >
> >        /* computation going on */
> > ...
> >        while (gtk_events_pending ())
> >          gtk_main_iteration (); 
> > ...
> >        /* computation continued */
> >
> >
> > Claudio
> >
> > --
> > Claudio Saavedra <csaavedra alumnos utalca cl>
> > 
> >
> ------------ próxima parte ------------
> Se ha borrado un adjunto en formato HTML...
> URL: /archives/gnome-cl-list/attachments/20061017/1c13986f/attachment.htm
> 
> Fin de Resumen de gnome-cl-list, Vol 21, Envío 11 
> *************************************************
> 
> 
> --
-- 
Alejandro Valdés Jiménez.
Area Plataforma
DTI - Dirección de Tecnologías de Información
Universidad de Talca.
Talca - Chile.
Teléfono: (56) (71) 200408




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]