com.esri.arcgis.schematic
Interface INgProjectEvents

All Superinterfaces:
EventListener, Serializable
All Known Implementing Classes:
INgProjectEventsAdapter, INgProjectEventsProxy, SchematicAlgoLabelPlacementOptimizer, SchematicAlgoMarkCrossings, SchematicAlgoRotateNodesAlongLinks, SchematicProjectMgr

public interface INgProjectEvents
extends EventListener, Serializable

Provides access to events that occur on the graphic project.

Product Availability

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

See Also:
INgProject

Method Summary
 void afterCloseProject(INgProjectEventsAfterCloseProjectEvent theEvent)
          Fires after the project closure.
 void afterOpenDiagram(INgProjectEventsAfterOpenDiagramEvent theEvent)
          Fires after any diagram opening.
 void afterOpenProject(INgProjectEventsAfterOpenProjectEvent theEvent)
          Fires after the project opening.
 void afterOpenView(INgProjectEventsAfterOpenViewEvent theEvent)
          Fires after any view opening.
 void afterSaveProject(INgProjectEventsAfterSaveProjectEvent theEvent)
          Fires after the project saving.
 void beforeCloseDiagram(INgProjectEventsBeforeCloseDiagramEvent theEvent)
          Fires before any diagram closure.
 void beforeCloseProject(INgProjectEventsBeforeCloseProjectEvent theEvent)
          Fires before the project closes.
 void beforeCloseView(INgProjectEventsBeforeCloseViewEvent theEvent)
          Fires before any view closure.
 void beforeInitProject(INgProjectEventsBeforeInitProjectEvent theEvent)
          Fires before the project initializes.
 void beforeOpenDiagram(INgProjectEventsBeforeOpenDiagramEvent theEvent)
          Fires before any diagram opening.
 void beforeOpenProject(INgProjectEventsBeforeOpenProjectEvent theEvent)
          Fires before the project opens.
 void beforeOpenView(INgProjectEventsBeforeOpenViewEvent theEvent)
          Fires before any view opening.
 void isDiagramOpenedByFramework(INgProjectEventsIsDiagramOpenedByFrameworkEvent theEvent)
          Fires when opening any diagram.
 void isDiagramSavedByFramework(INgProjectEventsIsDiagramSavedByFrameworkEvent theEvent)
          Fires when saving any diagram.
 void isDigitEnabled(INgProjectEventsIsDigitEnabledEvent theEvent)
          Returns TRUE if the digitizing tool is enabled or not.
 void isDigitMadeByFramework(INgProjectEventsIsDigitMadeByFrameworkEvent theEvent)
          Fires when digitizing.
 void isDigitTypeEnabled(INgProjectEventsIsDigitTypeEnabledEvent theEvent)
          Returns TRUE if the digitizing is enabled for the 'eltType' element type.
 void isElementRemoved(INgProjectEventsIsElementRemovedEvent theEvent)
          Fires when removing any element in any diagram.
 void isPrintMadeByFramework(INgProjectEventsIsPrintMadeByFrameworkEvent theEvent)
          Fires when printing any view.
 void isRemoveEnabledOnDiagram(INgProjectEventsIsRemoveEnabledOnDiagramEvent theEvent)
          Fires when any diagram is activate.
 void isSessionSavedByFramework(INgProjectEventsIsSessionSavedByFrameworkEvent theEvent)
          Fires when saving any schematic session.
 void isViewDestroyedByFramework(INgProjectEventsIsViewDestroyedByFrameworkEvent theEvent)
          Fires when deleting any view.
 void nameOfDigitDrawing(INgProjectEventsNameOfDigitDrawingEvent theEvent)
          Fires when users clicks the 'point' point while the drawing digitizing mode is enabled for the 'drawingType' type of drawings in the 'Diagram' diagram.
 void nameOfDigitLink(INgProjectEventsNameOfDigitLinkEvent theEvent)
          Fires when users clicks on the 'n1' and 'n2' nodes while the link digitizing mode is enabled for the 'LinkType' type of links in the 'Diagram' diagram.
 void nameOfDigitNode(INgProjectEventsNameOfDigitNodeEvent theEvent)
          Fires when users clicks the 'point' point while the node digitizing mode is enabled for the 'nodeType' type of nodes in the 'Diagram' diagram.
 void onAskForSelectFromSchematic(INgProjectEventsOnAskForSelectFromSchematicEvent theEvent)
          Fires when the user asks to select the objects related to the active schematic view's selection set in a view other than a schematic view (that is, a GIS geographic view, for instance).
 void onAskForSelectInSchematic(INgProjectEventsOnAskForSelectInSchematicEvent theEvent)
          Fires when the user asks to select in the schematic views all elements related to the selection set from a view other than a schematic view (that is, a GIS geographic view, for instance).
 void onChangeExtent(INgProjectEventsOnChangeExtentEvent theEvent)
          Fires when the extent of any view changes.
 void onClickOnElement(INgProjectEventsOnClickOnElementEvent theEvent)
          Fires when any element located at any position is clicked in any view using any type mouse click (see esriNgMouseClick).
 void onClickOnElementType(INgProjectEventsOnClickOnElementTypeEvent theEvent)
          Fires when any legend entry related to an element group is clicked in the legend window using any type mouse click (see esriNgMouseClick).
 void onClickOnFlag(INgProjectEventsOnClickOnFlagEvent theEvent)
          Fires when any flag is clicked in any view at any position using any type mouse click (see esriNgMouseClick).
 void onClickOnProperty(INgProjectEventsOnClickOnPropertyEvent theEvent)
          Fires when any legend entry related to a property is clicked in the legend window using any type mouse click (see esriNgMouseClick).
 void onClickOnPropertyFilter(INgProjectEventsOnClickOnPropertyFilterEvent theEvent)
          Fires when any legend entry related to a property filter is clicked in the legend window using any type mouse click (see esriNgMouseClick).
 void onClickOnView(INgProjectEventsOnClickOnViewEvent theEvent)
          Fires when any type mouse click (see esriNgMouseClick) occurs at any position in any view.
 void onConnectionChange(INgProjectEventsOnConnectionChangeEvent theEvent)
          Fires when the user disconnects any link in any view.
 void onDropElements(INgProjectEventsOnDropElementsEvent theEvent)
          Fires when a set of elements is drag-and-dropped in any view.
 void onKeyDownOnView(INgProjectEventsOnKeyDownOnViewEvent theEvent)
          Fires when any keyboard key is pressed on the keyboard while any view is active.
 void onMoveElements(INgProjectEventsOnMoveElementsEvent theEvent)
          Fires when the user moves a set of elements with the mouse in any view.
 void onRedraw(INgProjectEventsOnRedrawEvent theEvent)
          Fires when any view is redrawn.
 void onRefreshToolbar(INgProjectEventsOnRefreshToolbarEvent theEvent)
          Fires when toolbars refresh.
 void onSelectionChange(INgProjectEventsOnSelectionChangeEvent theEvent)
          Fires when the selection set changes in any view.
 void onStatusChange(INgProjectEventsOnStatusChangeEvent theEvent)
          Fires when any status message changes.
 void onTrace(INgProjectEventsOnTraceEvent theEvent)
          Fires for debugging purposes to trace the programme according the 'level' trace.
 

