Squeak
  links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
PDA
Last updated at 8:44 am UTC on 21 August 2020
see PDAMorph


Model subclass: #PDA
	instanceVariableNames: 'userCategories allPeople allEvents recurringEvents allToDoItems allNotes date category currentItem currentItemText currentItemSelection categoryList categoryListIndex peopleList peopleListIndex scheduleList scheduleListIndex toDoList toDoListIndex notesList notesListIndex dateButtonPressed viewDescriptionOnly'
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Etoys-Squeakland-Morphic-PDA'


class comment:

PDA help text...
A lot about the PDA should be obvious just by opening one up and playing with the sample data. The PDA holds a complete database of people, events, to-do items and notes. The date and keyword selected determine which records are visible at any given time.

All records
All records in the database have a number of pre-allocated fields, and these are displayed in the obvious manner in the current item pane at the bottom, when the record is selected. Care must be taken to enter only valid data as the contents of any field. This is usually simple but, for instance, matching string quotes can be a problem (embedded string quotes must be doubled).

Any item may be augmented by any number of fields, provided that the field names do not conflict with existing ones, and that the contents are valid Squeak objects.

The description field may often carry a long body of text so, for this reason, a special feature is provided for viewing only the description of the current item. This makes it a lot easier to read long notes (like this one), and it saves the user from worrying about matching quotes and other punctuation. Sorry it's a mode – use the menu of the bottom pane to switch modes.

People
Since the name field is not split into first, middle, last as in some databases, you are encouraged to adopt the following format:
Lastname, First I., Jr. (Nickname) (&Spousename)
which allows for useful processing for invitations and the like.

ToDoItems
ToDo items are designed not to be removed, but only to be marked done. This allows the database to be browsed retroactively, with the to-do items appearing and disappearing on the dates the tasks were introduced and completed respectively. Note that toDo items have a deadline field whose obvious associated semantics (see alarms) have not yet been implemented.

Schedule
Scedule items are relatively simple. It is intended that if duration is specified, and that if time+duration overlaps ensuing events, that the ensuing events will be show in red or someting like that. Alarms have not yet been implemented, but they will accept an integer field equal to the number of minutes prior to event time that the alarm should appear. Presumably an alarm will apppear as a new object on the screen that announces the event, sounds a continuing audible sound, and allows easy dismissal by clicking or keystroke.

A number of short forms are allowed for the time field, such as '4p' asTime.
An event with time = nil will appear with dashes at the beginning of the day.

RecurringEvents
Recurring events are treated specially. Each master event is consulted to generate derivative events in the schedule for any given day. You can edit the derivative events, at which point they will become permanent events just like any other. An unedited recurring event is a virtual object – if you edit the master, its derivative copies may disappear from one time and reappear at another. For this reason it is recommended that you never alter the date of a recurring event. Instead, declare its last date, causing an end to that series, and create another recurring event for the new schedule if desired. In this manner all the past schedule will continue to appear as it did when it was current.

To examine or alter recurring events, select the 'recurring' category (this will need further filtering for large databases). The currently supported recurrence rules include
#eachDay - for example, a 2-week vacation (give first and last dates).
#dayOfWeek - for example, every Thursday
#dayOfMonth - for example, on the first day of every month
#dateOfYear - for example, birthdays and many holidays
#nthWeekdayOfMonth - for example, the second Tuesday of every month
#nthWeekdayOfMonthEachYear - for example, Thanksgiving
(The Squeak PDA does not support the recurrence rule for Easter Sunday ;-).

Notes
Notes are simple a place to capture thoughts and information relevant to the different areas of your life while you are in the simple planning mood inspired by using a PDA. The ability to view the current item's description only is especially useful for notes.

Spawn Entire Month
While this feature (accessible from bottom pane menu) is very crude and does not offer interaction, its real purpose is for printing. Expand the spawned window to full screen, use the morph menu to choose 'print PS to File...', and then send the resulting .eps file to your printer. (At the time of this writing portrait and landscpe options were reversed ;-).

See also

A newer system
Home desktop system