CS4470: Assignment 5

"Sketching Notes"

Due: Monday December 4th


Purpose

The goal of this assignment is to learn a toolkit for creating informal pen-based UIs. You will create a simple sketching interface for a window with a collection of notes in it.

Task: Notepad

This assignment is to be done with the Satin toolkit (see http://guir.berkeley.edu/projects/satin). You will create a window that contains a Satin Sheet that is initially empty. The sheet should support the following interactions:

The notes support the following interactions:

Turn In

Your program should consist of a set of java files which should be commented with your name (the name you are registered under!). The java file should implement a class "A5" (so the TA can save it as "A5.java", compile it and execute it using the command "java A5".) The files should be emailed to cs4470@cc.gatech.edu.

The time the mail is received will be used to determine whether or not the program is late, so be sure to allow a couple of minutes for the mail system to transmit your file if you are working right up to the deadline.

IMPORTANT: If the TA has to edit your files you will lose points. Similarly, the TA should be able to execute the class "A4", so using any other class as your main class will result in lost points.

Due date

Additional Instructions

For this assignment, you should look at the various sample programs in the Satin source directory. Much of what you need to do is in these programs (or, something very close is). For the notes, you will need to create a new GraphicsObject for the text, based on the existing GObText in Satin. Similarly, you should create a new Interpreter based on the existing Grafitti interpreter object. Both of these existing objects are too simple, and have some problems that you should fix. For example:

There are other enhancements you can make, some of which are suggested for extra credit below.

Extra Credit

For this assignment, there are a number of extra credit possibilities. You can do one or more suggested below, or if you have other ideas, talk to the instructor about them. Each are worth one point (unless noted)