ListView PostPaint ?

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

ListView PostPaint ?

Jose Gregoris
Hola  gente

Finalmente me entero de como   dibujar un rectangulo  sobre el item.
El tema es que, no funcionaba porque customDrawBlock, solo se activa cuando esta en estado CDDS_PREPAINT.

Cual sería la forma correcta de implementar  CDDS_POSTPAINT en el ListView ?
 

Podría hacer una subclase ?  algo así:

CustomListView>>nmCustomDraw: pNMHDR
    "Private - Handle a NM_CUSTOMDRAW notification message."

    "Implementation Note: Defer creating the header struct as long as possible to avoid impacting
    draw speed too much as this message can be sent several times per sub-item."

    | context drawStage res |
    context := self customDrawContextClass fromAddress: pNMHDR.
    drawStage := context dwDrawStage.

       ((drawStage allMask: 2) and: [drawStage < 65536    "NOT CDDS_ITEM"]) 
        ifTrue:
            [
        
            "Aca pongo algo que haga lo que quiero !"
       self ensureSelectionAlwaysVisible: context

             ].
            ^CDRF_DODEFAULT].    "CDDS_POSTPAINT"
    res := super nmCustomDraw: pNMHDR.

    "Request postdraw notification for the above"
    ^((drawStage allMask: CDDS_PREPAINT) and: [drawStage < 65536    "NOT CDDS_ITEM"])
        ifTrue: [res | 16r10    "CDRF_NOTIFYPOSTPAINT"]
        ifFalse: [res]


Esto anda . Pero tengo otro problema más extraño.

Este es el código para manejar lo que quiero :

CustomListView>> ensureSelectionAlwaysVisible: aContext
    "Ensure the selection always visible in the receiver"

    | aRectangle aCanvas index aBitmap |
    self hasFocus
        ifFalse:
            [self hasSelection
                ifTrue:
                    [index := self selectionByIndex.
                    aRectangle := (self itemRect: index) subtract: (self itemRect: index textOnly: true).
                    aCanvas := aContext canvas.
                    aBitmap := Bitmap compatible: aCanvas extent: self largeIconExtent.
                    aBitmap canvas fillRectangle: aRectangle color: Color highlight.
                    aBitmap
                        alphaBlendOn: aCanvas at: aRectangle origin + 2;
                        free]]

El problema es que solo pinta del color  #highlight el primer item.
Luego pinta de negro los demas items !!.
El tema es que el aBitmap, luego de hacer #fillRectangle:color: , siempre queda de color negro !!!

No importa el color que le quiera setear, siempre es negro luego del primer item !

Alguna idea de que puede pasar ?

saludos kiko


 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

UML Almighty - herramienta UML de simulación

BrunoBB
Hola,

Esta es una especie de autobombo.

En el siguiente link esta disponible para bajar el UML Almighty versión  
beta:
http://www.uml-almighty.com/sp_uml_executable_downloads.html


Basicamente dado un Diagrama UML de Clases se exporta a un archivo formato  
XMI (formato de la mayoria de las UML tools).
El arvhivo XMI se instala en el UML Almighty donde la simulación comienza.

Esta pensado para los analista funcionales/programadores/etc puedan  
simular al instante un aplicación web o desktop.
Dado que en la mayoria de los proyectos que usan UML se trabaja  
"imaginando la aplicación", el UML Almighty cambia esto.
La pagina tiene mas detalles y screeshots:
http://www.uml-almighty.com/sp_screenshots_examples.html
http://www.uml-almighty.com/screenshots_devenv.html

Desde un punto de vista tecnico se puede decir que UML Almighty es un  
Smalltalk con una interface XMI para instalar diagramas de clases.

Saludos,
Bruno

PD1: usa el SmalltalkParser de Dolphin (autorizado por Andy Bower).

PD2: no esta pensado para Smalltalkers, esta pensado para  
personas/profesionales de tecnologia tradicional.
 

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

http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: UML Almighty - herramienta UML de simulación

Alexandre Bergel-5
Hola,

Trato de entender. UML Almighty es escrito en Dolphin? Cual graphical  
framework usas para dibujar ?

Saludos,
Alexandre


On 2 May 2010, at 21:31, Smalltalk wrote:

