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.SWT Tabla con altura de fila variable: trabajando en Linux, pero no Mac/Windows
Inicialmente, pensé que no usé 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í, construí un programa mínimo para reproducir el problema. Empecé con la siguiente Snipplet:
he modificado el método de actualización() para producir dos líneas de texto para los directorios y una línea para archivos (para simular un entorno con alturas de las filas 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.
A continuación, intenté ayudar a SWT haciendo que measure() fuera más inteligente. Así Reescribí medida() 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. Una vez más, esto funciona como se pretende en Linux.
Mi temor es que en Windows simplemente todas las filas deben tener la misma altura. Esto sería un disparate para mí. ¿Alguien puede confirmar esto, o incluso mejor, proporcionar una solución alternativa?
Gracias!
En realidad, podría haber encontrado una explicación para este comportamiento, y tal vez incluso una solución (todavía tengo que probar esto): https://bugs.eclipse.org/bugs/show_bug .cgi? id = 148039 – jastram
Gracias a todos por las respuestas. Terminé usando http://sourceforge.net/projects/agilegrid/, que también dibuja la tabla de forma nativa, como KTable. Es un placer trabajar con él, sin duda comparado con SWT. – jastram