Method Detail

onKeyDownOnView

void onKeyDownOnView(INgProjectEventsOnKeyDownOnViewEvent theEvent)
                     throws IOException,
                            AutomationException
Fires when any keyboard key is pressed on the keyboard while any view is active.

Description

If an event impacting a view is declared in the project parameters file, this event is triggered before the OnKeyDownOnView event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onClickOnView(com.esri.arcgis.schematic.INgProjectEventsOnClickOnViewEvent)

onClickOnView

void onClickOnView(INgProjectEventsOnClickOnViewEvent theEvent)
                   throws IOException,
                          AutomationException
Fires when any type mouse click (see esriNgMouseClick) occurs at any position in any view.

Description

If an event impacting a view is declared in the project parameters file, this event is triggered before the OnClickOnView event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onKeyDownOnView(com.esri.arcgis.schematic.INgProjectEventsOnKeyDownOnViewEvent)

onClickOnElement

void onClickOnElement(INgProjectEventsOnClickOnElementEvent theEvent)
                      throws IOException,
                             AutomationException
Fires when any element located at any position is clicked in any view using any type mouse click (see esriNgMouseClick).

Description

If an event impacting an element is declared in the project parameters file, this event is triggered before the OnClickOnElement event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onMoveElements(com.esri.arcgis.schematic.INgProjectEventsOnMoveElementsEvent), INgProjectEvents.onClickOnFlag(com.esri.arcgis.schematic.INgProjectEventsOnClickOnFlagEvent)

