Paint

Enunciado

Se desea construir un editor de dibujo (llamado Paint) que permita crear dibujos que contengan  líneas, rectángulos y figuras ovaladas. Las líneas deben tener asociados un color, un punto inicial, un punto final, un texto, un tipo de letra (font), al igual que un ancho y un tipo de línea (punteada, continua, etc.) Los rectángulos deben estar definidos por dos puntos, por un texto con su tipo, por un color de fondo, y por el tipo de línea que debe dibujarse sobre el perímetro. Las figuras ovaladas están definidas por dos puntos, los cuales describen el rectángulo en el cual está incluida la figura, por un texto con su tipo, por un color de fondo y por el tipo de línea del borde del óvalo.

Las opciones que debe ofrecer el programa son:

1. Agregar una nueva figura al dibujo sin ningún texto asociado, dando la información necesaria para crearla (los puntos, los colores, etc.),

2. Seleccionar una de las figuras que hacen parte del dibujo,

3. Eliminar la figura seleccionada del dibujo,

4. Cambiar el texto asociado con la figura seleccionada,

5. Salvar el dibujo en un archivo y

6. Cargar de un archivo un dibujo.

Es importante que cada vez que el usuario vaya a salir del programa sin haber salvado su trabajo o cuando vaya a cargar un nuevo dibujo sin haber hecho persistir las modificaciones del actual, el editor le pregunte al usuario si desea salvar antes de continuar.

La persistencia se debe hacer en archivos secuenciales de texto, utilizando para esto cualquier formato decidido por el programador, pero permitiendo que los archivos se puedan visualizar y modificar desde un editor de texto. Esto puede facilitar en algunos casos la creación de dibujos desde un programa.

La principal restricción del editor es que debe estar construido de manera que sea fácilmente extensible, con nuevas figuras y nuevos requerimientos funcionales.   

Interfaz

n10 paint