Object <- ContactSearchResult |
|
|
DisplaySearchResult DoneListingSearchResult Init |
|
ContentDescription IsValid TinyImage |
| Field | Type | |
|---|---|---|
| ContactSearchResult: | addressOrNameCard: | Object |
| viewable: | Viewable | |
| addressLabelIndex: | Unsigned | |
| phoneLabelIndex: | Unsigned |
instance ContactSearchResult tag; addressOrNameCard: nilObject; viewable: nilObject; addressLabelIndex: 0; phoneLabelIndex: 0; end instance;
Define Class ContactSearchResult; inherits from Object, CanBeSearchResult; field addressOrNameCard: Object, weak; field viewable: Viewable, weak; field addressLabelIndex: Unsigned; field phoneLabelIndex: Unsigned; overrides ContentDescription; // uses content description of contact overrides TinyImage; // uses content icon of contact overrides DisplaySearchResult; // handles four types of searching results: // for name or image of contact, goes to <addressOrNameCard> and blinks name or image // for viewables in display view of contact, goes to <addressOrNameCard> and highlights viewable // for matches in a label of an contact, goes to <addressOrNameCard> and highlights label (address or phone) overrides DoneListingSearchResult; // destroys self, since these objects have no further purpose when they are removed from search list overrides Init; // sets up the three fields from parameters; the recognized cases are as follows // for matching name or image, <addressOrNameCard> is the contact, <viewable> is nilObject, index fields are zero // for viewables found in display view of contact, <addressOrNameCard> is the contact, <viewable> is the viewable, index fields are 0 // for text or image found in an address label of a contact, <addressOrNameCard> is the contact, <addressLabelIndex> is the index of the label among all address labels, <phoneLabelIndex> is 0, <viewable> is nilObject // for text or image found in a phone label of a contact, <addressOrNameCard> is the contact, <phoneLabelIndex> is the index of the label among all phone labels, <addressLabelIndex> is 0, <viewable> is nilObject overrides IsValid; // returns false if <addressOrNameCard> is a contact not in master list end class;