Tabla SWT con altura de fila variable: trabajando en Linux, pero no en Mac / Windows

Problema: Necesito una tabla SWT (JFace TableViewer) con altura de fila variable. De hecho, resolví esto en mi máquina de desarrollo (ejecutando Ubuntu 10.10). Desafortunadamente, esto no funciona en Windows ni en Mac.

Inicialmente, pensé que no usaba las bibliotecas correctamente. Pero ahora me temo que lo que quiero hacer simplemente no es posible en Windows. Espero que alguien aquí me convenza de lo contrario.

Para reproducir: en lugar de proporcionar mi código aquí, creé un programa mínimo para reproducir el problema. Comencé con el siguiente Snipplet:

http://git.eclipse.org/c/platform/eclipse.platform.ui.git/tree/examples/org.eclipse.jface.snippets/Eclipse%20JFace%20Snippets/org/eclipse/jface/snippets/viewers/ Snippet049StyledCellLabelProvider.java

Modifiqué el método update () para producir dos líneas de texto para directorios y una línea para archivos (para simular un entorno con alturas de fila variables):

...
if (file.isDirectory()) {
    cell.setText(styledString.toString() + "\n"
        + styledString.toString());
    cell.setImage(IMAGE1);
} else {
    cell.setImage(IMAGE2);
}
...

Esto funciona según lo previsto en Linux, pero en Windows todas las filas tienen la misma altura. Específicamente, solo una línea es visible.

Luego, estaba tratando de ayudar a SWT haciendo que measure () fuera más inteligente. Entonces reescribí Measure () así:

protected void measure(Event event, Object element) {
    if (((File) element).isDirectory()) {
        event.height = 32;
    } else {
        event.height = 16;
    }
    super.measure(event, element);
}

El resultado: todas las filas tienen la altura 32. Nuevamente, esto funciona según lo previsto en Linux.

Mi temor es que en Windows simplemente todas las filas deben tener la misma altura. Esto sería un espectáculo para mí. ¿Alguien puede confirmar esto, o incluso mejor, proporcionar una solución?

¡Gracias!

Respuestas a la pregunta(3)

Su respuesta a la pregunta