<DIAGRAM generator="gModeler.com" appVersion="0.2" type="classmap" name="FListBox Class Diagram" author="Phil Chung" dateCreated="2003/5/26" dateModified="2003/6/1"><ELEMENTS><ELEMENT hiliteColor="000000" height="348.95" width="444" y="-380" x="-458" name="LEGEND" type="package" /><ELEMENT hiliteColor="FF0000" height="659.95" width="944.95" y="1" x="1" name="FListBox Inheritance Chain" type="package" /><ELEMENT hiliteColor="FF0000" height="287" width="218" y="32" x="17" name="FListBoxClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="getRowCount" datatype="Number" hiliteColor="FFAAAA" /><ITEM name="getSelectedIndices" datatype="Array" hiliteColor="FFAAAA" /><ITEM name="getSelectedItems" datatype="Array" hiliteColor="FFAAAA" /><ITEM name="getSelectMultiple" datatype="Boolean" hiliteColor="FFAAAA" /><ITEM name="moveSelBy" datatype="" hiliteColor="BBBBBB" /><ITEM name="removeItemAt" datatype="Object" hiliteColor="FFAAAA" /><ITEM name="selectionHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="setRowCount" datatype="" hiliteColor="FFAAAA" /><ITEM name="setSelectedIndices" datatype="" hiliteColor="FFAAAA" /><ITEM name="setSelectMultiple" datatype="" hiliteColor="FFAAAA" /><ITEM name="setSize" datatype="" hiliteColor="FFAAAA" /><ITEM name="setWidth" datatype="" hiliteColor="FFAAAA" /></GROUP><GROUP name="Events" /></groups></ELEMENT><ELEMENT hiliteColor="FF9900" height="323" width="187" y="33" x="280" name="FScrollSelectListClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="clickHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="dragScroll" datatype="" hiliteColor="BBBBBB" /><ITEM name="findInputText" datatype="" hiliteColor="BBBBBB" /><ITEM name="findString" datatype="" hiliteColor="BBBBBB" /><ITEM name="getScrollPosition" datatype="Number" hiliteColor="FFAAAA" /><ITEM name="initScrollBar" datatype="" hiliteColor="BBBBBB" /><ITEM name="modelChanged" datatype="" hiliteColor="BBBBBB" /><ITEM name="releaseHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="scrollHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="setAutoHideScrollbar" datatype="" hiliteColor="FFAAAA" /><ITEM name="setEnabled" datatype="" hiliteColor="FFAAAA" /><ITEM name="setScrollPosition" datatype="" hiliteColor="FFAAAA" /><ITEM name="setSize" datatype="" hiliteColor="FFCC99" /></GROUP><GROUP name="Events"><ITEM name="myOnKeyDown" datatype="" hiliteColor="FFFFFF" /></GROUP></groups></ELEMENT><ELEMENT hiliteColor="FF9900" height="611" width="178" y="32" x="512" name="FSelectableListClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="addItem" datatype="" hiliteColor="FFAAAA" /><ITEM name="addItemAt" datatype="" hiliteColor="FFAAAA" /><ITEM name="clearSelected" datatype="" hiliteColor="BBBBBB" /><ITEM name="clickHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="getEnabled" datatype="Boolean" hiliteColor="FFAAAA" /><ITEM name="getItemAt" datatype="Object" hiliteColor="FFAAAA" /><ITEM name="getLength" datatype="Number" hiliteColor="FFAAAA" /><ITEM name="getSelectedIndex" datatype="Number" hiliteColor="FFAAAA" /><ITEM name="getSelectedItem" datatype="Object" hiliteColor="FFAAAA" /><ITEM name="getValue" datatype="Multi-datatype" hiliteColor="FFAAAA" /><ITEM name="init" datatype="" hiliteColor="BBBBBB" /><ITEM name="isSelected" datatype="" hiliteColor="BBBBBB" /><ITEM name="measureItmHgt" datatype="" hiliteColor="BBBBBB" /><ITEM name="modelChanged" datatype="" hiliteColor="BBBBBB" /><ITEM name="moveSelBy" datatype="" hiliteColor="BBBBBB" /><ITEM name="releaseHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="removeAll" datatype="" hiliteColor="FFAAAA" /><ITEM name="removeItemAt" datatype="Object" hiliteColor="FFCC99" /><ITEM name="replaceItemAt" datatype="" hiliteColor="FFAAAA" /><ITEM name="selectionHandler" datatype="" hiliteColor="BBBBBB" /><ITEM name="selectItem" datatype="" hiliteColor="BBBBBB" /><ITEM name="setDataProvider" datatype="" hiliteColor="FFAAAA" /><ITEM name="setEnabled" datatype="" hiliteColor="FFCC99" /><ITEM name="setItemSymbol" datatype="" hiliteColor="FFAAAA" /><ITEM name="setSelectedIndex" datatype="" hiliteColor="FFAAAA" /><ITEM name="setSize" datatype="" hiliteColor="FFCC99" /><ITEM name="sortItemsBy" datatype="" hiliteColor="FFAAAA" /><ITEM name="updateControl" datatype="" hiliteColor="BBBBBB" /></GROUP><GROUP name="Events"><ITEM name="myOnKillFocus" datatype="" hiliteColor="FFFFFF" /><ITEM name="myOnSetFocus" datatype="" hiliteColor="FFFFFF" /></GROUP></groups></ELEMENT><ELEMENT hiliteColor="00CC33" height="354" width="447" y="306" x="-465" name="FListItem Inheritance Chain" type="package" /><ELEMENT hiliteColor="FF9900" height="251" width="198" y="340" x="-228" name="FSelectableItemClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="displayContent" datatype="" hiliteColor="BBBBBB" /><ITEM name="drawItem" datatype="" hiliteColor="AAFFBB" /><ITEM name="getHostDataProvider" datatype="DataProviderClass" hiliteColor="AAFFBB" /><ITEM name="getItemIndex" datatype="Number" hiliteColor="AAFFBB" /><ITEM name="getItemModel" datatype="Object" hiliteColor="AAFFBB" /><ITEM name="init" datatype="" hiliteColor="BBBBBB" /><ITEM name="layoutContent" datatype="" hiliteColor="BBBBBB" /><ITEM name="setEnabled" datatype="" hiliteColor="AAFFBB" /><ITEM name="setHighlighted" datatype="" hiliteColor="BBBBBB" /><ITEM name="setSize" datatype="" hiliteColor="AAFFBB" /></GROUP><GROUP name="Events" /></groups></ELEMENT><ELEMENT hiliteColor="FF9900" height="379" width="212" y="34" x="719" name="FUIComponentClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="cleanUI" datatype="" hiliteColor="BBBBBB" /><ITEM name="cleanUINotSize" datatype="" hiliteColor="BBBBBB" /><ITEM name="drawFocusRect" datatype="" hiliteColor="BBBBBB" /><ITEM name="drawRect" datatype="" hiliteColor="BBBBBB" /><ITEM name="executeCallBack" datatype="" hiliteColor="BBBBBB" /><ITEM name="getEnabled" datatype="Boolean" hiliteColor="FFCC99" /><ITEM name="init" datatype="" hiliteColor="BBBBBB" /><ITEM name="invalidate" datatype="" hiliteColor="BBBBBB" /><ITEM name="pressFocus" datatype="" hiliteColor="BBBBBB" /><ITEM name="registerSkinElement" datatype="" hiliteColor="FFAAAA" /><ITEM name="setChangeHandler" datatype="" hiliteColor="FFAAAA" /><ITEM name="setEnabled" datatype="" hiliteColor="FFCC99" /><ITEM name="setSize" datatype="" hiliteColor="FFCC99" /><ITEM name="setStyleProperty" datatype="" hiliteColor="FFAAAA" /><ITEM name="updateStyleProperty" datatype="" hiliteColor="BBBBBB" /></GROUP><GROUP name="Events"><ITEM name="myOnKillFocus" datatype="" hiliteColor="FFFFFF" /><ITEM name="myOnSetFocus" datatype="" hiliteColor="FFFFFF" /></GROUP></groups></ELEMENT><ELEMENT hiliteColor="00CC33" height="75" width="202" y="339" x="-456" name="FListItemClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods" /><GROUP name="Events" /></groups></ELEMENT><ELEMENT hiliteColor="8800DD" height="356.05" width="480.1" y="-368" x="703" name="DataProviderClass" type="package" /><ELEMENT hiliteColor="8800DD" height="306" width="215" y="-336" x="723" name="DataProviderClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="addItem" datatype="" hiliteColor="CCAAFF" /><ITEM name="addItemAt" datatype="" hiliteColor="CCAAFF" /><ITEM name="addView" datatype="" hiliteColor="CCAAFF" /><ITEM name="getItemAt" datatype="Object" hiliteColor="CCAAFF" /><ITEM name="getItemID" datatype="Number" hiliteColor="CCAAFF" /><ITEM name="getLength" datatype="Number" hiliteColor="CCAAFF" /><ITEM name="init" datatype="" hiliteColor="BBBBBB" /><ITEM name="removeAll" datatype="" hiliteColor="CCAAFF" /><ITEM name="removeItemAt" datatype="Object" hiliteColor="CCAAFF" /><ITEM name="replaceItemAt" datatype="" hiliteColor="CCAAFF" /><ITEM name="sortItemsBy" datatype="" hiliteColor="CCAAFF" /><ITEM name="updateViews" datatype="" hiliteColor="BBBBBB" /></GROUP><GROUP name="Events"><ITEM name="modelChanged" datatype="Object" hiliteColor="FFFFFF" /></GROUP></groups></ELEMENT><ELEMENT hiliteColor="3366FF" height="352" width="220" y="307" x="-714" name="FLabelClass" type="package" /><ELEMENT hiliteColor="3366FF" height="160" width="192" y="338" x="-701" name="FLabelClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods"><ITEM name="getLabel" datatype="String" hiliteColor="AABBFF" /><ITEM name="setColor" datatype="" hiliteColor="BBBBBB" /><ITEM name="setEnabled" datatype="" hiliteColor="AABBFF" /><ITEM name="setLabel" datatype="" hiliteColor="AABBFF" /><ITEM name="setSize" datatype="" hiliteColor="AABBFF" /></GROUP><GROUP name="Events" /></groups></ELEMENT><ELEMENT hiliteColor="FF0000" height="142" width="188" y="-350" x="-443" name="Public Methods" type="note">Public methods are denoted by utilizing the same color as the &quot;publicly accessed&quot; class in a given inheritance chain.  For example, FListBoxClass is highlighted with red, so any methods colored red in the  inheritance chain for FListBoxClass are publicly accessible methods for that class.</ELEMENT><ELEMENT hiliteColor="FF9900" height="71" width="187" y="-195" x="-442" name="Overriden Methods" type="note">Orange denotes public methods that have been overridden at some point in the inheritance chain.</ELEMENT><ELEMENT hiliteColor="888888" height="63" width="186" y="-109" x="-441" name="Private Methods" type="note">Grey denotes private methods (DO NOT call these methods directly).</ELEMENT><ELEMENT hiliteColor="00CC33" height="104" width="195" y="427" x="-448" name="FListItem Notes" type="note">FListItemClass extends FSelectableItemClass and is basically just a class created for extension purposes.  It doesn&apos;t contain any methods itself, but just uses those from FSelectableItemClass.</ELEMENT><ELEMENT hiliteColor="8800DD" height="300" width="211" y="-336" x="956" name="DataProvider Notes" type="note">When using FListBox, an instance of DataProviderClass is automatically created.  A reference to it stored in &quot;this.dataprovider&quot;, and the FListBox instance is assigned to the dataprovider in its &quot;view&quot; array (which stores a list of all views associated with the dataprovider).

