FilingChoice <- CanBeFiled |
|
|
CopyIntoSystem Copying DefaultInstallLocation FileIntoSystem Finalize SetUpInstallEntryForCopy |
|
GoToAfterFiling NeedsInstallEntry |
Define Class CanBeFiled; mixes in with Object; inherits from FilingChoice; has dispatcher hintdata; // any object that can be filed into a package should mix in this class operation CopyIntoSystem(): CanBeFiled, noMethod; // called by FileIntoSystem, and when user taps PC card or package image at top of screen; // copies self into main memory (not in any package), and returns copy; // must override to implement for each subclass; operation DefaultInstallLocation(): Object; // call to find the "home" for a filed object. // homes defined in Magic Cap are: // contacts - iContactsMasterList // tasks - iDatebook // note cards - iNoteCardStack // returns nilObject by default operation FileIntoSystem(destroyOriginal: Boolean): Boolean; // called by system when user chooses to file package object back into main memory (not into a package); // <destroyOriginal> determines whether original is moved or copied; // returns true if filing operation was successful, false otherwise; // calls CopyIntoSystem, then destroys self if <destroyOriginal> // override rarely attribute GoToAfterFiling: Boolean, readOnly; // called by system to determine if this item is currently on screen // if filing and deleting the original, this attribute is called to see // if the filing system should go to the filing object after filing it attribute NeedsInstallEntry: Boolean, readOnly; // called by system to determine whether moving or copying object should create new install entry; // returns true if self is in a package; // override sometimes to make stricter criteria operation SetUpInstallEntryForCopy(original: Object); // call when a fileable object is moved or copied to a different package; // makes a reinstall entry in the new package for self if necessary; // uses reinstall parameters from <original> if found; // override rarely; overrides Copying; // calls SetUpInstallEntryForCopy after calling inherited method overrides Finalize; // calls RemoveInstallEntriesFor to remove any install entries for this object end class;