com.esri.arcgis.schematic
Class SchematicRelationController

java.lang.Object
  extended by com.esri.arcgis.schematic.SchematicRelationController
All Implemented Interfaces:
com.esri.arcgis.interop.RemoteObjRef, ISchematicRelationController, ISchematicRelationControllerEdit, ISchematicRelationControllerEvent, ISchematicRelationControllerTool, Serializable

public class SchematicRelationController
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ISchematicRelationController, ISchematicRelationControllerEdit, ISchematicRelationControllerTool, ISchematicRelationControllerEvent

Schematic relation controller object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
Serialized Form

Constructor Summary
SchematicRelationController()
          Constructs a SchematicRelationController using ArcGIS Engine.
SchematicRelationController(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SchematicRelationController theSchematicRelationController = (SchematicRelationController) obj;
 
Method Summary
 void createRelation(INgElement child, INgElement parent)
          Creates a schematic relation between the specified child graphic element and the specified parent graphic element in memory.
 void deleteRelation(INgElement child)
          Deletes the schematic relation defined for the specified child graphic element.
 boolean equals(Object o)
          Compare this object with another
 INgElements findChildren(INgElement parent)
          Returns the children graphic elements for the specified parent graphic element.
 INgElement findParent(INgElement child)
          Returns the parent graphic element for the specified child graphic element.
 INgElements findParents(INgDiagram diagram)
          Returns all the parent graphic elements contained in the specified diagram.
static String getClsid()
          getClsid.
 ISchematicRelationManager getSchematicRelationManager(INgElement parent)
          Returns the schematic relation manager related to the specified parent graphic element.
 int hashCode()
          the hashcode for this object
 boolean isParent(INgElement element)
          Indicates if a graphic element is a parent.
 void loadSchematicRelations(ISchematicDiagram diagram)
          Loads the schematic relations related to the specified schematic diagram in memory.
 void onMoveElements(INgView view, INgElements elements, double deltaX, double deltaY)
          Fires when the user moves a set of graphic elements with the mouse in any graphic view.
 void redrawSchematicRelations(INgView view)
          Redraws the schematic relations in the specified graphic view.
 void setSchematicRelationManager(INgElement parent, ISchematicRelationManager relationManager)
          Sets the schematic relation manager related to the specified parent graphic element.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

SchematicRelationController

public SchematicRelationController()
                            throws IOException,
                                   UnknownHostException
Constructs a SchematicRelationController using ArcGIS Engine.

Throws:
IOException - if there are interop problems
UnknownHostException - if there are interop problems

SchematicRelationController

public SchematicRelationController(Object obj)
                            throws IOException
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
SchematicRelationController theSchematicRelationController = (SchematicRelationController) obj;

Construct a SchematicRelationController using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to SchematicRelationController.

Parameters:
obj - an object returned from ArcGIS Engine or Server
Throws:
IOException - if there are interop problems
Method Detail

getClsid

public static String getClsid()
getClsid.


equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

loadSchematicRelations

public void loadSchematicRelations(ISchematicDiagram diagram)
                            throws IOException,
                                   AutomationException
Loads the schematic relations related to the specified schematic diagram in memory.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
loadSchematicRelations in interface ISchematicRelationController
Parameters:
diagram - A reference to a com.esri.arcgis.schematic.ISchematicDiagram (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

redrawSchematicRelations

public void redrawSchematicRelations(INgView view)
                              throws IOException,
                                     AutomationException
Redraws the schematic relations in the specified graphic view.

Remarks

Itís the developer responsibility to call the ISchematicRelationController::RedrawSchematicRelations method for the related objects to be automatically redrawn when parent or child objects are moved by programming or after an algorithm execution. Please also note that programming the relations redraw on the INgProjectEvents::OnMoveElements or ISchematicRelationControllerEvent::OnMoveElements events will be completely unuseful because these events are only triggered when schematic elements are moved using the GUI tools; that is when end-users move schematic elements using the mouse or the keyboard arrows. So when elements are moved by programming using any "Move" method, the custom code specified on these events will be not fired. In this case, you must use the RedrawSchematicRelations either at the end of the move operations sequences in your custom procedure or customize the SchematicAlgorithmEvents::AfterExecuteAlgorithm event (when the "Move" methods are called during a custom algorithm).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
redrawSchematicRelations in interface ISchematicRelationController
Parameters:
view - A reference to a com.esri.arcgis.schematic.INgView (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

createRelation

public void createRelation(INgElement child,
                           INgElement parent)
                    throws IOException,
                           AutomationException
Creates a schematic relation between the specified child graphic element and the specified parent graphic element in memory.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
createRelation in interface ISchematicRelationControllerEdit
Parameters:
child - A reference to a com.esri.arcgis.schematic.INgElement (in)
parent - A reference to a com.esri.arcgis.schematic.INgElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

deleteRelation

public void deleteRelation(INgElement child)
                    throws IOException,
                           AutomationException
Deletes the schematic relation defined for the specified child graphic element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
deleteRelation in interface ISchematicRelationControllerEdit
Parameters:
child - A reference to a com.esri.arcgis.schematic.INgElement (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findParent

public INgElement findParent(INgElement child)
                      throws IOException,
                             AutomationException
Returns the parent graphic element for the specified child graphic element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
findParent in interface ISchematicRelationControllerTool
Parameters:
child - A reference to a com.esri.arcgis.schematic.INgElement (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgElement
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicRelationControllerTool.findParents(com.esri.arcgis.schematic.INgDiagram), ISchematicRelationControllerTool.isParent(com.esri.arcgis.schematic.INgElement)

findChildren

public INgElements findChildren(INgElement parent)
                         throws IOException,
                                AutomationException
Returns the children graphic elements for the specified parent graphic element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
findChildren in interface ISchematicRelationControllerTool
Parameters:
parent - A reference to a com.esri.arcgis.schematic.INgElement (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgElements
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicRelationControllerTool.findParent(com.esri.arcgis.schematic.INgElement), ISchematicRelationControllerTool.isParent(com.esri.arcgis.schematic.INgElement)

findParents

public INgElements findParents(INgDiagram diagram)
                        throws IOException,
                               AutomationException
Returns all the parent graphic elements contained in the specified diagram.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
findParents in interface ISchematicRelationControllerTool
Parameters:
diagram - A reference to a com.esri.arcgis.schematic.INgDiagram (in)
Returns:
A reference to a com.esri.arcgis.schematic.INgElements
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicRelationControllerTool.findParent(com.esri.arcgis.schematic.INgElement), ISchematicRelationControllerTool.isParent(com.esri.arcgis.schematic.INgElement)

isParent

public boolean isParent(INgElement element)
                 throws IOException,
                        AutomationException
Indicates if a graphic element is a parent.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
isParent in interface ISchematicRelationControllerTool
Parameters:
element - A reference to a com.esri.arcgis.schematic.INgElement (in)
Returns:
The result
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicRelationControllerTool.findParent(com.esri.arcgis.schematic.INgElement), ISchematicRelationControllerTool.findParents(com.esri.arcgis.schematic.INgDiagram)

getSchematicRelationManager

public ISchematicRelationManager getSchematicRelationManager(INgElement parent)
                                                      throws IOException,
                                                             AutomationException
Returns the schematic relation manager related to the specified parent graphic element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getSchematicRelationManager in interface ISchematicRelationControllerTool
Parameters:
parent - A reference to a com.esri.arcgis.schematic.INgElement (in)
Returns:
A reference to a com.esri.arcgis.schematic.ISchematicRelationManager
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicRelationControllerTool.setSchematicRelationManager(com.esri.arcgis.schematic.INgElement, com.esri.arcgis.schematic.ISchematicRelationManager)

setSchematicRelationManager

public void setSchematicRelationManager(INgElement parent,
                                        ISchematicRelationManager relationManager)
                                 throws IOException,
                                        AutomationException
Sets the schematic relation manager related to the specified parent graphic element.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
setSchematicRelationManager in interface ISchematicRelationControllerTool
Parameters:
parent - A reference to a com.esri.arcgis.schematic.INgElement (in)
relationManager - A reference to a com.esri.arcgis.schematic.ISchematicRelationManager (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISchematicRelationControllerTool.getSchematicRelationManager(com.esri.arcgis.schematic.INgElement)

onMoveElements

public void onMoveElements(INgView view,
                           INgElements elements,
                           double deltaX,
                           double deltaY)
                    throws IOException,
                           AutomationException
Fires when the user moves a set of graphic elements with the mouse in any graphic view.

Remarks

When elements are moved by programming using any "Move" method, the custom code specified on this event will be not fired. The OnMoveElements event is only triggered when containers are moved using the GUI tools; that is when end-users move containers using the mouse or the keyboard arrows. So if there are schematic relations as containers between schematics objects contained in a schematic diagram and you develop custom code that use any "Move" method, programming the relations redraw on the ISchematicRelationControllerEvent::OnMoveElements will be completely unuseful. In this case, you must force the relations redraw at the end of the move operations sequence in your custom procedure or customize the SchematicAlgorithmEvents::AfterExecuteAlgorithm event (when the "Move" methods are called during a custom algorithm).

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
onMoveElements in interface ISchematicRelationControllerEvent
Parameters:
view - A reference to a com.esri.arcgis.schematic.INgView (in)
elements - A reference to a com.esri.arcgis.schematic.INgElements (in)
deltaX - The deltaX (in)
deltaY - The deltaY (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.