At any time, you can overwrite this &quot;default&quot; dataprovider by manually creating a dataprovider instance and calling:

FListBoxInstance.setDataProvider(myDP);

Generally, in FListBox, dataprovider methods are called by FSelectableListClass.</ELEMENT><ELEMENT hiliteColor="3366FF" height="140" width="194" y="510" x="-701" name="FLabel Notes" type="note">FLabelClass is the generic label used for each list item.  It gets attached inside of the FListItemSymbol instance.</ELEMENT><ELEMENT hiliteColor="FF9900" height="106" width="194" y="542" x="-449" name="FSelectableItem Notes" type="note">FSelectableItemClass contains all methods for individual list items.

Though not shown here, FSelectableItemClass inherits from FUIComponentClass.</ELEMENT><ELEMENT hiliteColor="000000" height="352" width="228" y="-381" x="4" name="FScrollBarClass" type="package" /><ELEMENT hiliteColor="000000" height="75" width="195" y="-350" x="19" name="FScrollBarClass" type="class"><groups><GROUP name="Properties" /><GROUP name="Methods" /><GROUP name="Events" /></groups></ELEMENT><ELEMENT hiliteColor="000000" height="223" width="195" y="-265" x="20" name="FScrollBar Notes" type="note">I haven&apos;t included any methods/events for FScrollBarClass because it is another FUIComponent in and of itself, and will have it&apos;s own seperate diagram.  FScrollBar extends FUIComponentClass

