2012-04-27 16 views
5

Estoy haciendo un proyecto sobre la migración de un programa de GUI heredado de Motif a Gtk. El código fuente es bastante largo (aproximadamente 80k líneas). Ahora tengo dos planes:Necesito algún consejo sobre la migración de Motif a Gtk

  1. simplemente encontrar las relaciones correspondientes bewteen las funciones del adorno y GTK de. Luego, escribe algunos scripts para hacer esto transformar automáticamente. Por supuesto, esto no podría ser 100 por ciento automáticamente, se necesitará trabajo manual.
  2. Regrese a la arquitectura del programa GUI desde el código fuente. Construya una estructura similar a un árbol y luego use Gtk para reconstruir el programa de acuerdo con la estructura.

Por favor, dame un consejo acerca de estos dos planes. Cualquier idea o pensamiento también es bienvenido.

+1

Gran pregunta, pero no me sorprende que no haya recibido respuestas o comentarios hasta el momento. Excepto por los verdaderos veteranos, para la mayoría de nosotros Motif es historia antigua ... por suerte. Creo que necesitarás a alguien que lo conozca bien (y que sepa GTK) para poder recomendarte qué funcionará mejor y qué problemas encontrarás. Estoy agregando una etiqueta para 'motivo', pero si no recibes ninguna respuesta de inmediato, es posible que veas si alguien tiene la amabilidad de ponerte una recompensa por ti (veo que no tienes ningún representante para hacerlo usted mismo). –

+0

Gracias por su ayuda y consejo @R .. El motivo de la etiqueta solo tiene 5 seguidores :(Y el código heredado en el que estoy trabajando es realmente muy viejo.Se dice que algunos programadores que han escrito las primeras versiones de ese código ya se han retirado ... – fabregaszy

+0

Incluso si solo son 5, esas pueden ser exactamente 5 personas de las que necesitas saber. :-) –

Respuesta

0

no sé motivo, pero la solución 1 suena como una muy mala idea. Los kits de herramientas tienen algunas características específicas, y simplemente no son intercambiables. De lo contrario, tendrías fácilmente diferentes interfaces para el software, y no es el caso, ya que eso requiere una buena cantidad de trabajo.

Realmente no entiendo su solución 2, especialmente la estructura de árbol. ¿Es un diagrama para ver qué pantallas aparecen cuando? Eso seria una buena idea. Tomando capturas de pantalla de las pantallas actuales, combinándolas en una imagen grande con una flecha que explica qué acción lleva a qué pantalla te ayudará.

Luego, tendrá que ver si la lógica de la GUI se separa claramente en su programa, si está todo atado. Si está empatado, tendrás mucho trabajo, lo que probablemente será una completa reimplementación de tu programa en GTK.

Pero no olvide que puede usar Glade para diseñar la GUI de GTK, lo que le ahorrará un buen grupo de líneas de código de creación de GUI.

Como su aplicación es 80k LOC, creo que este es un gran proyecto, que puede tomar unos meses para lograrlo. Tendrá que crear el esqueleto de la aplicación GTK, y luego copiar/pegar la lógica interna del programa. Comience a volver a implementar pantalla por pantalla, para que pueda ver una mejora real. Si intentas hacerlo todo de una vez, terminarás desalentado de no ver ningún progreso.

Todo esto es un enfoque personal, así es como lo haría. Otras personas pueden encontrar mejores planes de migración.

Puede encontrar más consejos para la búsqueda en el gtk-app-devel-list mailing list (preguntas similares ya se han formulado, como this one).

0

Recuerdo que desde mi época anterior en la universidad tuve la tarea de hacer una conversión (automatizada) de un programa MOTIF a X framework xview. Me perdí en esa tarea e hice una reconstrucción completa.

Buena suerte

Cuestiones relacionadas