CPSC 581/599.81
Interaction Design

Saul Greenberg (instructor)

Back to Student Work Repository

Documentation for the Digital Album


The Digital Album is a front-end to an Access database used for storing photos. Database queries, adds, and removes are transparent to the user, but are performed by the graphical user interface by using ADO.

The database consists of the following tables and fields:








The Digital Album combines the use of six ActiveX controls:




Album on Shelf API

The control consists of a slideshow control, a textbox for a label, and two more picture boxes that show wear to the album.



Properties

Name Description
IndexValue as Integer The index of the object where control is contained in the main application.
CoverPicture as String The full path of a picture used to tile as the background for the album.
Pages as Integer The number of pages in the album.
Caption as String The album's label. This is linked to the text in the textbox on the control.


Methods

Name Description
removePicture(ByVal Path As String) Removes a picture from the album's slideshow. Path is the full path of the picture to be removed. The actual remove is a remove from a GlabDictionary.
addPicture(ByVal Path As String) Adds a picture to the album's slideshow. Path is the full path of the picture to be added. The actual add is an add to a GlabDictionary.


Events

Name Description
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseDown.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseMove.
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseUp.
Click() Mapped to the user control. It raises the event Click.
DblClick() Mapped to the user control. It raises the event DblClick.
Change() Mapped to the text box. If the textbox's text changes OR the caption property changes this event will fire.



Album Photo API

The control consists of a picture box to hold the photo and another picture box to hold a picture of wear.



Properties

Name Description
ThumbnailPath as String The full path of the thumbnail version of the picture.
Path as String The full path of the picture. Setting this property will change the picture displayed in the picture box.
Wear as Integer The amount of wear to the photo. A value greater than 10 causes the left corner of the picture to appear bent.
Caption as String The picture's label.


Events

Name Description
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseDown.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseMove.
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseUp.
Click() Mapped to the user control. It raises the event Click.
DblClick() Mapped to the user control. It raises the event DblClick.



Open Album API

The control consists of two picture boxes: one for the lefthand side of the page and one for the righthand side of the page. It also contains 16 rectangles used to represent the number of pages to the left or right of the current page.



Properties

Name Description
CurrentPage as Integer The value of the current page being viewed. One page is equal to both the lefthand side and the righthand side. This is used in calculating how many pages are to be represented to the left and right of the current page.
CoverPicture as String The full path of a picture used to tile as the background for the album.
Pages as Integer The number of pages in the album. This is used in calculating how many pages are to be represented to the left and right of the current page.


Events

Name Description
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseDown.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseMove.
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseUp.
Click() Mapped to the user control. It raises the event Click.



Package API

The control consists of a slideshow control, a textbox for a label, and a picture box that shows wear to the package and several lines that also show wear.



Properties

Name Description
Wear as Integer The amount of wear to the package. A value >=5 and <10 shows scratches in the upper left corner. A value >= 10 shows a folded bottom right corner as well.
Caption as String The album's label. This is linked to the text in the textbox on the control.


Methods

Name Description
removePicture(ByVal Path As String) Removes a picture from the packages's slideshow. Path is the full path of the picture to be removed. The actual remove is a remove from a GlabDictionary.
addPicture(ByVal Path As String) Adds a picture to the package's slideshow. Path is the full path of the picture to be added. The actual add is an add to a GlabDictionary.


Events

Name Description
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseDown.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseMove.
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseUp.
Click() Mapped to the user control. It raises the event Click.
DblClick() Mapped to the user control. It raises the event DblClick.
Change() Mapped to the text box. If the textbox's text changes OR the caption property changes this event will fire.



Shoebox API

The control consists of a picture box and various rectangles to represent packages within the shoebox



Properties

Name Description
Amount as Integer The amount of packages in the shoebox currently. For each value of amount, a rectangle is displayed representing the package.


Events

Name Description
Click() Mapped to the user control. It raises the event Click.
DblClick() Mapped to the user control. It raises the event DblClick.



Slideshow API

The control consists of a picture box and a timer which controls the rate at which new pictures are displayed. Currently the timer's interval is not available for setting in the API.



Methods

Name Description
removePicture(ByVal Path As String) Removes a picture from slideshow. Path is the full path of the picture to be removed. The actual remove is a remove from a GlabDictionary.
addPicture(ByVal Path As String) Adds a picture to the slideshow. Path is the full path of the picture to be added. The actual add is an add to a GlabDictionary.


Events

Name Description
MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseDown.
MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseMove.
MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Mapped to the user control. It raises the event MouseUp.