Véronique Lisi

Code

Last Modified: 2002/09/20

Home
Summer Research
Links
About Me

Prototypes and other source code

For the moment, there is no prototype yet. You can consult the TkInter API that I have built. This is what my implementation of a GUI design will be based on. For time constraints, we won't be able to do things that are not supported by TkInter.

The API

I have also included everything that has been done regarding the design of the GUI. This page will be updated often.

The general Design

Every prototype will also have its design.

Prototype 1

The design of prototype 1

Python code
Rectangle.gif
Oval.gif
Text.gif
Line.gif
Polyline.gif

Prototype 2

The design of prototype 2

Here is the design (statechart) of prototype 2. There is a state called "shape insertion" which refers to the state of prototype 1. I have abstract it here to make the rest of the design more understandable.

There are a few bugs with this prototype. Namely, if you try to save an image or if you try to put 2 images on your drawing, you will notice that you won't be able to. Also, if you type some text and use something else than letters, numbers, space and enter, (! for example), you will see that it does not display properly on the screen. Those should be fixed soon and I will update the source code.

Python code
Another file that is needed
Arc
Arrow
Image
Polygon
Don't forget you still need the five "gifs" from the previous prototype (rectangle, oval, text, line, polyline)

Prototype 3

The design of prototype 3

This prototype adds the possibility of editing the properties of a shape on the canvas. It also allows to rotate and move objects. You need to specify a point to rotate around. To make things easier, I print the current coordinates of the object in the form of a list (eg: [x_1, y_1, x_2, y_2, ...]). You simply need to give two numbers, as integers or a floats to specify the center. (eg: 200 231.3). You will also need to specify the angle. It is in degrees since I think it will be easier to use this way.
This prototype also allows you to cut/copy/paste shapes on the canvas. Finally, if you find any bug while using it, please let me know!

Notice

This code is an updated version, as of September 17. I have added the possibility of rotating/ moving multiple selected objects. It is also possible, if you have a selected object to clic on it and drag it to move it.
Another thing that has been added is the possibility of selected all the ovals or all the rectangles...

Python code

Again, don't forget that the files from Prototype 2 are needed.