Hernán, como va?

Bueno, primero que todo gracias por contar un poco lo que hacen. Si me
parece interesante el tema así que si querés mandar un video estaría bueno.

Lo unico que no me queda claro es porque necesitas modificar, con el
builder, una interfaz construida dinámicamente? Es decir, si se construyo
dinámicamente (podria ser a la magritte) la idea sería que no se modifique
(a "mano") después así la ventana se sigue comportando dinámicamente, no ?
O uds. le dan el editor de ventanas al usuario para que las modifique el
mismo? Y si es así que pasa después con esas modificaciones cuando le
agregas un nuevo descriptor al objeto esperando que dinámicamente aparezca
en la GUI ?

Un Abrazo,
Facu

P.D.: a esta altura creo que yo te entendí mal en tu primer mail porque me
parece que vos le decís dinámicamente a crearla con el builder (es más
dinámico que hacerlo a manopla) y creo que yo estaba pensando en magritte o
en algo de ese estilo.

2009/12/1 Hernán Morales Durand <[email protected]>

>
> Hola Facundo,
>  No sé con que nivel de detalle te interesa que te cuente, más o
> menos así es como usamos el constructor de interfaces en SmallFaces,
> aunque debo aclarar que es un trabajo que ha quedado por la mitad (no
> era la prioridad en nuestro trabajo cotidiano) y no ha sido publicado.
>
> El constructor se ejecuta sobre el mismo navegador web, para esto
> usamos MooTools que es una librería JavaScript más rica en controles
> que Scriptaculous (en ese momento no estaba portado jQuery) o al menos
> fue más cómoda, en verdad había buenos argumentos a favor de MooTools
> en el foro e iba a enviarles las referencias, pero el foro fue mudado
> y se perdió el contenido. Fue un poco decepcionante todo esto de las
> librerías JavaScript, tuvimos que armar tablas para traducir lo que
> sabíamos de Scriptaculous a MooTools. Ahora la discusión es versus
> jQuery...en fin, modas.
>
> Sobre MooTools portamos a Seaside otro un par de librerías JavaScript
> para el dibujado del árbol de controles y manejo de eventos,
> retamañado de controles, y edición en grilla de propiedades de un
> control. La interface estaba compuesta de 4 áreas: Una galería de
> controles (cada control se corresponde con un objeto SmallFaces) en
> forma de árbol, un área de edición de controles visual, una grilla de
> edición de propiedades y un previsualizador del código generado. Todo
> lo que es creación visual de controles está en el JavaScript, por ej:
>
> var aDiv = createResizableElement("resizeImageField");
> var aWidget = new Element("input", { "type": "image" });
>
> para capturar todos los eventos en Seaside interceptamos #start:
> redirigiendo el #initialRequest desde el root actual:
>
> root visiblePresentersDo: [:ea | ea initialRequest: aRequest].
>
> el Request estaba configurado como para obtener y actualizar todas las
> propiedades modificables de un control, algo así
>
> aControlProperty perform: (aRequest fields at: 'attribute') asMutator
> with: (aRequest fields at: 'value')
>
> La secuencia era más o menos:
>
> -El usuario escribe el nombre de la clase a crear (WAExampleBuilded)
> -Selecciona un control de una lista
> -Se agrega un nodo en el árbol de la interface, esto también inserta
> el control dentro de un retamañador.
> -Se agrega un nodo en el árbol del modelo
> -Se selecciona el nodo desde la interface
> --Aparece un editor en grilla para el control seleccionado en la
> interface (esto configura una cookie con el identificador del control
> y un updater en la función addEvent de MooTools para dibujar un editor
> de propiedades).
> --Se configura el control desde la grilla, actualizando el editor de
> código mediante un callback en el updater del paso anterior.
> ---La previsualización del control se realiza automáticamente con otro
> updater que va actualizando a medida que se deselecciona cada campo de
> entrada de la grilla.
> ---Durante la previsualización un acumulador de código genera la
> cadena de creación y se compila este código.
> -Al finalizar, se generaba el #renderContentOn: en WAExampleBuilded
> recorriendo el árbol e instalando los método compilados en su
> diccionario de clases.
>
> También agregamos una papelera de reciclaje sobre la cual uno
> arrastraba el control y desaparecía, esto significaba enlazar algunos
> eventos JavaScript más, etc. Bueno, tal vez en estos días suba un
> video si alguien está interesado.
> Saludos
>
> Hernán
>
> 2009/11/27 Facundo Vozzi <[email protected]>:
> > Hernán,
> > a mí me gusta como guarda la descripción VS pero Dolphin lo serializa e
> > igualmente funciona sin problemas.
> > Lo que no entiendo es porque deberías guardar la especificación de una
> > ventana generada dinamicamente para luego modificarla con un constructor?
> Me
> > podés contar como lo usan?
> > Un abrazo,
> > Facu
> >
> > 2009/11/27 Hernán Morales Durand <[email protected]>
> >>
> >> Hola Gallego,
> >>  Me refiero a la representación de la interface generada
> >> dinámicamente (por un usuario) para que pueda ser regenerada por una
> >> herramienta de edición luego.
> >>  En el constructor de SmallFaces, con Juan usamos Aspectos en el
> >> generador de código para poder modificar en vivo un objeto de
> >> interface, así que puede venir por el lado de lo que vos llamás
> >> Descriptors, es decir, mi duda sería más si caminar un #windowSpec es
> >> la mejor forma de trabajar en estos casos.
> >> Saludos
> >>
> >> Hernán
> >>
> >> 2009/11/27 GallegO <[email protected]>:
> >> >
> >> > Hernan:
> >> >
> >> > ¿Te referis a Descriptors o Aspects?
> >> >
> >> > Saludos
> >> >  GallegO
> >> >
> >> > El día 26 de noviembre de 2009 23:26, Hernán Morales Durand
> >> > <[email protected]> escribió:
> >> >>
> >> >> Hola gente,
> >> >>  Si alguien tiene experiencia implementando constructores de
> >> >> interface de usuario en Smalltalk, ¿podría comentar sobre algún buen
> >> >> paper, reporte o simplemente ideas? Estoy interesado en lo que la
> >> >> mayoría de los constructores solucionan con "Especificaciones".
> >> >> Muchas gracias,
> >> >>
> >> >> Hernán
> >> >>
> >> >> >
> >> >>
> >> >
> >> > >
> >> >
> >>
> >>
> >
> >
> >
> > --
> > Facundo Vozzi
> > InfOil S.A.
> > Project Leader
> > (+54-11) 4542-9999 x108
> > [email protected]
> >
> > >
> >
>
> >
>


-- 
Facundo Vozzi
InfOil S.A.
Project Leader
(+54-11) 4542-9999 x108
[email protected]

--~--~---------~--~----~------------~-------~--~----~

To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org
-~----------~----~----~----~------~----~------~--~---

Responder a