MdiForm en PyGtk

Lorenzo Gil Sanchez lgs en sicem.biz
Mie Mar 30 03:33:44 CEST 2005


> Si las MDIForm son lo que yo pienso (esas ventanas que contienen otras
> ventanas dentro de ellas), mucho me temo que eso no lo soporta PyGTK, y
> tengo entendido que ha sido más  bien un "NO ME DA LA GANA
> SOPORTARLAS". Pero no solo PyGTK, si no todo GTK (eso me comento un
> amigo).
Tu amigo estaba en lo cierto en cuanto a que GTK no soporta MDI pero por
favor, no seamos tan simplistas al decir que no se tiene esta
caracteristica porque a los responsables de GTK no les ha dado la gana
implementarla.

El concepto MDI es, en general, una mala idea. En los tiempos del
Windows 3.1 puede que funcionara bien pero fijate que la tendencia es a
eliminar este concepto: que yo sepa en Mac OS X no hay aplicaciones MDI,
las aplicaciones Microsoft Office (Word, Excel, ...) se han modificado
para no ser MDI, etc, etc.

La razon principal es que una aplicacion MDI duplica el trabajo del
manejador de ventanas y en la mayoria de los casos esto despista al
usuario que esta acostumbrado a utilizar su manejador de ventanas.
Ejemplo: en anteriores versiones de Microsoft Word cuando tenias un
documento abierto, habia dos tipos de botones con la 'x' para cerrar
ventana, uno cerraba el documento activo y el otro cerraba la aplicacion
completa. Todos, absolutamente todos los usuarios no avanzados con los
que he tratado, no fueron capaces de apreciar esta diferencia jamas.

Otro ejemplo, en Opera siempre ha sido posible tener varias paginas web
abiertas con una interfaz MDI. Esto nunca llego a ser una killer
feature. Sin embargo, mira que bien funciona la navegacion multipestania
de Firefox, Konqueror, Safari... Creo que Opera ahora opta por las
pestanias y ha dejado de lado la interfaz MDI.

Creo que en las Gnome Human Interface guidelines explican mas razones
para no usar MDI y dan alternativas si realmente necesitas tener varios
documentos abiertos en tu aplicacion

Ala, ya me he quedado agusto

Lorenzo Gil




Más información sobre la lista de distribución Python-es