Componer y layoutear Morphs

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Componer y layoutear Morphs

sebastianconcept@gmail.co
uff estoy trabadísimo con algo que debiera ser fácil de hacer.

Hasta donde entiendo los morphs son componibles (al fin de cuentas Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se layoutean unos con otros.

Aqui:
http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/

vi que podés hacer:
window := StandardWindow labelled: 'Painter'.

aMorph := Morph new.
window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
aMorph color: Color paleMagenta.
aMorph := Morph new.
window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
aMorph color: Color lightCyan.

window openInWorld.
y te hace una window partida por un splitter con uno de los morphs arriba y el otro abajo.

Hasta ahí todo genial.

El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs con los que quiero componer al morph parent)

Hice un draft para entenderlo más rápido:

que pulso eh?! #not  :D

En otras palabras, para hacer lo que está en negro es suficiente con el código de arriba. Pero para hacer al morph azul? y al verde y al rojo?

asumí que todas esas divisiones son sprinters que podés draguear.

cómo le decís a un morph que contenga a dos submophs dividiendo con splitter?

sebastian

o/






layout.jpg (46K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Componer y layoutear Morphs

garduino
No te voy a contestar nada útil porque siempre renegué con eso.

El único que parece saber qué hacer con los Morphs es Gary Chambers (el que
hizo Polymorphic) pero hay cero documentación. Todo lo que yo probé e
intenté (quizás por limitaciones mías) fue solo pérdida de tiempo y no
quedó nada presentable. Como vos decís, para boludeces todo genial, para
hacer algo más complejo, yo no lo supe hacer.

Saludos.


El 13 de noviembre de 2012 13:28, Sebastian Sastre <
[hidden email]> escribió:

> uff estoy trabadísimo con algo que debiera ser fácil de hacer.
>
> Hasta donde entiendo los morphs son componibles (al fin de cuentas
> Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se
> layoutean unos con otros.
>
> Aqui:
>
> http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/
>
> vi que podés hacer:
>
> window := StandardWindow labelled: 'Painter'.
>
> aMorph := Morph new.
> window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
> aMorph color: Color paleMagenta.
>
> aMorph := Morph new.
> window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
> aMorph color: Color lightCyan.
>
> window openInWorld.
>
> y te hace una window partida por un splitter con uno de los morphs arriba
> y el otro abajo.
>
> Hasta ahí todo genial.
>
> El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs
> con los que quiero componer al morph parent)
>
> Hice un draft para entenderlo más rápido:
> que pulso eh?! #not  :D
>
> En otras palabras, para hacer lo que está en negro es suficiente con el
> código de arriba. Pero para hacer al morph azul? y al verde y al rojo?
>
> asumí que todas esas divisiones son sprinters que podés draguear.
>
> cómo le decís a un morph que contenga a dos submophs dividiendo con
> splitter?
>
> sebastian <https://about.me/sebastianconcept>
>
> o/
>
>
>
>
>
>


--
============================================
Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
Arduino Software  http://www.arduinosoftware.com
PasswordsPro  http://www.passwordspro.com
greensecure.blogspot.com germanarduino.blogspot.com
============================================

layout.jpg (46K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Componer y layoutear Morphs

Emilio Oca-2
Hola

Yo, en general, sin saber demasiado me las arregle tomando otros morphs
como ejemplo.
Hay morphs especificos para hacer layout en la forma de row y column.
Dales una mirada para ver como define el layout.
Y lluego seguis componiendo.

Para hacerlos fluir o distribuirse se usaban los margenes de cada morph y,
eventualmente morphs invisibles entre medio de los visibles.
De esta manera es muy facil definir a cada uno una 'tension' (la de
expandirse ocupando todo lo posible, o lo menos posible) y dejar que solos
se distribuyan.

Espero que eso te oriente un poco.

Saludos

     Emilio

2012/11/13 Germán Arduino <[hidden email]>

> **
>
>
> No te voy a contestar nada útil porque siempre renegué con eso.
>
> El único que parece saber qué hacer con los Morphs es Gary Chambers (el
> que hizo Polymorphic) pero hay cero documentación. Todo lo que yo probé e
> intenté (quizás por limitaciones mías) fue solo pérdida de tiempo y no
> quedó nada presentable. Como vos decís, para boludeces todo genial, para
> hacer algo más complejo, yo no lo supe hacer.
>
> Saludos.
>
>
> El 13 de noviembre de 2012 13:28, Sebastian Sastre <
> [hidden email]> escribió:
>
>> uff estoy trabadísimo con algo que debiera ser fácil de hacer.
>>
>> Hasta donde entiendo los morphs son componibles (al fin de cuentas
>> Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se
>> layoutean unos con otros.
>>
>> Aqui:
>>
>> http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/
>>
>> vi que podés hacer:
>>
>> window := StandardWindow labelled: 'Painter'.
>>
>> aMorph := Morph new.
>> window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
>> aMorph color: Color paleMagenta.
>>
>> aMorph := Morph new.
>> window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
>> aMorph color: Color lightCyan.
>>
>> window openInWorld.
>>
>> y te hace una window partida por un splitter con uno de los morphs arriba
>> y el otro abajo.
>>
>> Hasta ahí todo genial.
>>
>> El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs
>> con los que quiero componer al morph parent)
>>
>> Hice un draft para entenderlo más rápido:
>> que pulso eh?! #not  :D
>>
>> En otras palabras, para hacer lo que está en negro es suficiente con el
>> código de arriba. Pero para hacer al morph azul? y al verde y al rojo?
>>
>> asumí que todas esas divisiones son sprinters que podés draguear.
>>
>> cómo le decís a un morph que contenga a dos submophs dividiendo con
>> splitter?
>>
>>  sebastian <https://about.me/sebastianconcept>
>>
>> o/
>>
>>
>>
>>
>>
>>
>
>
> --
> ============================================
> Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
> Arduino Software  http://www.arduinosoftware.com
> PasswordsPro  http://www.passwordspro.com
> greensecure.blogspot.com germanarduino.blogspot.com
> ============================================
>
>  
>

layout.jpg (46K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Componer y layoutear Morphs

sebastianconcept@gmail.co
gracias Emilio.

voy a ver…

en realidad los quería spliteables (y no con proporción fija)





On Nov 13, 2012, at 3:08 PM, Emilio Oca wrote:

> Hola
>
> Yo, en general, sin saber demasiado me las arregle tomando otros morphs como ejemplo.
> Hay morphs especificos para hacer layout en la forma de row y column.
> Dales una mirada para ver como define el layout.
> Y lluego seguis componiendo.
>
> Para hacerlos fluir o distribuirse se usaban los margenes de cada morph y, eventualmente morphs invisibles entre medio de los visibles.
> De esta manera es muy facil definir a cada uno una 'tension' (la de expandirse ocupando todo lo posible, o lo menos posible) y dejar que solos se distribuyan.
>
> Espero que eso te oriente un poco.
>
> Saludos
>
>      Emilio
>
>
> 2012/11/13 Germán Arduino <[hidden email]>
>  
> No te voy a contestar nada útil porque siempre renegué con eso.
>
> El único que parece saber qué hacer con los Morphs es Gary Chambers (el que hizo Polymorphic) pero hay cero documentación. Todo lo que yo probé e intenté (quizás por limitaciones mías) fue solo pérdida de tiempo y no quedó nada presentable. Como vos decís, para boludeces todo genial, para hacer algo más complejo, yo no lo supe hacer.
>
> Saludos.
>
>
>
> El 13 de noviembre de 2012 13:28, Sebastian Sastre <[hidden email]> escribió:
> uff estoy trabadísimo con algo que debiera ser fácil de hacer.
>
> Hasta donde entiendo los morphs son componibles (al fin de cuentas Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se layoutean unos con otros.
>
> Aqui:
> http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/
>
> vi que podés hacer:
> window := StandardWindow labelled: 'Painter'.
>
>
>
> aMorph := Morph new.
>
>
> window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
>
>
> aMorph color: Color paleMagenta.
> aMorph := Morph new.
>
>
> window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
>
>
> aMorph color: Color lightCyan.
>
>
>
> window openInWorld.
> y te hace una window partida por un splitter con uno de los morphs arriba y el otro abajo.
>
> Hasta ahí todo genial.
>
> El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs con los que quiero componer al morph parent)
>
> Hice un draft para entenderlo más rápido:
> <layout.jpg>
> que pulso eh?! #not  :D
>
> En otras palabras, para hacer lo que está en negro es suficiente con el código de arriba. Pero para hacer al morph azul? y al verde y al rojo?
>
> asumí que todas esas divisiones son sprinters que podés draguear.
>
> cómo le decís a un morph que contenga a dos submophs dividiendo con splitter?
>
> sebastian
>
> o/
>
>
>
>
>
>
>
>
> --
> ============================================
> Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
> Arduino Software  http://www.arduinosoftware.com
> PasswordsPro  http://www.passwordspro.com
> greensecure.blogspot.com germanarduino.blogspot.com
> ============================================
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Componer y layoutear Morphs

sebastianconcept@gmail.co
bueno, para el que le interese, experimentando un poco llegué más o menos a lo que quería.

si en el dibujo que mandé, el azul es BlueMorph y a todos los que están ahí los hacés subclass de ComposableMorph

entonces podés hacer:

BlackMorph>>build

        self window
                addMorph: self blueMorph
                frame: (0@0 corner: self class defaultNorthProportion @1).

        self window
                addMorph: self stuff
                frame: (self class defaultSouthProportion @0 corner: 1@1).

y después

BlueMorph>>build
        "Builds this visual object so it can be eventually shown."

        self
                changeProportionalLayout;
                yourself.
               
        self addMorph: self greenMorph fullFrame: self westFrame.
        self addMorph: self redMorph fullFrame: self eastFrame.

        self addPaneSplitters.

y con eso camina. Y nada te impide ir a GreenMorph y RedMorph y implementarles #build de la misma forma.

Así que me destrabé y comparto el cómo.

La única contra que le encontré es el "anchór"

La barra del splitter es de un (1) pixel de anchura y uno esperaria que fuera de unos 4px.

Traté de ver si podía cambiarlo pero encontré mucha resistencia para poco lucro y así quedó por ahora...

como decía un amigo "provisorio para siempre"  :D

sebastian

o/




On Nov 13, 2012, at 3:14 PM, Sebastian Sastre wrote:

> gracias Emilio.
>
>
> voy a ver…
>
> en realidad los quería spliteables (y no con proporción fija)
>
>
>
>
>
> On Nov 13, 2012, at 3:08 PM, Emilio Oca wrote:
>
>>  
>> Hola
>>
>> Yo, en general, sin saber demasiado me las arregle tomando otros morphs como ejemplo.
>> Hay morphs especificos para hacer layout en la forma de row y column.
>> Dales una mirada para ver como define el layout.
>> Y lluego seguis componiendo.
>>
>> Para hacerlos fluir o distribuirse se usaban los margenes de cada morph y, eventualmente morphs invisibles entre medio de los visibles.
>> De esta manera es muy facil definir a cada uno una 'tension' (la de expandirse ocupando todo lo posible, o lo menos posible) y dejar que solos se distribuyan.
>>
>> Espero que eso te oriente un poco.
>>
>> Saludos
>>
>>      Emilio
>>
>>
>> 2012/11/13 Germán Arduino <[hidden email]>
>>  
>> No te voy a contestar nada útil porque siempre renegué con eso.
>>
>> El único que parece saber qué hacer con los Morphs es Gary Chambers (el que hizo Polymorphic) pero hay cero documentación. Todo lo que yo probé e intenté (quizás por limitaciones mías) fue solo pérdida de tiempo y no quedó nada presentable. Como vos decís, para boludeces todo genial, para hacer algo más complejo, yo no lo supe hacer.
>>
>> Saludos.
>>
>>
>>
>> El 13 de noviembre de 2012 13:28, Sebastian Sastre <[hidden email]> escribió:
>> uff estoy trabadísimo con algo que debiera ser fácil de hacer.
>>
>> Hasta donde entiendo los morphs son componibles (al fin de cuentas Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se layoutean unos con otros.
>>
>> Aqui:
>> http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/
>>
>> vi que podés hacer:
>> window := StandardWindow labelled: 'Painter'.
>>
>>
>>
>> aMorph := Morph new.
>>
>>
>> window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
>>
>>
>> aMorph color: Color paleMagenta.
>> aMorph := Morph new.
>>
>>
>> window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
>>
>>
>> aMorph color: Color lightCyan.
>>
>>
>>
>> window openInWorld.
>> y te hace una window partida por un splitter con uno de los morphs arriba y el otro abajo.
>>
>> Hasta ahí todo genial.
>>
>> El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs con los que quiero componer al morph parent)
>>
>> Hice un draft para entenderlo más rápido:
>> <layout.jpg>
>> que pulso eh?! #not  :D
>>
>> En otras palabras, para hacer lo que está en negro es suficiente con el código de arriba. Pero para hacer al morph azul? y al verde y al rojo?
>>
>> asumí que todas esas divisiones son sprinters que podés draguear.
>>
>> cómo le decís a un morph que contenga a dos submophs dividiendo con splitter?
>>
>> sebastian
>>
>> o/
>>
>>
>>
>>
>>
>>
>>
>>
>> --
>> ============================================
>> Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
>> Arduino Software  http://www.arduinosoftware.com
>> PasswordsPro  http://www.passwordspro.com
>> greensecure.blogspot.com germanarduino.blogspot.com
>> ============================================
>>
>>
>>
>
>
>


layout.jpg (46K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Componer y layoutear Morphs

Edgar De Cleene
In reply to this post by sebastianconcept@gmail.co
Estoy en la facu y sin compu acá .
Fíjate https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/designer

Enviado desde mi iPad

El 13/11/2012, a las 13:28, Sebastian Sastre <[hidden email]> escribió:

> uff estoy trabadísimo con algo que debiera ser fácil de hacer.
>
> Hasta donde entiendo los morphs son componibles (al fin de cuentas Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se layoutean unos con otros.
>
> Aqui:
> http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/
>
> vi que podés hacer:
> window := StandardWindow labelled: 'Painter'.
>
> aMorph := Morph new.
> window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
> aMorph color: Color paleMagenta.
> aMorph := Morph new.
> window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
> aMorph color: Color lightCyan.
>
> window openInWorld.
> y te hace una window partida por un splitter con uno de los morphs arriba y el otro abajo.
>
> Hasta ahí todo genial.
>
> El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs con los que quiero componer al morph parent)
>
> Hice un draft para entenderlo más rápido:
> <layout.jpg>
> que pulso eh?! #not  :D
>
> En otras palabras, para hacer lo que está en negro es suficiente con el código de arriba. Pero para hacer al morph azul? y al verde y al rojo?
>
> asumí que todas esas divisiones son sprinters que podés draguear.
>
> cómo le decís a un morph que contenga a dos submophs dividiendo con splitter?
>
> sebastian
>
> o/
>
>
>
>
>
Reply | Threaded
Open this post in threaded view
|

Re: Componer y layoutear Morphs

garduino
Ah ,si, el Morphic Designer fue LA herramienta que me permitió ir mas o
menos normal intentando hacer UIs Morph.

Lástima que no esté en Pharo.....y no se si se mantiene hoy día....


El 13 de noviembre de 2012 16:18, Edgar De Cleene
<[hidden email]>escribió:

> **
>
>
> Estoy en la facu y sin compu acá .
> Fíjate
> https://www.hpi.uni-potsdam.de/hirschfeld/trac/SqueakCommunityProjects/wiki/designer
>
> Enviado desde mi iPad
>
> El 13/11/2012, a las 13:28, Sebastian Sastre <[hidden email]>
> escribió:
>
> uff estoy trabadísimo con algo que debiera ser fácil de hacer.
>
> Hasta donde entiendo los morphs son componibles (al fin de cuentas
> Morph>>addMorph: existe) pero no estoy entendiendo la idea de como se
> layoutean unos con otros.
>
> Aqui:
>
> http://book.pharo-project.org/book/LanguageAndLibraries/GUI/PolymorphTutorial/Layout/
>
> vi que podés hacer:
>
> window := StandardWindow labelled: 'Painter'.
>
> aMorph := Morph new.
> window addMorph: aMorph frame: (0@0 corner: 1.0@0.5).
> aMorph color: Color paleMagenta.
>
> aMorph := Morph new.
> window addMorph: aMorph frame: (0@0.5 corner: 1.0@1.0).
> aMorph color: Color lightCyan.
>
> window openInWorld.
>
> y te hace una window partida por un splitter con uno de los morphs arriba
> y el otro abajo.
>
> Hasta ahí todo genial.
>
> El tema es el siguiente paso, es decir, cómo layoutear submorphs? (morphs
> con los que quiero componer al morph parent)
>
> Hice un draft para entenderlo más rápido:
> <layout.jpg>
> que pulso eh?! #not  :D
>
> En otras palabras, para hacer lo que está en negro es suficiente con el
> código de arriba. Pero para hacer al morph azul? y al verde y al rojo?
>
> asumí que todas esas divisiones son sprinters que podés draguear.
>
> cómo le decís a un morph que contenga a dos submophs dividiendo con
> splitter?
>
> sebastian <https://about.me/sebastianconcept>
>
> o/
>
>
>
>
>
>  
>