blob: 45de8b92985f3c5950b5d88fee914af669709995 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.infiview.net/infiview"
xmlns="http://www.infiview.net/infiview"
xmlns:bi="http://www.bindows.net/IVBindowsSchema"
elementFormDefault="qualified">
<xs:import namespace="http://www.bindows.net/IVBindowsSchema" schemaLocation="IVBindowsAdfSchema.xsd"/>
<!--<xs:element name="InfiView">-->
<!--<xs:annotation>-->
<!--<xs:documentation>This class is the main class of InfiView.-->
<!--It can configured for many different purposes using the InfiView Markup format.-->
<!--</xs:documentation>-->
<!--</xs:annotation>-->
<!--<xs:complexType>-->
<!--<xs:choice minOccurs="0" maxOccurs="unbounded">-->
<!--<xs:group ref="InfiViewComponentsGroup"/>-->
<!--</xs:choice>-->
<!--<xs:attributeGroup ref="InfiViewAttributes"/>-->
<!--</xs:complexType>-->
<!--</xs:element>-->
<!--<xs:element name="AbstractDataContainer">-->
<!--<xs:annotation>-->
<!--<xs:documentation>Abstract data container class-->
<!--</xs:documentation>-->
<!--</xs:annotation>-->
<!--<xs:complexType>-->
<!--<xs:choice>-->
<!--<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>-->
<!--</xs:choice>-->
<!--<xs:attributeGroup ref="AbstractDataContainerAttributes"/>-->
<!--</xs:complexType>-->
<!--</xs:element>-->
<xs:attributeGroup name="AbstractDataContainerAttributes">
<xs:attributeGroup ref="ViewportRectangleAttributes"/>
</xs:attributeGroup>
<xs:element name="AbstractViewport">
<xs:annotation>
<xs:documentation>The abstract representation of the viewport collects methods giving
a consistent interface for building custom viewports. x
The viewport is a component which makes it possible to write
applications with practically infinite surfaces containing a
tremendous amount of information which should be swapped in and out
from either an internal lightweight information structure or server
side information.
<br/>
The abstract viewport adds a resize and a
mousewheel event listener in its constructor. The resize event is
coupled to the resizeVisibleArea method of the given data model and
the mousewheel event scrolls the viewport vertically by 50 pixels.
This behavior can be overriden by overriding the onMouseWheel method.
<br/>
The default render margin is zero in both directions.
<br/>
setScrollLeft and setScrollTop are overridden to empty functions to
avoid auto-scrolling problems when using drag-and-drop.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="AbstractViewportAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="AbstractViewportAttributes">
</xs:attributeGroup>
<xs:element name="AbstractViewportModel">
<xs:annotation>
<xs:documentation>This is the is the foundation for all viewport data models which are
used to manage the information on which infiview.AbstractViewport
descendants are dependent on. The data model should store either
lightweight information about components or manage communication
with information on a server.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="AbstractViewportModelAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="AbstractViewportModelAttributes">
<xs:attribute name="onzoomchange" type="xs:string">
<xs:annotation>
<xs:documentation>Dispatched when the zoom level changes.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="oncenterview" type="xs:string">
<xs:annotation>
<xs:documentation>Dispatched when the view is centered.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="Actions">
<xs:annotation>
<xs:documentation>The class infiview.Actions is used by infiview.InfiView.
TODO: Explain the purpose of this class.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ActionsAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ActionsAttributes">
</xs:attributeGroup>
<xs:element name="ComponentDataConstructor">
<xs:annotation>
<xs:documentation>Data contructor holder
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ComponentDataConstructorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ComponentDataConstructorAttributes">
</xs:attributeGroup>
<xs:element name="ComponentDataContainer">
<xs:annotation>
<xs:documentation>Wrapper class for objects inserted into a infiview.GraphViewportDatamodel
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ComponentDataContainerAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ComponentDataContainerAttributes">
<xs:attributeGroup ref="AbstractDataContainerAttributes"/>
<xs:attribute name="data" type="xs:string">
<xs:annotation>
<xs:documentation>Type:Object - Set the data of this container.
The properties that are given in the "persistentDataMap" property are saved int the container.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="ComponentViewport">
<xs:annotation>
<xs:documentation>Implemented viewport for handling components. It is used together
with a infiview.ComponentViewportModel.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ComponentViewportAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ComponentViewportAttributes">
<xs:attributeGroup ref="AbstractViewportAttributes"/>
<xs:attribute name="zoomFactorDependantData" type="xs:string">
<xs:annotation>
<xs:documentation>Type:EDIT_THIS - This property turns on or off the zoom factor dependant data.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="ComponentViewportModel">
<xs:annotation>
<xs:documentation>Data model intended for keeping externally added components.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ComponentViewportModelAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ComponentViewportModelAttributes">
<xs:attributeGroup ref="ZoomableViewportModelAttributes"/>
</xs:attributeGroup>
<xs:element name="DrawAnchor">
<xs:annotation>
<xs:documentation>This class defines static properties that represent the anchoring locations for edge
lines.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="DrawAnchorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="DrawAnchorAttributes">
</xs:attributeGroup>
<xs:element name="DynamicPreviewViewportNavigator">
<xs:annotation>
<xs:documentation>This class is specialized navigator that loads images as preview background.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="DynamicPreviewViewportNavigatorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="DynamicPreviewViewportNavigatorAttributes">
<xs:attributeGroup ref="ViewportNavigatorAttributes"/>
</xs:attributeGroup>
<xs:element name="EdgeType">
<xs:annotation>
<xs:documentation>The class infiview.PropertyForms is used by infiview.InfiView.
Container for edge type information.
Used as data holder when creating edges in InfiView graphs.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="EdgeTypeAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="EdgeTypeAttributes">
<xs:attributeGroup ref="InfiViewTypeAttributes"/>
</xs:attributeGroup>
<xs:element name="EdgeTypes">
<xs:annotation>
<xs:documentation>The class infiview.EdgeTypes is used by infiview.InfiView.
It holds a list of EdgeType.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="EdgeTypesAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="EdgeTypesAttributes">
<xs:attributeGroup ref="TypeTableAttributes"/>
</xs:attributeGroup>
<xs:element name="EventListener">
<xs:annotation>
<xs:documentation>The class infiview.EventListener is used by infiview.InfiView.
This class is the holder of a event l├нstener. Used by property forms.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="EventListenerAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="EventListenerAttributes">
</xs:attributeGroup>
<xs:element name="EventListeners">
<xs:annotation>
<xs:documentation>The class infiview.EventListeners is used by infiview.InfiView.
Holder of a list of infiview.EventListener.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="EventListenersAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="EventListenersAttributes">
</xs:attributeGroup>
<xs:element name="GraphDataContainer">
<xs:annotation>
<xs:documentation>Wrapper class for objects inserted into a infiview.GraphViewportDatamodel
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="GraphDataContainerAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="GraphDataContainerAttributes">
<xs:attributeGroup ref="ComponentDataContainerAttributes"/>
</xs:attributeGroup>
<xs:element name="GraphViewport">
<xs:annotation>
<xs:documentation>Viewport specialized for containing a edge manager to handle very
large graphs.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="GraphViewportAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="GraphViewportAttributes">
<xs:attributeGroup ref="ComponentViewportAttributes"/>
</xs:attributeGroup>
<xs:element name="GraphViewportModel">
<xs:annotation>
<xs:documentation>Specialized model for the infiview.GraphViewport which handles very
large graphs.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="GraphViewportModelAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="GraphViewportModelAttributes">
<xs:attributeGroup ref="ComponentViewportModelAttributes"/>
</xs:attributeGroup>
<xs:attributeGroup name="InfiViewAttributes">
<xs:attribute name="currentState" type="xs:string">
<xs:annotation>
<xs:documentation>Type:EDIT_THIS - This method sets the current state, it loads the panel icons and
troolbar associated with the desired state
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="InfiViewComponentDataContainer">
<xs:annotation>
<xs:documentation>infiview.InfiViewComponentDataContainer is the light weight representation of an node
residing
in a InfiView.
This class can be inherit for adding och changing features of adding and dipsosing visual nodes in a
InfiView.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InfiViewComponentDataContainerAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InfiViewComponentDataContainerAttributes">
<xs:attributeGroup ref="InteractiveGraphDataContainerAttributes"/>
</xs:attributeGroup>
<xs:element name="InfiViewType">
<xs:annotation>
<xs:documentation>Basic class for element and edge type classes.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InfiViewTypeAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InfiViewTypeAttributes">
</xs:attributeGroup>
<xs:element name="InfiViewViewport">
<xs:annotation>
<xs:documentation>Viewport specialized for representing different charts using the edge api
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InfiViewViewportAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InfiViewViewportAttributes">
<xs:attributeGroup ref="InteractiveGraphViewportAttributes"/>
<xs:attribute name="infiView" type="xs:string">
<xs:annotation>
<xs:documentation>Type:EDIT_THIS - EDIT_THIS</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="InfiViewViewportModel">
<xs:annotation>
<xs:documentation>Specialized model for the infiview.GraphViewport which handles very
large graphs.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InfiViewViewportModelAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InfiViewViewportModelAttributes">
<xs:attributeGroup ref="InteractiveGraphViewportModelAttributes"/>
</xs:attributeGroup>
<xs:element name="InteractiveGraphDataContainer">
<xs:annotation>
<xs:documentation>Wrapper class for objects inserted into a infiview.GraphViewportDatamodel
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InteractiveGraphDataContainerAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InteractiveGraphDataContainerAttributes">
<xs:attributeGroup ref="GraphDataContainerAttributes"/>
</xs:attributeGroup>
<xs:element name="InteractiveGraphViewport">
<xs:annotation>
<xs:documentation>Viewport specialized for representing different interactive charts.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InteractiveGraphViewportAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InteractiveGraphViewportAttributes">
<xs:attributeGroup ref="GraphViewportAttributes"/>
<xs:attribute name="edgeMode" type="xs:string">
<xs:annotation>
<xs:documentation>Type:boolean - Edge mode enabled / disabled</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="multiSelection" type="xs:string">
<xs:annotation>
<xs:documentation>Type:Boolean - If this value is set to true it enables multipe selection of elements
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="InteractiveGraphViewportModel">
<xs:annotation>
<xs:documentation>Specialized model of the infiview.GraphViewport which adds additional features for
interactivity.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="InteractiveGraphViewportModelAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="InteractiveGraphViewportModelAttributes">
<xs:attributeGroup ref="GraphViewportModelAttributes"/>
</xs:attributeGroup>
<xs:element name="MarqueeSelector">
<xs:annotation>
<xs:documentation>This component can be used as a wireframe for selecting components on a drawing area. Add
this to the same area and
on the mousedown event call startSelection(e) passing the BiMouseEvent object from the mousedown event
handler as
the parameter e.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="MarqueeSelectorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="MarqueeSelectorAttributes">
<xs:attribute name="onselectionprogress" type="xs:string">
<xs:annotation>
<xs:documentation>.SelectionEvent Fires continually during the resizing of the wireframe
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onselectionend" type="xs:string">
<xs:annotation>
<xs:documentation>.SelectionEvent This is fired when the user releases the mouse button to signal
that the selection is complete.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onselectionstart" type="xs:string">
<xs:annotation>
<xs:documentation>This is fired before the selection is starts. To prevent the wireframe
from being displayed call
preventDefault
on the event object.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="NodeDefinition">
<xs:annotation>
<xs:documentation>This class represents a node definition.
A node type can contain 1-* node definitions.
The node definition keeps information about how a node should be created.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="NodeDefinitionAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="NodeDefinitionAttributes">
</xs:attributeGroup>
<xs:element name="NodeDefinitionConstructor">
<xs:annotation>
<xs:documentation>Node constuctor holder for InfiViewComponentDataContainer.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="NodeDefinitionConstructorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="NodeDefinitionConstructorAttributes">
<xs:attributeGroup ref="ComponentDataConstructorAttributes"/>
</xs:attributeGroup>
<xs:element name="NodeType">
<xs:annotation>
<xs:documentation>The class infiview.NodeType is used by infiview.InfiView.
This class holds the information how to create a data container for
a specific node type.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="NodeTypeAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="NodeTypeAttributes">
<xs:attributeGroup ref="InfiViewTypeAttributes"/>
</xs:attributeGroup>
<xs:element name="NodeTypes">
<xs:annotation>
<xs:documentation>Container for node types.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="NodeTypesAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="NodeTypesAttributes">
<xs:attributeGroup ref="TypeTableAttributes"/>
</xs:attributeGroup>
<xs:element name="PreviewImage">
<xs:annotation>
<xs:documentation>This class is used for showing images.
Supported image types are GIF, JPEG and PNG (including support for 32-bit RGBA).
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="PreviewImageAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="PreviewImageAttributes">
<!--<xs:attribute name="onload" type="xs:string">-->
<!--<xs:annotation>-->
<!--<xs:documentation>Fires when the image loads. Note that the image file may be-->
<!--loaded before the constructor finishes and you should not only-->
<!--rely on this event but also use loaded property.-->
<!--</xs:documentation>-->
<!--</xs:annotation>-->
<!--</xs:attribute>-->
<xs:attribute name="onerror" type="xs:string">
<xs:annotation>
<xs:documentation>Fires when the image failed to load.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="PropertyForm">
<xs:annotation>
<xs:documentation>The class infiview.PropertyForm is used by infiview.InfiView.
This class holds information for creating a property form
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="PropertyFormAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="PropertyFormAttributes">
</xs:attributeGroup>
<xs:element name="PropertyForms">
<xs:annotation>
<xs:documentation>The class infiview.PropertyForms is used by infiview.InfiView.
This class is a container holding PropertyForm objects.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="PropertyFormsAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="PropertyFormsAttributes">
</xs:attributeGroup>
<xs:element name="Resources">
<xs:annotation>
<xs:documentation>The class infiview.Resources is used by infiview.InfiView.
Container for the resources.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ResourcesAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ResourcesAttributes">
</xs:attributeGroup>
<xs:element name="RTree">
<xs:annotation>
<xs:documentation>R-Tree implementation. The R-tree is a tree designed to make fast
searches of rectangular areas.
Code is based on Guttman, A. "R-Trees: A Dynamic Index Structure for
Spatial Searching", ACM 1984.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="RTreeAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="RTreeAttributes">
</xs:attributeGroup>
<xs:element name="Selection">
<xs:annotation>
<xs:documentation>Adds a selection wireframe around multiple nodes that can then be dragged with the mouse.
Nodes can be added to and removed from the selection as needed.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="SelectionAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="SelectionAttributes">
<!--<xs:attributeGroup ref="AbstractSelectionAttributes"/>-->
<xs:attribute name="border" type="xs:string">
<xs:annotation>
<xs:documentation>Type: BiBorder - Sets the default appearance of the wireframe</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onchange" type="xs:string">
<xs:annotation>
<xs:documentation>.Event Fired when nodes are added to and removed from the selection</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onmovestart" type="xs:string">
<xs:annotation>
<xs:documentation>.Event Fired when user starts dragging the selection</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onmoveend" type="xs:string">
<xs:annotation>
<xs:documentation>.Event Fired when user has finished dragging the selection</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="SelectionEvent">
<xs:annotation>
<xs:documentation>The event dispatched by infiview.MarqueeSelector.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="SelectionEventAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="SelectionEventAttributes">
</xs:attributeGroup>
<xs:element name="State">
<xs:annotation>
<xs:documentation>The class infiview.State is used by infiview.InfiView.
This class represents a state.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="StateAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="StateAttributes">
</xs:attributeGroup>
<xs:element name="States">
<xs:annotation>
<xs:documentation>The class infiview.States is used by infiview.InfiView.
Container of states.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="StatesAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="StatesAttributes">
</xs:attributeGroup>
<xs:element name="ToolGroup">
<xs:annotation>
<xs:documentation>The class infiview.ToolGroup is used by infiview.InfiView.
Container for tools, when tools are layout every group will separated.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ToolGroupAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ToolGroupAttributes">
<xs:attribute name="upActions" type="xs:string">
<xs:annotation>
<xs:documentation>Type:infiview.InfiView - This method binds certains tool components events to infiview
actions.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="Tools">
<xs:annotation>
<xs:documentation>The class infiview.Tools is used by infiview.InfiView.
TODO: Describe the purpose of this class.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ToolsAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ToolsAttributes">
</xs:attributeGroup>
<xs:element name="TypeTable">
<xs:annotation>
<xs:documentation>The class infiview.TypeTable is used by infiview.InfiView.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="TypeTableAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="TypeTableAttributes">
</xs:attributeGroup>
<xs:element name="ViewportMarqueeSelector">
<xs:annotation>
<xs:documentation>This component can be used as a wireframe for selecting components on a drawing area. Add
this to the same area and
on the mousedown event call startSelection(e) passing the infiview.MouseEvent object from the mousedown
event handler as
the parameter e.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ViewportMarqueeSelectorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ViewportMarqueeSelectorAttributes">
<xs:attributeGroup ref="MarqueeSelectorAttributes"/>
<!--<xs:attribute name="onselectionprogress" type="xs:string">-->
<!--<xs:annotation>-->
<!--<xs:documentation>.SelectionEvent Fires continually during the resizing of the wireframe-->
<!--</xs:documentation>-->
<!--</xs:annotation>-->
<!--</xs:attribute>-->
<!--<xs:attribute name="onselectionend" type="xs:string">-->
<!--<xs:annotation>-->
<!--<xs:documentation>.SelectionEvent This is fired when the user releases the mouse button to signal-->
<!--that the selection is complete.-->
<!--</xs:documentation>-->
<!--</xs:annotation>-->
<!--</xs:attribute>-->
<!--<xs:attribute name="onselectionstart" type="xs:string">-->
<!--<xs:annotation>-->
<!--<xs:documentation>.Event This is fired before the selection is starts. To prevent the wireframe-->
<!--from being displayed call-->
<!--preventDefault-->
<!--on the event object.-->
<!--</xs:documentation>-->
<!--</xs:annotation>-->
<!--</xs:attribute>-->
</xs:attributeGroup>
<xs:element name="ViewportNavigator">
<xs:annotation>
<xs:documentation>This class implements the basic viewport navigator.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ViewportNavigatorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ViewportNavigatorAttributes">
<xs:attribute name="cursorColor" type="xs:string">
<xs:annotation>
<xs:documentation>Type:String - Sets the color of the cursor.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:element name="ViewportNavigatorCursor">
<xs:annotation>
<xs:documentation>TODO: Document class.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ViewportNavigatorCursorAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ViewportNavigatorCursorAttributes">
</xs:attributeGroup>
<xs:element name="ViewportRectangle">
<xs:annotation>
<xs:documentation>Helping class for describing a bounding rectangle in viewports.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ViewportRectangleAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ViewportRectangleAttributes">
</xs:attributeGroup>
<xs:element name="ZoomableViewportModel">
<xs:annotation>
<xs:documentation>This is the is foundation for all viewport data models which are
used to manage the information on which infiview.ZoomableViewport
decendents are dependent on. The data model should either store
lightweight information about components or manage communication
with information on a server.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:choice>
<xs:group ref="InfiViewComponentsGroup" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
<xs:attributeGroup ref="ZoomableViewportModelAttributes"/>
</xs:complexType>
</xs:element>
<xs:attributeGroup name="ZoomableViewportModelAttributes">
<xs:attributeGroup ref="AbstractViewportModelAttributes"/>
<xs:attribute name="nearestZoomFactor" type="xs:string">
<xs:annotation>
<xs:documentation>Type:Number - Set nearest available zoom factor</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="nearestLowerZoomFactor" type="xs:string">
<xs:annotation>
<xs:documentation>Type:Number - Set nearest lower available zoom factor</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="zoomFactorModel" type="xs:string">
<xs:annotation>
<xs:documentation>Type:infiview.ZoomFactorModel - Set the zoom factor model.</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="onzoomfactorchange" type="xs:string">
<xs:annotation>
<xs:documentation>Dispatched when the zoom level changes.</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:attributeGroup>
<xs:group name="InfiViewComponentsGroup">
<xs:choice>
<!--<xs:group ref="bi:BindowsComponentsGroup"/>-->
<xs:element ref="AbstractViewport" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ComponentViewport" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="GraphViewport" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InteractiveGraphViewport" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InfiViewViewport" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="AbstractViewportModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ZoomableViewportModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ComponentViewportModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="GraphViewportModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InteractiveGraphViewportModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InfiViewViewportModel" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Actions" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ComponentDataConstructor" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="NodeDefinitionConstructor" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="DrawAnchor" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="EventListener" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="EventListeners" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InfiViewType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="EdgeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="NodeType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="MarqueeSelector" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ViewportMarqueeSelector" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="NodeDefinition" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PreviewImage" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PropertyForm" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="PropertyForms" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Resources" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="RTree" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Selection" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="SelectionEvent" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="State" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="States" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ToolGroup" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="Tools" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="TypeTable" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="EdgeTypes" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="NodeTypes" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ViewportNavigator" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="DynamicPreviewViewportNavigator" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ViewportNavigatorCursor" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="ViewportRectangle" minOccurs="0" maxOccurs="unbounded"/>
<!--<xs:element ref="AbstractDataContainer" minOccurs="0" maxOccurs="unbounded"/>-->
<xs:element ref="ComponentDataContainer" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="GraphDataContainer" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InteractiveGraphDataContainer" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InfiViewComponentDataContainer" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:group>
<!--These infiview specific elements are allowed inside normal Bindows component elements -->
<xs:group name="ElementsAllowedExternally">
<xs:choice>
<xs:element ref="ViewportNavigator" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="InfiViewViewport" minOccurs="0" maxOccurs="unbounded"/>
</xs:choice>
</xs:group>
</xs:schema>