Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007
In this milestone we had to provide a graphical user interface for the genealogy map. Of course, all of our previous functionality had to work but in addition we created an interface which allows the user to define people, make connections between them, fill in information for them, check for accuracy and missing information, querying, export function, etc. The system can be started two ways:
1.GenealogyMap new open–opens a blank genealogy map. It starts up with an 800x600 display space, which can be resized by user.
2. (GenealogyMap with: (Array with: p with: q))–opens a genealogy with people p and q already input. This method takes in any ordered collection.
Lastly, we had to create an export function that generates to the Transcript all the messages to recreate the map.
We decide to create our genealogy map with the person being visualized as the center of focus. Therefore, everyone above them are ancestors and everyone below are descendents. Persons to the left are spouses and persons to the right are siblings. We used SimpleButtonMorphs to represent each person and we added actions and balloons to each button. Morphic has lots of different menus and buttons available. We had trouble figuring out how to add actions and colors to each morph. One thing that gave us lots of trouble was figuring out that you need to add all morphs to the window before you try to change the color, it won't work the other way. I have no idea why. Also we used FillInTheBlankMorphs for any input we needed from user. In particular, we used FillInTheBlankMorphs for queries.
The following is an image of our genealogy map, melissa is the person being visualized.
This is an example of our window which allowed the user to add or edit a person. Information already known about the person was filled in automatically and uneditable. (We decided to make a person's information uneditable which was a design choice that we later came to regret because in M7 we had to allow people to be merged and their information needed to be changeable) We downloaded BobsUI.st and then personalized it for our needs.
This is an example of the the menu that pops up whenever a person is clicked on. It gives all the the options that are available for a person. We used a MenuMorph for this menu.
This is an example of the menu for adding relationships. All the different type of relationships are shown and a submenu of the population to choose from. We used a MenuMorph for this menu and the submenu.
M4 project file
Link to this Page