> Hola,
>
> Esta es una especie de autobombo.
>
> En el siguiente link esta disponible para bajar el UML Almighty  
> versión beta:
> http://www.uml-almighty.com/sp_uml_executable_downloads.html
>
>
> Basicamente dado un Diagrama UML de Clases se exporta a un archivo  
> formato XMI (formato de la mayoria de las UML tools).
> El arvhivo XMI se instala en el UML Almighty donde la simulación  
> comienza.
>
> Esta pensado para los analista funcionales/programadores/etc puedan  
> simular al instante un aplicación web o desktop.
> Dado que en la mayoria de los proyectos que usan UML se trabaja  
> "imaginando la aplicación", el UML Almighty cambia esto.
> La pagina tiene mas detalles y screeshots:
> http://www.uml-almighty.com/sp_screenshots_examples.html
> http://www.uml-almighty.com/screenshots_devenv.html
>
> Desde un punto de vista tecnico se puede decir que UML Almighty es  
> un Smalltalk con una interface XMI para instalar diagramas de clases.
>
> Saludos,
> Bruno
>
> PD1: usa el SmalltalkParser de Dolphin (autorizado por Andy Bower).
>
> PD2: no esta pensado para Smalltalkers, esta pensado para personas/
> profesionales de tecnologia tradicional.
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to [hidden email]
>
> http://www.clubSmalltalk.org

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





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

http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: UML Almighty - herramienta UML de simulación

BrunoBB


>  Trato de entender. UML Almighty es escrito en Dolphin? Cual graphical  
> framework usas para dibujar ?

Crea prototipos (Web y Desktop) basados en el diagrama de clases UML.
El prototipo se puede customizar creado metodos (que devuelven objetos  
UML) y haciendo drag&drop en "categorias especiales".

Es decir, no hay MVP para programar.
Solamente en el Browser de clases tenes la posibilidad de hacer drag&drop  
de los metodos a estas "categorias especiales" y cada categoria se  
corresponde con un componente grafico (web o desktop).
Si haces un metodo que devuelve una coleccion y le haces drag&drop a la  
Virtual Category "GUI - Collection Tab" --> en la pagina web te agrega un  
tab mas con el resultado del metodo, lo mismo para la ventana desktop.

La GUI que podes customizar esta limitada por el numero de "categorias  
virtuales".
La idea es que construya un interface web rapida para poder ver que puede  
salir del diagrama de clases,  y que se pueda customizar hasta cierto  
nivel.
No es intencion que se pueda construir al "mega complicado" a nivel de  
GUI, al menos por ahora.

A nivel de modelo podes crear todo lo que quieras, es un VM construida en  
Dolphin totalmente.


Saludos,
Bruno

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

http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: UML Almighty - herramienta UML de simulación

Alexandre Bergel-5
Ok. Estoy pensado que puede ser super de tener un buen modulo a  
Mondrian para dibujar UML.

Alexandre


On 3 May 2010, at 08:55, Smalltalk wrote:

>
>
>> Trato de entender. UML Almighty es escrito en Dolphin? Cual  
>> graphical framework usas para dibujar ?
>
> Crea prototipos (Web y Desktop) basados en el diagrama de clases UML.
> El prototipo se puede customizar creado metodos (que devuelven  
> objetos UML) y haciendo drag&drop en "categorias especiales".
>
> Es decir, no hay MVP para programar.
> Solamente en el Browser de clases tenes la posibilidad de hacer  
> drag&drop de los metodos a estas "categorias especiales" y cada  
> categoria se corresponde con un componente grafico (web o desktop).
> Si haces un metodo que devuelve una coleccion y le haces drag&drop a  
> la Virtual Category "GUI - Collection Tab" --> en la pagina web te  
> agrega un tab mas con el resultado del metodo, lo mismo para la  
> ventana desktop.
>
> La GUI que podes customizar esta limitada por el numero de  
> "categorias virtuales".
> La idea es que construya un interface web rapida para poder ver que  
> puede salir del diagrama de clases,  y que se pueda customizar hasta  
> cierto nivel.
> No es intencion que se pueda construir al "mega complicado" a nivel  
> de GUI, al menos por ahora.
>
> A nivel de modelo podes crear todo lo que quieras, es un VM  
> construida en Dolphin totalmente.
>
>
> Saludos,
> Bruno
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to [hidden email]
>
> http://www.clubSmalltalk.org

--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





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

http://www.clubSmalltalk.org