ArcFM Desktop Overview > ArcFM Desktop Basics > List Trees |
List trees appear throughout the ArcFM Solution. Examples include the Attribute Editor, the ArcFM Locator tool, and the Features tab. The MMListTree control is used to display these hierarchical list trees.
The MMListTree control is built around the ActiveTreeView® control developed by Infragistics, Inc. The MMListTree wraps Infragistics’ control and makes it specific to storing and managing ArcFM’s various lists. These lists include the selected set, QAQC features, target features and available Compatible Units in Designer. For more information regarding Infragistics’ ActiveTreeView control, visit www.infragistics.com.
It is important to note that should you see the need to develop an interface that contains an instance of the MMListTree control, you’ll need to purchase a development license from Infragistics, as this would require your redistributing the control. However, if you are adding list items to existing list trees, then such a license is not necessary.
The MMListTree control is designed to store and display lists. Each list is composed of one or more list items, each of which can also store a list of its own. ArcFM uses two objects to build these lists: D8List and D8ListItem. Objects that implement the ID8List interface can function as lists. Objects that implement the ID8ListItem interface can function as list items and can be contained (or parented by) ID8List objects. An object can implement both ID8List and ID8ListItem which allows the object to store a list of its own while being contained in the list of another object.
In the example below, Support Structure is a D8List object. It implements the ID8List interface and acts as a container for the nodes beneath it. Assembly, BracketCondition, Dynamic Protective Device, and Fuse are all D8ListItem objects. They implement the ID8ListItem interface. JointUseAttachment, however, implements both ID8List and ID8ListItem. It acts as a container and a list item.