Object <- Viewable <- IndexTab |
|
|
CanStretch Disabled |
| Field | Type | |
|---|---|---|
| Viewable: | superview: | Viewable |
| relativeOrigin: | Dot | |
| contentSize: | Dot | |
| viewFlags: | Flags | |
| labelStyle: | TextStyle | |
| color: | Unsigned | |
| altColor: | Unsigned | |
| shadow: | Shadow | |
| sound: | Playable | |
| IndexTab: | indexImage: | Image |
| indexTabMask: | PixelMap | |
| altTabMask: | PixelMap | |
| target: | Object | |
| twoPerTab: | Boolean | |
| horizontal: | Boolean | |
| alternate: | Boolean | |
| bigFirstTab: | Boolean | |
| threePerTab: | Boolean | |
| alwaysShowFirstMatch: | Boolean | |
| supressHighlight: | Boolean | |
| nameCardIndexTab: | Boolean | |
| tabHeight: | Micron | |
| tabWidth: | Micron | |
| altTabWidth: | Micron | |
| tabVOffset: | Micron | |
| tabHighlight: | Unsigned | |
| highlightOffset: | Dot | |
| altHighlightOffset: | Dot | |
| sectionIndexTable: | IndexTabMappingTable |
Define Class IndexTab; abstract; inherits from Viewable; field indexImage: Image; field indexTabMask: PixelMap; field altTabMask: PixelMap; field target: Object, getter, weak; field twoPerTab: Boolean; field horizontal: Boolean; field alternate: Boolean; field bigFirstTab: Boolean; field threePerTab: Boolean; field alwaysShowFirstMatch: Boolean; field supressHighlight: Boolean; field nameCardIndexTab: Boolean; field tabHeight: Micron; field tabWidth: Micron; field altTabWidth: Micron; field tabVOffset: Micron; field tabHighlight: Unsigned; field highlightOffset: Dot; field altHighlightOffset: Dot; field sectionIndexTable: IndexTabMappingTable, weak; // sectionIndexTable creates a mapping from text (typically // using the first character) to a section index. Most // instances will point sectionIndexTable to iContactsSectionTable for // using IndexTabs like the one in the name cards scene, or to // iPeoplePickerSectionTable for IndexTabs like the PeoplePicker. overrides AboutToShow, AboutToHide, Notice; overrides CalcContentBox, CalcContentSize; overrides CanStretch; // returns false overrides Disabled; // returns true if target's list is empty overrides Draw; overrides Touch; operation UnhighlightBecauseNoScroll(): Boolean, intrinsic; operation ItemInSectionRange(item: Object; sectionIndex: Unsigned): Boolean; operation NumberOfTabs(): Unsigned; operation NumberOfSections(): Unsigned; operation SectionsPerTab(): Unsigned; operation FindSectionIndex(tabIndex: Unsigned): Unsigned; // returns the first section index (into ComponentLists(iContactsMasterList)) for // tab at tabIndex. operation FindTabIndex(sectionIndex: Unsigned): Unsigned; operation CurrentIndexItem(): Object, noMethod; // subclasses must override to return the currently "selected" item // used for updating the selected index tab operation ListIsEmpty(): Boolean, noMethod; // subclasses must override to get real value operation SetTabHighlight(newTab: UnsignedShort); // highlights the appropriate index tab operation TabSelected(sectionIndex: Unsigned; optionKey: Boolean), noMethod; // subclasses must override to scroll to the first entry in sectionIndex // may have special behavior if optionKey is true operation UpdateIndexTab(); // determines the currently selected or scrolled to item and higlights the appropriate tab end class;