onClickOnElementType

void onClickOnElementType(INgProjectEventsOnClickOnElementTypeEvent theEvent)
                          throws IOException,
                                 AutomationException
Fires when any legend entry related to an element group is clicked in the legend window using any type mouse click (see esriNgMouseClick).

Description

If an event impacting an element type is declared in the project parameters file, this event is triggered before the OnClickOnElementType event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onClickOnProperty(com.esri.arcgis.schematic.INgProjectEventsOnClickOnPropertyEvent)

onClickOnProperty

void onClickOnProperty(INgProjectEventsOnClickOnPropertyEvent theEvent)
                       throws IOException,
                              AutomationException
Fires when any legend entry related to a property is clicked in the legend window using any type mouse click (see esriNgMouseClick).

Description

If an event impacting any legend entry related to a property is declared in the project parameters file, this event is triggered before the OnClickOnProperty event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onClickOnPropertyFilter(com.esri.arcgis.schematic.INgProjectEventsOnClickOnPropertyFilterEvent)

onClickOnPropertyFilter

void onClickOnPropertyFilter(INgProjectEventsOnClickOnPropertyFilterEvent theEvent)
                             throws IOException,
                                    AutomationException
Fires when any legend entry related to a property filter is clicked in the legend window using any type mouse click (see esriNgMouseClick).

Description

If an event impacting any legend entry related to a property filter is declared in the project parameters file, this event is triggered before the OnClickOnPropertyFilter event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onClickOnProperty(com.esri.arcgis.schematic.INgProjectEventsOnClickOnPropertyEvent)

onClickOnFlag

void onClickOnFlag(INgProjectEventsOnClickOnFlagEvent theEvent)
                   throws IOException,
                          AutomationException
Fires when any flag is clicked in any view at any position using any type mouse click (see esriNgMouseClick).

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onClickOnElement(com.esri.arcgis.schematic.INgProjectEventsOnClickOnElementEvent)

onSelectionChange

void onSelectionChange(INgProjectEventsOnSelectionChangeEvent theEvent)
                       throws IOException,
                              AutomationException
Fires when the selection set changes in any view.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onMoveElements

void onMoveElements(INgProjectEventsOnMoveElementsEvent theEvent)
                    throws IOException,
                           AutomationException
Fires when the user moves a set of elements with the mouse in any view.

Description

The event procedure returns the deltaX and deltaY parameter values that specify the horizontal and vertical translation distance applied to the moved elements (as calculated in user coordinates).

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 schematic elements are moved using the GUI tools; that is when end-users move schematic elements 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 INgProjectEvents::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.

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onDropElements(com.esri.arcgis.schematic.INgProjectEventsOnDropElementsEvent)

onDropElements

void onDropElements(INgProjectEventsOnDropElementsEvent theEvent)
                    throws IOException,
                           AutomationException
Fires when a set of elements is drag-and-dropped in any view.

Description

The event procedure returns the deltaX and deltaY parameter values that specify the horizontal and vertical translation distance applied to the moved elements (as calculated in user coordinates), and the targetX and targetY parameter values that provide the final X and Y coordinates for these moved elements.

