miércoles, julio 06, 2011

Custom Delegates en Prymatex

MVC es un patrón de diseño muy conocido, que ha sufrido algunas bastardizaciones, como es el caso de MTV en Django y MVD en Qt.
Hoy quería comentarles como estamos usando esta última en Prymatex.
Como muchos de ustedes sabrán, Prymatex está escrito sobre PyQt4 y recientemente comenzamos a utilizar modelos para almacenar tanto la información de los Bundles, como los temas y variables de entorno (un elemento muy utilizado a la hora de ejecutar los diferentes Bundle Items). Estos modelos responden al concepto Modelo/Vista/Delegado de Qt.
Tods saben a que se refiere modelo y a que vista, pero que es un delegado? Un delegado sirve para permitir a la vista modificar el modelo y además permite hacer widgets especiales (un ejemplo popular para quienes utilcen KDE es el estrellómetro de Amarok).

Utilizamos delegates para hacer clonar la interfase de configuración de temas de TextMate:

Salvando las distancias, mediante delegates pudimos emular en cierta forma el listado:


El código utilizado está en github.

No hay comentarios.: