8 Marzo 2006

GtkTreeView, el infierno.

Problema: crear con gtk y C un Gtk tree view de una columna de texto, editable y con dos botones para añadir…no queria ensuciarme la boca pero lo tengo que decir que en m$-visualbasic se hacia con un list box en dos patadas y ademas al igual que en la version en formularios de html se podia añadir nuevos elementos usando la cabecera y no teniendo que poner dos botones mas (añadir y borrar).
En cifras:

  • 2 dias (+ 1 noche) haciendo pruebas y probando ejemplos
  • Entre 8 y 12 consultas al google.
  • De las cuales se han obtenido y leido de 20 a 30 paginas en varios idomas…ademas del ingles y el español, el portugues y alguna en frances y aleman.
  • Al pie de 5 o 7 ejemplos diferentes probados
  • 2 consultas al canal #gnome-hispano y #gtk, la de #gtk infructuosa, la de #gnome-hispano mejor (gracias Rodrigo supongo que no leeras pero me leido bien la gtk-demo) pero el infierno sigue quemando.
  • Ultima prueba, mas o menos 80 lineas de codigo o_O para crear el tree view….y no funciona.

Resultado: Descubrir que a Gtk necesita mas coccion porque todavia esta duro. Si queda muy bonito eso de separar en MVC (que todo dios lo pone en sus minitutoriales que son mini-utiles), pero la cosa esta clara, no es util y es un engorro de la ostia porque no es de cajon tener que escribir mas de 100 lineas para solo configurar ese widget. Tengo que reconocer que en esta afirmacion hay mas pena que odio, porque que Gtk tenga estos fallos, no es bueno para nadie. Si ya lo decia mi amigo Kahuna que Qt y KDE estan a años luz de Gtk y Gnome, y eso da pena cuando te molan las Gtk (pese a estos fallos que provocan mas sufrimiento).

Yo nose pero lo llevamos crudo si queremos que por ejemplo las tipicias aplicaciones de carniceria o taller se programen en software libre, en especial en Gtk porque no veo en la situacion al tipico informatico de FP o modulo que no tiene vocacion y que le aburre programar, no lo veo haciendo una cacho aplicacion de carniceria o taller, con gtk, no lo veo.

Yo creia que gtk en su desarrollo, se discutia mas las cosas via listas de correo, pero es que dejarse pasar este problema de “usabilidad” en el desarrollo, es un fallo catastrofico.

Solucion: pues esta dificil la cosa, porque cambiar la forma en que se crea un GtkTreeView supone adelantar muchas cifras al numero de version de gtk, no creo que influya a pasarla a gtk3.x pero si subira cifras, con las consiguientes incompatibilidades. Otra solucion que parece que la gente esta manos a la obra es petar la red de redes de tutoriales sobre GtkTreeView y mas o menos se esta consiguiendo, con algunas pegas como que casi todos los que me comido en mi idioma te meten un rollo previo sobre MVC y cosas asi, en vez de ir directos a lo que interesa, ejemplos sencillos y claros de como se crea y trabaja con GtkTreeView. Otra solucion mas o menos privada, es hacer un codigo GtkTreeView generico encapsulado dentro de una funcion para no tener que volver a sufrirlo, supongo que sera mi camino y si lo consigo pues lo mostrare para que evitar el sufrimiento a mas gente. La ideal es que los mismos desarrolladores de Gtk le metieran mano sus librerias y añadieran un Gtk_tree_view_new_default() o crearan un otro nuevo “objeto” por debajo de la jerarquia de GtkTreeView que fuera una version mas usable de este.

Otro fallo mas de usabilidad a la saca, como otro muy importante la falta de un sistema MDI para crear aplicaciones de multiples ventanas (las pestañas no es MDI puro porque no puedes trabajar con dos ventanas a la vez), porque por ejemplo la primera vez que esnifas Gimp es una ostia que te puede dejar en el sitio, pero ya con los años el cuerpo se va acostumbrando y esnifar Gimp ya no te mete esas ostias tan gordas cuando ves saltar tropecientas ventanas de golpe. Señores de Gtk queremos drogas de calidad, metan MDI que los Apple han metido ratones de mas de un boton antes que vosotros los MDI en Gtk.

¿Alguno se ha pegado con GtkTreeView y ha ganado? Que nos cuente como hizo jaquemate haber si ganamos los demas ;).

Actualizacion: debe ser una de esas situaciones en que la mejor manera de avanzar es pararse para que la cabeza se enfrie, porque ya estar apunto de mandar a tomar por culo gtk y gnome y hacerme un tatuaje de kde, ponerme a escribir el articulo, terminar de escribir este articulo, y volver a darle al GtkTreeView y conseguirlo, no a la primera pero si al final, pasito a pasito, y ya medio comprendo el GtkTreeView, usando la gtk-demo (gracias Rodrigo) como base, releyendo el tutorial gtkTreeView de gtk y releyendo tambien la seccion de gtkTreeView del libro de gnome de gnomehispano. Pero eso no quita, que deje el articulo segun esta porque mientras lo escribia sentia esa desesperacion que esta implicita en cada palabra, aparte de otras cosas interesantes que hay en el articulo. Y ahora mismo son las 4 de la mañana, asique en cuanto lo entienda y tal, prometo hacer un tutorial sobre esto.

Por: MD | Consejos, Trucos y Tutoriales | | Referencias ()

4 comentarios

El webmaster de www.tomatesasesinos.com no se hace responsable de los comentarios aqui vertidos por los visitantes.

»

Suscripción RSS a los comentarios de la entrada.

Deje un comentario

XHTML: Etiquetas html permitidas: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>