Remarks

This callack is fired only when elements are moved when the Drag-an-Drop mode is enabled.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onConnectionChange

void onConnectionChange(INgProjectEventsOnConnectionChangeEvent theEvent)
                        throws IOException,
                               AutomationException
Fires when the user disconnects any link in any view.

Description

The event procedure indicates that the connections of the link ‘link’ in the view ‘view’ have been modified.

When this event is fired, the link which is being disconnected to its initial origin and/or extremity node can:

- have its FromNode and/or ToNode property set to NULL (case of a link which has just been disconnected without being reconnected to other existing nodes)

- have not NULL FromNode and ToNode properties: In the same user operation, the link has been disconnected and reconnected to an existing origin or extremity node.

By default, for disconnecting any link, you must enable the Edit/Move mode and maintain the Ctrl keyboard key pressed. In this case, any link's connection clicked and moved will be graphically modified.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onAskForSelectInSchematic

void onAskForSelectInSchematic(INgProjectEventsOnAskForSelectInSchematicEvent theEvent)
                               throws IOException,
                                      AutomationException
Fires when the user asks to select in the schematic views all elements related to the selection set from a view other than a schematic view (that is, a GIS geographic view, for instance).

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onAskForSelectFromSchematic(com.esri.arcgis.schematic.INgProjectEventsOnAskForSelectFromSchematicEvent)

onAskForSelectFromSchematic

void onAskForSelectFromSchematic(INgProjectEventsOnAskForSelectFromSchematicEvent theEvent)
                                 throws IOException,
                                        AutomationException
Fires when the user asks to select the objects related to the active schematic view's selection set in a view other than a schematic view (that is, a GIS geographic view, for instance).

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.onAskForSelectInSchematic(com.esri.arcgis.schematic.INgProjectEventsOnAskForSelectInSchematicEvent)

onTrace

void onTrace(INgProjectEventsOnTraceEvent theEvent)
             throws IOException,
                    AutomationException
Fires for debugging purposes to trace the programme according the 'level' trace.

Description

Three trace levels are available:

- Schematic traces the program by returning errors only (esriNgErrorLevel).

- Schematic traces the program by returning errors and warning messages (esriNgWarningLevel)

- Schematic traces the program by returning errors, warning messages and information messages during the program execution (esriNgInformationLevel).

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProject.setTraceLevel(int)

onStatusChange

void onStatusChange(INgProjectEventsOnStatusChangeEvent theEvent)
                    throws IOException,
                           AutomationException
Fires when any status message changes.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onRefreshToolbar

void onRefreshToolbar(INgProjectEventsOnRefreshToolbarEvent theEvent)
                      throws IOException,
                             AutomationException
Fires when toolbars refresh.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProject.refreshToolbars()

beforeInitProject

void beforeInitProject(INgProjectEventsBeforeInitProjectEvent theEvent)
                       throws IOException,
                              AutomationException
Fires before the project initializes.

Description

This event is automatically triggered when the project is opened. For more details on the Schematics events' chaining during the project opening, please see the Remarks section available from the INgProject Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.beforeOpenProject(com.esri.arcgis.schematic.INgProjectEventsBeforeOpenProjectEvent)

beforeOpenProject

void beforeOpenProject(INgProjectEventsBeforeOpenProjectEvent theEvent)
                       throws IOException,
                              AutomationException
Fires before the project opens.

Description

This event is automatically fired when the project is opened. For more details on the Schematics events' chaining during the project opening, please see the Remarks section available from the INgProject Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.beforeInitProject(com.esri.arcgis.schematic.INgProjectEventsBeforeInitProjectEvent)

afterOpenProject

void afterOpenProject(INgProjectEventsAfterOpenProjectEvent theEvent)
                      throws IOException,
                             AutomationException
Fires after the project opening.

Description

This event is automatically fired during the project opening process. For more details on the Schematics events' chaining during the project opening, please see the Remarks section available from the INgProject Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.beforeOpenProject(com.esri.arcgis.schematic.INgProjectEventsBeforeOpenProjectEvent), INgProjectEvents.afterOpenDiagram(com.esri.arcgis.schematic.INgProjectEventsAfterOpenDiagramEvent), INgProject.open(boolean, boolean)

afterSaveProject

void afterSaveProject(INgProjectEventsAfterSaveProjectEvent theEvent)
                      throws IOException,
                             AutomationException
Fires after the project saving.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

beforeCloseProject

void beforeCloseProject(INgProjectEventsBeforeCloseProjectEvent theEvent)
                        throws IOException,
                               AutomationException
Fires before the project closes.

Description

This event is automatically fired when the project is closing. For more details on the Schematics events' chaining during project closure, please see the Remarks section available from the INgProject Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProject.close(), INgProjectEvents.beforeCloseDiagram(com.esri.arcgis.schematic.INgProjectEventsBeforeCloseDiagramEvent)

afterCloseProject

void afterCloseProject(INgProjectEventsAfterCloseProjectEvent theEvent)
                       throws IOException,
                              AutomationException
Fires after the project closure.

Description

This event is automatically fired when the project is closing. For more details on the Schematics events' chaining during project closure, please see the Remarks section available from the INgProject Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProject.close(), INgProjectEvents.beforeCloseProject(com.esri.arcgis.schematic.INgProjectEventsBeforeCloseProjectEvent)

beforeOpenDiagram

void beforeOpenDiagram(INgProjectEventsBeforeOpenDiagramEvent theEvent)
                       throws IOException,
                              AutomationException
Fires before any diagram opening.

Description

This event is automatically triggered when a diagram is opened. For more details on the Schematics events' chaining during any diagram opening, please see the Remarks section available from the INgDiagram Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.afterOpenDiagram(com.esri.arcgis.schematic.INgProjectEventsAfterOpenDiagramEvent), INgDiagram.open()

afterOpenDiagram

void afterOpenDiagram(INgProjectEventsAfterOpenDiagramEvent theEvent)
                      throws IOException,
                             AutomationException
Fires after any diagram opening.

Description

This event is automatically fired when a diagram is opened. For more details on the Schematics events' chaining during any diagram opening, please see the Remarks section available from the INgDiagram Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.beforeOpenDiagram(com.esri.arcgis.schematic.INgProjectEventsBeforeOpenDiagramEvent), INgDiagram.open()

beforeCloseDiagram

void beforeCloseDiagram(INgProjectEventsBeforeCloseDiagramEvent theEvent)
                        throws IOException,
                               AutomationException
Fires before any diagram closure. Returns TRUE to abort the close process.

Description

The event tells that the diagram ‘diagram’ is being closed, and indicates that:

- The INgDiagram Close method has been called; that is the fromAPI parameter returns TRUE,

- The diagram has been closed by clicking the little cross button in the window upper right-hand corner; that is the fromAPI parameter returns FALSE.

Remarks

For more details on the Schematics events' chaining during the diagram closure, please see the Remarks section available from the INgDiagram Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgDiagram.close(), INgProjectEvents.beforeCloseView(com.esri.arcgis.schematic.INgProjectEventsBeforeCloseViewEvent)

afterOpenView

void afterOpenView(INgProjectEventsAfterOpenViewEvent theEvent)
                   throws IOException,
                          AutomationException
Fires after any view opening.

Description

This event is automatically triggered when a diagram is opened. For more details on the Schematics events' chaining during any diagram opening, please see the Remarks section available from the INgDiagram Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.afterOpenDiagram(com.esri.arcgis.schematic.INgProjectEventsAfterOpenDiagramEvent)

beforeCloseView

void beforeCloseView(INgProjectEventsBeforeCloseViewEvent theEvent)
                     throws IOException,
                            AutomationException
Fires before any view closure.

Description

The event tells that the view ‘view’ is being closed, and indicates that:

