... <- Viewable <- Box <- GridView <- ListView <- CheckboxListView |
|
|
AboutToShow CheckAllRows CheckRow DrawCell GoTo RowHeight SetScrollOffset Touch UncheckAllRows UncheckRow |
|
CanGoTo CheckImage CheckedItems List |
instance CheckboxListView tag; relativeOrigin: <0.0,0.0>; contentSize: <0.0,0.0>; viewFlags: 0x00000000; labelStyle: nilObject; color: 0; altColor: 0; shadow: nilObject; sound: nilObject; border: nilObject; scrollOffset: <0.0,0.0>; selectMode: false; showCount: false; useContainerList: false; showColumnTitles: false; keyboardScroll: false; scrollToSelected: false; showColumnLines: false; showRowLines: false; showExtraRowLines: false; showTitleLines: false; menuResizeH: false; alwaysOneSelected: false; setCurrentContact: false; dontTrack: false; showRemaining: false; showColumnTitleAsLetter: false; showColumnTitleAsNumber: false; showRowTitles: false; showRowTitleAsLetter: false; showRowTitleAsNumber: false; useListElementPerCell: false; noPartialCell: false; grayTitleBackground: false; gridViewCenteredTitle: false; forPrinting: false; emboldenGroups: false; confirmOnSelect: false; removePlural: false; listViewArrow: false; cellTextStyle: nilObject; columnTitles: nilObject; emptyMessage: nilObject; selectedColumn: 0; selectedRow: 0; titleTextStyle: nilObject; columnKeysList: nilObject; columnOffsetsList: nilObject; columnFlagsList: nilObject; list: nilObject; summaryString: nilObject; checkedItems: nilObject; checkImage: nilObject; height: <0.0>; end instance;
Define Class CheckboxListView; inherits from ListView; field checkedItems: ObjectList, getter, setter; field checkImage: Image, getter, sharedSetter; field height: Micron; attribute CheckedItems: ObjectList; // contains items that have been checked off attribute CheckImage: Image; // image used to draw check marks in columns whose ColumnKey is operation_Checked // image is used for unchecked items; NextImage(image) is used for checked items operation CheckRow(rowNumber: Unsigned); // add the object in this row to CheckedItems // does nothing if the object in this row is already in CheckedItems // rarely override operation UncheckRow(rowNumber: Unsigned); // remove the object in this row from CheckedItems // does nothing if object in this row is not in CheckedItems // rarely override operation CheckAllRows(); // makes CheckedItems contain all objects in list // rarely override operation UncheckAllRows(); // empties CheckedItems // rarely override overrides AboutToShow; overrides DrawCell; overrides CanGoTo, GoTo; // goes to first checked row; // call only when exactly one row is checked overrides RowHeight; overrides SetList; // calls UncheckAllRows if list is different, before calling Inherited overrides SetScrollOffset; // hack for iOutOfMemoryWindow overrides Touch; // toggles checked state of touched row // if no row touched, honks // if option key down, checks or unchecks all rows end class;