Design Assignment
Design an object-oriented drawing tool for Squeak. I want the ability to:
- Draw lines, rectangles, and circles, filled and unfilled, of any color that I want.
- Be able to drag these objects around the screen.
- Be able to delete these objects. (How? Drag to a trash can? Hit the delete key? Your call!)
- Be able to resize rectangles (at least).
- Choose between tools.
- Choose a tool that says "Quit the Editor"
- Choose a tool that says "Save this Form to Disk"
In your Scenarios section, be sure to answer these questions:
- How do you figure out which object is being clicked upon?
- How do you figure out which tool is active when somebody clicks down on the drawing surface?
- How do you show the user that they're drawing a new object or resizing an object or dragging an object?
- How do you redraw things after an object is moved so that things get redrawn appropriately (e.g., the old one is deleted, the tracked one is deleted)?
Hints
Surprisingly, there is a CS2390 CoWeb case on drawing editors! See http://guzdial.cc.gatech.edu:8080/cs2390.26
Also, Squeak already has several graphical editors built into it. Take a look at the class methods of class Form and also the painting tool in Morphic.
Ask questions about it here http://guzdial.cc.gatech.edu:8080/cs2390.21
News Page | CS2390 Win'98 Home Page | CS2390 CoWeb | STABLE | BOOST
Questions/comments/concerns to guzdial@cc.gatech.edu
Page last updated 2/23/98; 11:43:12 AM