Essentially, it is important to know that FScrollBarSymbol is attached to FScrollSelectSymbol, and when scrolling occurs, the scrollbar broadcasts the event to FScrollSelectClass which is handled by the &quot;scrollHandler&quot; method of that class.</ELEMENT><ELEMENT hiliteColor="FF9900" height="150" width="189.95" y="477" x="281" name="FSelectableList Notes" type="note">FSelectableListClass extends FUIComponentClass to implement management of individual list items, as well as integration with DataProviderClass.  This class is where you will find most base methods that manipulate list items directly (ie., adding, removing, sorting, getting select indices).</ELEMENT><ELEMENT hiliteColor="FF9900" height="84.05" width="188" y="375" x="281" name="FScrollSelectList Notes" type="note">FScrollSelectListClass extends FSelectableListClass to implement all aspects of scroll handling in the listbox</ELEMENT><ELEMENT hiliteColor="FF0000" height="87" width="217" y="340" x="18" name="FListBox Notes" type="note">FListBoxClass extends FScrollSelectListClass to implement restriction of visible row number, as well as ability to select multiple list items.</ELEMENT><ELEMENT hiliteColor="FF9900" height="121" width="208" y="431" x="721" name="FUIComponent Notes" type="note">FUIComponentClass is of course the mother of all components.  It&apos;s the base class which handles generic tasks such as focus management, enabled state, style properties/skin elements, and last, but not least, selection change handling.</ELEMENT></ELEMENTS><LINKS><LINK endSide="l" startSide="t" label="Composition (has)" type="composition" descriptor="*start* has *end*" endPosition="30" startPosition="736" hiliteColor="FF9900" endHead="none" startHead="diamond_filled" end="10" start="4" /><LINK endSide="l" startSide="r" label="Inheritance" type="inheritance" descriptor="*start* inherits from *end*" endPosition="24" startPosition="18" hiliteColor="FF9900" endHead="arrow_open" startHead="none" end="7" start="4" /><LINK endSide="l" startSide="r" label="Inheritance" type="inheritance" descriptor="*start* inherits from *end*" endPosition="35" startPosition="43" hiliteColor="FF0000" endHead="arrow_open" startHead="none" end="3" start="2" /><LINK endSide="l" startSide="r" label="Inheritance" type="inheritance" descriptor="*start* inherits from *end*" endPosition="17" startPosition="29" hiliteColor="FF9900" endHead="arrow_open" startHead="none" end="4" start="3" /><LINK endSide="l" startSide="r" label="Inheritance" type="inheritance" descriptor="*start* inherits from *end*" endPosition="32" startPosition="122" hiliteColor="00CC33" endHead="arrow_open" startHead="none" end="6" start="8" /><LINK endSide="t" startSide="l" label="Composition (has)" type="composition" descriptor="*start* has *end*" endPosition="30" startPosition="47" hiliteColor="FF0000" endHead="none" startHead="diamond_filled" end="8" start="2" /><LINK endSide="r" startSide="l" label="Composition (has)" type="composition" descriptor="*start* has *end*" endPosition="58" startPosition="109" hiliteColor="00CC33" endHead="none" startHead="diamond_filled" end="12" start="8" /><LINK endSide="r" startSide="t" label="Composition (has)" type="composition" descriptor="*start* has *end*" endPosition="137" startPosition="192" hiliteColor="FF9900" endHead="none" startHead="diamond_filled" end="21" start="3" /></LINKS></DIAGRAM>