- The INgView Close method has been called; that is the fromAPI parameter returns TRUE,

- The view has been closed by clicking the little cross button in the window upper right-hand corner; that is the fromAPI parameter returns FALSE.

Remarks

For more details on the Schematics events' chaining during the diagram closure, please see the Remarks section available from the INgDiagram Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgView.close(), INgProjectEvents.beforeCloseDiagram(com.esri.arcgis.schematic.INgProjectEventsBeforeCloseDiagramEvent)

beforeOpenView

void beforeOpenView(INgProjectEventsBeforeOpenViewEvent theEvent)
                    throws IOException,
                           AutomationException
Fires before any view opening. Returns the handle and the parent handle for the view.

Description

This event is automatically fired before a diagram is opened. By default, if windows are created by Schematics, the view handle number is 0, and the event does not need to be implemented. For more details on the Schematics events' chaining during any diagram opening, please see the Remarks section available from the INgDiagram Open method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.beforeOpenDiagram(com.esri.arcgis.schematic.INgProjectEventsBeforeOpenDiagramEvent)

isSessionSavedByFramework

void isSessionSavedByFramework(INgProjectEventsIsSessionSavedByFrameworkEvent theEvent)
                               throws IOException,
                                      AutomationException
Fires when saving any schematic session. Returns TRUE if the session is saved by the framework, and FALSE if this is handled by the application.

Description

By default, when the schematic session is closed, Schematics asks user whether he wants to save the changes or not before closing it. If the IsSessionSavedByFramework event is set to return FALSE, Schematics will not ask anything

Note that if the session's SaveMode property is set, priority is given to this property: thus, if the IsSessionSavedByFramework event is set to return FALSE and if the SaveMode property is set to esriNgSaveByFramework, when the session is closed, user will be asked whether he wants to save the changes or not.

Remarks

For more details on the Schematics events' chaining during project closure, please see the Remarks section available from the INgProject Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProject, INgProjectViews.saveSession(String)

isDiagramSavedByFramework

void isDiagramSavedByFramework(INgProjectEventsIsDiagramSavedByFrameworkEvent theEvent)
                               throws IOException,
                                      AutomationException
Fires when saving any diagram. Returns TRUE if the diagram is saved by the framework, and FALSE if this is handled by the application.

Description

By default, when a diagram is being closed, Schematics asks user if he wants to save the changes before closing it. If the IsDiagramSavedByFramework event is set to return FALSE for all diagrams, Schematics will not ask whether he wants to save them or not.

Note that if your diagram's SaveMode property is set, priority is given to this property: thus, if the IsDiagramSavedByFramework event is set to return FALSE for all diagrams and if, for a given diagram, the SaveMode property is set to esriNgSaveByFramework, when this diagram is being closed, user will be asked whether he wants to save his changes or not.

Remarks

For more details on the Schematics events' chaining during the diagram closure, please see the Remarks section available from the INgDiagram Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isSessionSavedByFramework(com.esri.arcgis.schematic.INgProjectEventsIsSessionSavedByFrameworkEvent), INgDiagram.save()

isViewDestroyedByFramework

void isViewDestroyedByFramework(INgProjectEventsIsViewDestroyedByFrameworkEvent theEvent)
                                throws IOException,
                                       AutomationException
Fires when deleting any view. Returns TRUE if the view destruction is managed by the framework, and FALSE if this is handled by the application.

Description

The event tells that the view ‘view’ is being destroyed, and indicates that:

- The INgView Close method has been called; that is the fromAPI parameter returns TRUE,

- The view has been closed by clicking the little cross button in the window upper right-hand corner; that is the fromAPI parameter returns FALSE.

By default, if schematic windows are created by Schematics, this event does'nt need to be implemented.

Remarks

For more details on the Schematics events' chaining during the diagram closure, please see the Remarks section available from the INgDiagram Close method help-page.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isPrintMadeByFramework

void isPrintMadeByFramework(INgProjectEventsIsPrintMadeByFrameworkEvent theEvent)
                            throws IOException,
                                   AutomationException
