Publicado el 1 de Agosto del 2018
1.531 visualizaciones desde el 1 de Agosto del 2018
878,1 KB
146 paginas
Creado hace 15a (26/05/2009)
Sistemas informáticos
Curso 2005-2006
__________________________________________
Fulltick Editor:
Editor Gráfico de
Interfaces Gráficas En
C++
Alberto Antonio Del Barrio García
Francisco Javier Rincón Vallejos
Julio Sevillano Camarero
Dirigido por:
Profesora: Ana Gil Luezas
Departamento: Sistemas Informáticos y Programación
Facultad de Informática
Universidad Complutense de Madrid
Sistemas Informáticos 2005/06 – Editor Gráfico de Interfaces Gráficas en C++
Resumen ........................................................................................................................... 3
Abstract............................................................................................................................. 3
1. Introducción.................................................................................................................. 4
1.1 Solución.................................................................................................................. 5
1.2 Plataformas ............................................................................................................. 7
2. Herramientas utilizadas ............................................................................................ 8
2.1 FLTK ...................................................................................................................... 8
2.2 XERCES................................................................................................................. 9
3. Riesgos ................................................................................................................... 11
3.1 Identificación de Riesgos ..................................................................................... 11
3.2 Análisis de riesgos................................................................................................ 13
3.3 Planificación de riesgos........................................................................................ 14
3.4 Riesgos encontrados durante el desarrollo del proyecto ...................................... 17
3.5 Soluciones tomadas ante a los riegos aparecidos ................................................. 18
4. Planificación y Desarrollo ...................................................................................... 19
5. Casos de uso ........................................................................................................... 23
5.1 Sección Archivo ................................................................................................... 23
5.2 Sección Editar....................................................................................................... 24
5.3 Sección Ver .......................................................................................................... 24
5.4 Sección Añadir ..................................................................................................... 25
5.5 Ayuda ................................................................................................................... 33
5.6 Acciones con el ratón ........................................................................................... 34
6. UML ....................................................................................................................... 35
6.1 Diagramas Estructurales de Clases....................................................................... 35
6.2 Diagramas de Comportamiento............................................................................ 36
Implementación ...................................................................................................... 41
7.1 Módulo 1: Interfaz Gráfico................................................................................... 41
7.2 Módulo 2: Generador de XML............................................................................. 58
7.3 Módulo 3: Generador de Código.......................................................................... 88
8. Manual de Usuario ............................................................................................... 128
8.1 Proyecto Nuevo .................................................................................................. 128
8.2 Guardar Proyecto................................................................................................ 138
8.3 Guardar Proyecto Como ..................................................................................... 139
8.4 Abrir Proyecto .................................................................................................... 140
8.5 Generar Código .................................................................................................. 140
8.6 Ayuda ................................................................................................................. 140
9. Conclusiones y Líneas futuras de trabajo............................................................. 142
Bibliografía................................................................................................................... 144
Autorización ................................................................................................................. 146
7.
2
Sistemas Informáticos 2005/06 – Editor Gráfico de Interfaces Gráficas en C++
Resumen
Este proyecto consiste en un editor gráfico de interfaces gráficas que genera un
código C++ automáticamente asociado a la interfaz gráfica desarrollada por el usuario
de forma que este código sea claro, limpio, inteligible y orientado a objetos lo que
facilita que el usuario pueda relacionar ese código con los elementos de la interfaz, para
si lo desea poder añadir código manualmente y seguir desarrollando su aplicación.
También pretendemos que sea una solución a las actuales existentes, ya que éstas
o son de pago, o carecen de editores de interfaces gráficas o son difíciles de programar o
generan un código sucio y no orientado a objetos. Es más, muchas de ellas solo están
preparadas para trabajar en entorno Windows, mientras que nuestro proyecto permite
trabajar tanto en Windows como en Linux.
Para nuestro editor nos hemos basado en la librería FLTK (Fast Light ToolKit)
que es una librería de código libre bajo la licencia LGPL (GNU Library Public License,
Version 2), lo que nos ha permitido modificar o reutilizar el código existente en la
misma para nuestros fines. FLTK es un conjunto de herramientas de interfaz gráfico en
C++ para UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. FLTK es un
moderno interfaz gráfico que soporta gráficos 3D mediante OpenGL.
Palabras Clave: Interfaz Gráfico (GUI), Editor gráfico, C++, FLTK, Widget,
Evento, Callback.
Abstract
This project is a graphical interfaces editor which automatically generates C++
code associated to a graphical interface developed by the user, so this code is clear,
clean, intelligible and Object-Oriented (OO). This editor facilitates the user to relate that
code to the elements of the interface, add code manually and continue developing his
application, as he desires.
We also try our project is a solution to the current existing ones, since these either
are of payment, or lack graphical interfaces editors or are difficult to develop or
generate a dirty and not OO code. Even more, many of them are just prepared to work
in Windows environment, whereas our project allows to be employed both at Windows
and Linux.
In order to develop our project we have worked with FLTK, an open source
library under the terms of LGPL (GNU Library Public License, Version 2) what has
allowed us to modify or reuse the existing code in the same one for our aims. FLTK is a
cross-platform C++ GUI toolkit for UNIX®/Linux® (X11), Microsoft® Windows®, and
MacOS® X. FLTK provides modern GUI functionality without the bloat and supports
3D graphics via OpenGL®.
Keywords: Graphical User Interface (GUI), Graphical Editor, C++, FLTK,
Widget, Event, Callback.
3
Sistemas Informáticos 2005/06 – Editor Gráfico de Interfaces Gráficas en C++
1. Introducción
Hoy en día cualquier programador que intente diseñar interfaces gráficas en C++
se encuentra con que no existen soluciones fáciles de usar de forma que pueda diseñar
su interfaz gráfica y al mismo tiempo se genere el código asociado a la misma de forma
que éste sea claro, comprensible y sencillo de entender. Todo esto se puede constatar en
multitud de foros de Internet, donde la gente se queja de que no existen este tipo de
herramientas.
En cuanto a las herramientas existentes en el mercado cabe destacar las más
usadas por los usuarios como Visual C++ ó Borland C++ Builder, pero o bien carecen
de editores de interfaces gráficas o son bastante difíciles de programar. Estas
herramientas pueden trabajar exclusivamente bajo el entorno de Windows, por lo que
muchos programadores que se decantan por utilizar otros sistemas operativos como
Linux no disponen de ellas. Todo esto es una desventaja de C++ respecto a Java, ya que
Java dispone del Swing, que permite realizar interfaces gráficas de forma fácil.
Otra alternativa es desarrollar dlls en Visual C++ para luego llamarlas desde
Borland Delphi o Visual Basic. Esto tiene el inconveniente de utilizar entornos de
programación distintos, los cuales el usuario debe conocer, y además tenemos el
problema de Visual Basic que tiene unas limitaciones de tiempo muy grandes cuando se
trata de grandes proyectos.
En cuanto al mundo del código libre existe una mayor variedad de opciones como
pueden ser las librerías FLTK, GTK+, etc. Estas librerías están al alcance de cualquier
usuario
Comentarios de: Fulltick Editor: Editor Gráfico de Interfaces Gráficas En C++ (0)
No hay comentarios