COP4226, Homework 2

Due Thursday, November 1 (late 6am 11/2)

Zip your entire project and upload on the web. Exclude the Debug and Release directories.
Submitting Homework Online.

Be sure to include your control library in your uploaded file.

Create a Single Document Interface application.

Avoid long methods. Each method that you create should be short, to promote encapsulation. If you have a method that is longer than 25 lines, then it probably needs to be divided into smaller methods.

Do not create a new data structure if one that already exists will solve the problem.

Create Image

Create a separate project that will draw to an image and save the image to a file.

Control Library

Use the control library from homework 1. Be sure to include the file in the zip that you upload.

Interfaces

Use interfaces to encapsulate implementation details. Design code so that the implementation details of data could be changed in the future without having to rewrite all the code that accesses that data.

Resources

Add to the project resources.

Oath Dialog

Create a dialog in the main application that will display the pledge of honesty.

About Dialog

Create a dialog in the main application that will display a description of the assignment.

Word Class

Create a class that will hold data for a word. The word will have text, location, amount of rotation, font size, typeface. Add properties to improve encapsulation. Add more properties and helper methods that contain operations that work on words. Encapsulate word processes in this class.

Document Class

Create a document class that will store words. Add properties and helper methods to encapsulate document processes in this class.

Word Options Dialog

Create a dialog in the main application that will allow the user to modify information for words.

Main Form

Extend the main form from the form that was added to the control library for this assignment.

Tab for Drawing Backgrounds

Add a tab page for drawing backgrounds.

Tab for Drawing Text

Add a tab page for drawing text.

Application Demo: Demo