Fires when printing any view. Returns TRUE if the view printing is managed by the framework, and FALSE if this is handled by the application.

Description

By default, if the IsPrintMadeByFramework event is not implemented (or if it returns TRUE), Schematics brings up the default printing dialog box.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgView.printView(String, boolean), INgView.printWithTitleBlock(int, com.esri.arcgis.schematic.INgDrawing, String, boolean)

isDiagramOpenedByFramework

void isDiagramOpenedByFramework(INgProjectEventsIsDiagramOpenedByFrameworkEvent theEvent)
                                throws IOException,
                                       AutomationException
Fires when opening any diagram. Returns TRUE if the diagram opening is managed by the framework (that is, the predefined Schematics 'Select diagram to open' dialog box opens), and FALSE if this is handled by the application.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProject.openDiagramForm()

isDigitMadeByFramework

void isDigitMadeByFramework(INgProjectEventsIsDigitMadeByFrameworkEvent theEvent)
                            throws IOException,
                                   AutomationException
Fires when digitizing. Returns TRUE if the digitizing is managed by the framework (that is, the predefined Schematics 'Select element type to create' dialog box opens), and FALSE if this is handled by the application.

Description

Generally, the schematic elements digitizing mode is activated by using the INgProject SetInteractor method, but you can also trigger the predefined CommandSetDigitMode command to activate this mode. In this case, the CommandSetDigitMode triggering automatically opens the predefined 'Select element type to create' dialog box. If you do not want this predefined dialog box to be opened and if you want to open your own applicative dialog box, you need to customize the IsDigitMadeByFramework event.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isDigitEnabled(com.esri.arcgis.schematic.INgProjectEventsIsDigitEnabledEvent)

isElementRemoved

void isElementRemoved(INgProjectEventsIsElementRemovedEvent theEvent)
                      throws IOException,
                             AutomationException
Fires when removing any element in any diagram. Returns TRUE if the element can be removed.

Description

Generally, Schematics applications use this event to remove an element in the database before Schematics graphically removes the related element in the diagrams where it appears (in the case the value returned by the event is TRUE).

Note that an element can be graphically removed without being removed in the database. In this case, updating the diagram at a later stage causes the element to re-appear.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isRemoveEnabledOnDiagram(com.esri.arcgis.schematic.INgProjectEventsIsRemoveEnabledOnDiagramEvent)

isRemoveEnabledOnDiagram

void isRemoveEnabledOnDiagram(INgProjectEventsIsRemoveEnabledOnDiagramEvent theEvent)
                              throws IOException,
                                     AutomationException
Fires when any diagram is activate. Returns TRUE if the removal is authorized in the active diagram.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isElementRemoved(com.esri.arcgis.schematic.INgProjectEventsIsElementRemovedEvent)

isDigitEnabled

void isDigitEnabled(INgProjectEventsIsDigitEnabledEvent theEvent)
                    throws IOException,
                           AutomationException
Returns TRUE if the digitizing tool is enabled or not.

Description

By default, the element digitizing is enabled. Schematics automatically calls this function when the esriNgModeDigit interactor is activated. If you want to lock digitizing, the IsDigitEnabled event must return FALSE.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isDigitMadeByFramework(com.esri.arcgis.schematic.INgProjectEventsIsDigitMadeByFrameworkEvent), INgProjectEvents.isDigitTypeEnabled(com.esri.arcgis.schematic.INgProjectEventsIsDigitTypeEnabledEvent)

isDigitTypeEnabled

void isDigitTypeEnabled(INgProjectEventsIsDigitTypeEnabledEvent theEvent)
                        throws IOException,
                               AutomationException
Returns TRUE if the digitizing is enabled for the 'eltType' element type.

Description

By default when the predefined CommandSetDigitMode command is triggered and when the digitizing is handled by Schematics, the predefined 'Select element to create' dialog box contains the list of all the element types defined for the currently opened project. The IsDigitTypeEnabled event can be customized to keep some given element type from being digitized.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isDigitEnabled(com.esri.arcgis.schematic.INgProjectEventsIsDigitEnabledEvent), INgProjectEvents.isDigitMadeByFramework(com.esri.arcgis.schematic.INgProjectEventsIsDigitMadeByFrameworkEvent)

nameOfDigitNode

void nameOfDigitNode(INgProjectEventsNameOfDigitNodeEvent theEvent)
                     throws IOException,
                            AutomationException
Fires when users clicks the 'point' point while the node digitizing mode is enabled for the 'nodeType' type of nodes in the 'Diagram' diagram. Returns the name of the newly digitized node.

Description

This event procedure must be used to specify the name of the 'nodeType' node element type which is being created in the diagram 'diagram' at the 'point' position.

Because of Schematics data-driven philosophy, it is better to create the associated element in the database during the event procedure execution. If you do not create them, your new elements will not be displayed after having updated the diagram or the next time this diagram is opened again.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isDigitMadeByFramework(com.esri.arcgis.schematic.INgProjectEventsIsDigitMadeByFrameworkEvent), INgProjectEvents.isDigitTypeEnabled(com.esri.arcgis.schematic.INgProjectEventsIsDigitTypeEnabledEvent), INgDiagram.createNode(com.esri.arcgis.schematic.INgElementType, String, double, double, boolean)

nameOfDigitLink

void nameOfDigitLink(INgProjectEventsNameOfDigitLinkEvent theEvent)
                     throws IOException,
                            AutomationException
Fires when users clicks on the 'n1' and 'n2' nodes while the link digitizing mode is enabled for the 'LinkType' type of links in the 'Diagram' diagram. Returns the name of the newly digitized link.

Description

This event must be used to specify the name of the 'linkType' link element type which is being created in the diagram 'diagram' between the node ‘n1’ and ‘n2’. The newly created link is attached to the ‘n1’ node via the ‘port1’ link port, and to the ‘n2’ node via the ‘port2’ link port. The ‘pts’ list of points returns the list of intermediate points defined during the digitizing (that is, the list of points defined each time the user has clicked in the background view between the moment the ‘n1’ origin node has been clicked and the moment the ‘n2’ extremity node has been clicked).

As is the case with a digitized node, it is better to create the associated element in the database during the event procedure execution. If you do not create them, your new elements will not be displayed after having updated the diagram or the next time this diagram is opened again.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isDigitMadeByFramework(com.esri.arcgis.schematic.INgProjectEventsIsDigitMadeByFrameworkEvent), INgProjectEvents.isDigitTypeEnabled(com.esri.arcgis.schematic.INgProjectEventsIsDigitTypeEnabledEvent), INgDiagram.createLink(com.esri.arcgis.schematic.INgElementType, String, com.esri.arcgis.schematic.INgNode, com.esri.arcgis.schematic.INgNode, int, int, boolean)

nameOfDigitDrawing

void nameOfDigitDrawing(INgProjectEventsNameOfDigitDrawingEvent theEvent)
                        throws IOException,
                               AutomationException
Fires when users clicks the 'point' point while the drawing digitizing mode is enabled for the 'drawingType' type of drawings in the 'Diagram' diagram. Returns the name of the newly digitized drawing.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgProjectEvents.isDigitTypeEnabled(com.esri.arcgis.schematic.INgProjectEventsIsDigitTypeEnabledEvent), INgDiagram.createDrawing(com.esri.arcgis.schematic.INgElementType, String, double, double, boolean)

onRedraw

void onRedraw(INgProjectEventsOnRedrawEvent theEvent)
              throws IOException,
                     AutomationException
Fires when any view is redrawn.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
INgView.redraw(int)

onChangeExtent

void onChangeExtent(INgProjectEventsOnChangeExtentEvent theEvent)
                    throws IOException,
                           AutomationException
Fires when the extent of any view changes.

Product Availability

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

Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.