com.esri.arcgis.editor
Class DimensionEditExtension

java.lang.Object
  extended by com.esri.arcgis.editor.DimensionEditExtension
All Implemented Interfaces:
IDimensionEditExtension, IEditEvents, IEditEvents2, IEditSketchExtension, com.esri.arcgis.interop.RemoteObjRef, IExtension, ISupportErrorInfo, Serializable, EventListener

public class DimensionEditExtension
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, IExtension, IDimensionEditExtension, IEditEvents, IEditEvents2, IEditSketchExtension, ISupportErrorInfo

An editor extension for creating and editing dimension features.

Remarks

DimensionEditExtension is an Editor extension used to manage and create Geodatabase annotation features. The DimensionEditExtension coclass can be accessed using IApplication::FindExtension and the CLSID for "esriEditor.DimensionEditExtension".

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface com.esri.arcgis.system.IExtension
IID, IID7f657ec9_dbf1_11d2_9f2f_00c04f6bc69e, xxDummy
 
Constructor Summary
DimensionEditExtension()
          Constructs a DimensionEditExtension using ArcGIS Engine.
DimensionEditExtension(Object obj)
          Deprecated. As of ArcGIS 9.2, replaced by normal Java casts.
DimensionEditExtension theDimensionEditExtension = (DimensionEditExtension) obj;
 
Method Summary
 void activate(IEditor editor)
          Called when the sketch extension is about to be used.
 void afterDrawSketch(IEditEventsAfterDrawSketchEvent theEvent)
          Called after the edit sketch is drawn.
 boolean applies(IEditor editor)
          Indicates whether this extension applies to the current edit environment.
 void beforeStopEditing(IEditEvents2BeforeStopEditingEvent theEvent)
          Fired before StopEditing happens.
 void beforeStopOperation(IEditEvents2BeforeStopOperationEvent theEvent)
          Called before StopOperation is called.
 void beforeStoreFeature(IFeature feature, IGeometry geometry)
          Lets the extension know the feature is about to be stored.
 IDisplayFeedback createFeedback()
          Called when a new feedback is needed.
 IGeometry createSketchGeometry(IFeature feature)
          The geometry that will be used in the sketch when modifying a feature.
 void deactivate()
          Called when the sketch extension is no longer needed.
 boolean equals(Object o)
          Compare this object with another
static String getClsid()
          getClsid.
 int getCreateStyleID()
          The style id of newly created dimension features.
 IEnumDimensionConstructor getDimensionConstructors()
          The dimension constructors for creating new dimensions.
 IEditor getEditor()
          The editor application extension.
 String getName()
          The name of the extension.
 int getSketchGeometryType()
          The geometry type used for the edit sketch when creating new features.
 int hashCode()
          the hashcode for this object
 void interfaceSupportsErrorInfo(GUID riid)
          interfaceSupportsErrorInfo
 boolean isCanDeleteVertices()
          Indicates whether the sketch allows the deleting of vertices.
 boolean isCanInsertVertices()
          Indicates whether the sketch allows the inserting of additional vertices.
 boolean isCanMoveVertices()
          Indicates whether the sketch allows the moving of vertices.
 boolean isDimensionTarget()
          Indicates if a dimension feature class is the current editor target.
 boolean isHasFeedback()
          Indicates whether the SketchExtension will use a custom feedback.
 void onAbort(IEditEvents2OnAbortEvent theEvent)
          Called when AbortOperation is called.
 void onChangeFeature(IEditEventsOnChangeFeatureEvent theEvent)
          Called when features are modified.
 void onConflictsDetected(IEditEventsOnConflictsDetectedEvent theEvent)
          Called when editing conflicts are detected during save.
 void onCreateFeature(IEditEventsOnCreateFeatureEvent theEvent)
          Called when new features are created.
 void onCurrentLayerChanged(IEditEventsOnCurrentLayerChangedEvent theEvent)
          Called when the current layer changes.
 void onCurrentTaskChanged(IEditEventsOnCurrentTaskChangedEvent theEvent)
          Called when the current task changes.
 void onCurrentZChanged(IEditEvents2OnCurrentZChangedEvent theEvent)
          Called when the CurrentZ changes.
 void onDeleteFeature(IEditEventsOnDeleteFeatureEvent theEvent)
          Called when features are deleted.
 void onRedo(IEditEventsOnRedoEvent theEvent)
          Called when RedoOperation is called.
 void onSaveEdits(IEditEvents2OnSaveEditsEvent theEvent)
          Called when edits are saved.
 void onSelectionChanged(IEditEventsOnSelectionChangedEvent theEvent)
          Called when the selection changes.
 void onSketchFinished(IEditEventsOnSketchFinishedEvent theEvent)
          Called when the edit sketch is finished.
 void onSketchModified(IEditEventsOnSketchModifiedEvent theEvent)
          Called when the edit sketch is modified.
 void onStartEditing(IEditEventsOnStartEditingEvent theEvent)
          Called when editing begins.
 void onStartOperation(IEditEvents2OnStartOperationEvent theEvent)
          Called when StartOperation is called.
 void onStopEditing(IEditEventsOnStopEditingEvent theEvent)
          Called when editing ends.
 void onStopOperation(IEditEvents2OnStopOperationEvent theEvent)
          Called when StopOperation is called.
 void onUndo(IEditEventsOnUndoEvent theEvent)
          Called when UndoOperation is called.
 void onVertexAdded(IEditEvents2OnVertexAddedEvent theEvent)
          Called after a point/vertex is added to the sketch.
 void onVertexDeleted(IEditEvents2OnVertexDeletedEvent theEvent)
          Called after a point is deleted from the sketch.
 void onVertexMoved(IEditEvents2OnVertexMovedEvent theEvent)
          Called after a vertex/point has been moved in the sketch.
 void setCreateStyleID(int styleID)
          The style id of newly created dimension features.
 void setCurrentConstructorByRef(IDimensionConstructor rhs1)
          The currently selected dimension constructor.
 void shutdown()
          Shuts down the extension.
 void startFeedback(IPoint point)
          Called when the feedback needs to be started.
 void startFeedbackFromShape(IGeometry shape)
          Called when the feedback needs to be started using an existing geometry.
 void startup(Object initializationData)
          Starts up the extension with the given initialization data.
 IGeometry stopFeedback()
          Called when the feedback is no longer necessary.
 
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

DimensionEditExtension

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

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

DimensionEditExtension

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

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

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

getName

public String getName()
               throws IOException,
                      AutomationException
The name of the extension.

Specified by:
getName in interface IExtension
Returns:
The extensionName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

startup

public void startup(Object initializationData)
             throws IOException,
                    AutomationException
Starts up the extension with the given initialization data.

Specified by:
startup in interface IExtension
Parameters:
initializationData - A Variant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

shutdown

public void shutdown()
              throws IOException,
                     AutomationException
Shuts down the extension.

Specified by:
shutdown in interface IExtension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCreateStyleID

public int getCreateStyleID()
                     throws IOException,
                            AutomationException
The style id of newly created dimension features.

Remarks

Each Dimension Style has a unique ID value within a dimension feature class. A dimension style is used each time a new dimension feature is created. The style used for the creation of the feature is determined using CreateStyleID property.

When an invalid CreateStyleID value is set, CreateStyleID returns -1.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCreateStyleID in interface IDimensionEditExtension
Returns:
The styleID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCreateStyleID

public void setCreateStyleID(int styleID)
                      throws IOException,
                             AutomationException
The style id of newly created dimension features.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setCreateStyleID in interface IDimensionEditExtension
Parameters:
styleID - The styleID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getDimensionConstructors

public IEnumDimensionConstructor getDimensionConstructors()
                                                   throws IOException,
                                                          AutomationException
The dimension constructors for creating new dimensions.

Remarks

Returns the current dimension constructors under the component category 'ESRI Dimension Constructors', returning them in an IEnumDimensionConstructor.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getDimensionConstructors in interface IDimensionEditExtension
Returns:
A reference to a com.esri.arcgis.editor.IEnumDimensionConstructor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setCurrentConstructorByRef

public void setCurrentConstructorByRef(IDimensionConstructor rhs1)
                                throws IOException,
                                       AutomationException
The currently selected dimension constructor.

Remarks

Sets the DimensionConstructor used to create new dimension features. A reference to an DimensionConstructor is often acquired by obtaining a reference to IEnumDimensionConstructor and looping through until the desired constructor is returned.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setCurrentConstructorByRef in interface IDimensionEditExtension
Parameters:
rhs1 - A reference to a com.esri.arcgis.editor.IDimensionConstructor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isDimensionTarget

public boolean isDimensionTarget()
                          throws IOException,
                                 AutomationException
Indicates if a dimension feature class is the current editor target.

Remarks

Determines if the editor's target layer is a dimension feature class.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isDimensionTarget in interface IDimensionEditExtension
Returns:
The isDimension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEditor

public IEditor getEditor()
                  throws IOException,
                         AutomationException
The editor application extension.

Remarks

Use the Editor to provide quick access the ArcMap Editor. This is particularly useful to QI to Editor::IEditLayers to get the IEditLayers::CurrentLayer. Once you have the CurrentLayer you can access its DimensionClassExtension to retrieve IDimensionClassExtension::ReferenceScaleUnits and IDimensionClassExtension::ReferenceScale. These properties are helpful when building a custom dimension constructor.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getEditor in interface IDimensionEditExtension
Returns:
A reference to a com.esri.arcgis.editor.IEditor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onSelectionChanged

public void onSelectionChanged(IEditEventsOnSelectionChangedEvent theEvent)
                        throws IOException,
                               AutomationException
Called when the selection changes.

Remarks

Whenever the feature selection status changes during an edit session, the OnSelectionChanged event is fired. Whenever the selection changes the location of the editor's SelectionAnchor is updated; if the AuxiliarySelectionAnchor is visible then its location is updated also.

When To Use

Use IEditEvents::OnSelectionChanged to execute code immediately after a change in the status of the feature selection. In the attached Visual Basic class module example, the methodology for tapping into the editor events is shown.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onSelectionChanged in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onCurrentLayerChanged

public void onCurrentLayerChanged(IEditEventsOnCurrentLayerChangedEvent theEvent)
                           throws IOException,
                                  AutomationException
Called when the current layer changes.

Remarks

Whenever the current layer changes during an edit session, the OnCurrentLayerChanged event is fired.

When To Use

Use IEditEvents::OnCurrentLayerChanged to execute code immediately after the user changes to another layer. In the attached Visual Basic class module example, the methodology for tapping into the editor events is shown.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onCurrentLayerChanged in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onCurrentTaskChanged

public void onCurrentTaskChanged(IEditEventsOnCurrentTaskChangedEvent theEvent)
                          throws IOException,
                                 AutomationException
Called when the current task changes.

Remarks

Whenever the current task changes during an edit session, the OnCurrentTaskChanged event is fired.

When To Use

Use IEditEvents::OnCurrentTaskChanged to execute code immediately after the user changes to a different task. In the attached Visual Basic class module example, the methodology for tapping into the editor events is shown.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onCurrentTaskChanged in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onSketchModified

public void onSketchModified(IEditEventsOnSketchModifiedEvent theEvent)
                      throws IOException,
                             AutomationException
Called when the edit sketch is modified.

Remarks

Whenever sketch vertices are deleted, added, or moved during an edit session, the OnSketchModified is fired.

When To Use

Use IEditEvents::OnSketchModified to execute code immediately after the user adds, deletes, or moves a vertex in an edit sketch. In the attached Visual Basic class module example, the methodology for tapping into the editor events is shown.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onSketchModified in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onSketchFinished

public void onSketchFinished(IEditEventsOnSketchFinishedEvent theEvent)
                      throws IOException,
                             AutomationException
Called when the edit sketch is finished.

Remarks

Whenever a sketch is completed during an edit session, the OnSketchFinished event is fired.

When To Use

Use IEditEvents::OnSketchFinished to execute code immediately after the user activates the IEditSketch::FinishSketch method to complete creation of a feature in an edit sketch. In the attached Visual Basic class module example, the methodology for tapping into the editor events is shown.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onSketchFinished in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

afterDrawSketch

public void afterDrawSketch(IEditEventsAfterDrawSketchEvent theEvent)
                     throws IOException,
                            AutomationException
Called after the edit sketch is drawn.

Remarks

Whenever the edit sketch is refreshed during an edit session, the AfterDrawSketch event is fired.

When To Use

Use IEditEvents::AfterdrawSketch to execute code immediately after the sketch-graphics are refreshed. In the attached Visual Basic class module example, the methodology for tapping into the editor events is shown.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
afterDrawSketch in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onStartEditing

public void onStartEditing(IEditEventsOnStartEditingEvent theEvent)
                    throws IOException,
                           AutomationException
Called when editing begins.

Remarks

Whenever an edit session is started, the OnStartEditing event is fired.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onStartEditing in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onStopEditing

public void onStopEditing(IEditEventsOnStopEditingEvent theEvent)
                   throws IOException,
                          AutomationException
Called when editing ends.

Remarks

Whenever an edit session ends, the OnStopEditing event is fired.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onStopEditing in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onConflictsDetected

public void onConflictsDetected(IEditEventsOnConflictsDetectedEvent theEvent)
                         throws IOException,
                                AutomationException
Called when editing conflicts are detected during save.

Remarks

Whenever conflicts are detected after a Save Edits or reconcile operation, the OnConflictsDetected event is fired.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onConflictsDetected in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onUndo

public void onUndo(IEditEventsOnUndoEvent theEvent)
            throws IOException,
                   AutomationException
Called when UndoOperation is called.

Remarks

Whenever an edit operation is undone, the OnUndo event is fired. For example, if a feature is moved and Undo is called, the OnUndo is fired. This event is not fired when sketch operations are undone. For example, undoing the addition of a point to the edit sketch does not trigger the OnUndo event.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onUndo in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onRedo

public void onRedo(IEditEventsOnRedoEvent theEvent)
            throws IOException,
                   AutomationException
Called when RedoOperation is called.

Remarks

Whenever an edit operation is redone, the OnRedo event is fired. For example, if a feature is moved and Undo and Redo are called, the OnUndo and OnRedo events are fired. This event is not fired when sketch operations are redone. For example, redoing the addition of a point to the edit sketch does not trigger the OnRedo event.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onRedo in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onCreateFeature

public void onCreateFeature(IEditEventsOnCreateFeatureEvent theEvent)
                     throws IOException,
                            AutomationException
Called when new features are created.

Remarks

Whenever a new feature is created the OnCreateFeature event is fired. The new feature is passed to all listening clients via the IObject parameter.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onCreateFeature in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onChangeFeature

public void onChangeFeature(IEditEventsOnChangeFeatureEvent theEvent)
                     throws IOException,
                            AutomationException
Called when features are modified.

Remarks

Whenever a new feature is changed the OnChangeFeature event is fired. The changed feature is passed to all listening clients via the IObject parameter.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onChangeFeature in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onDeleteFeature

public void onDeleteFeature(IEditEventsOnDeleteFeatureEvent theEvent)
                     throws IOException,
                            AutomationException
Called when features are deleted.

Remarks

Whenever a new feature is deleted the OnDeleteFeature event is fired. The deleted feature is passed to all listening clients via the IObject parameter.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onDeleteFeature in interface IEditEvents
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onCurrentZChanged

public void onCurrentZChanged(IEditEvents2OnCurrentZChangedEvent theEvent)
                       throws IOException,
                              AutomationException
Called when the CurrentZ changes.

Remarks

The OnCurrentZChanged event is fired when the value for IEditor::CurrentZ is modified. IEditor::CurrentZ can be altered programmatically or through the Current Z control available under the Editor category in the Customize dialog.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onCurrentZChanged in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onVertexMoved

public void onVertexMoved(IEditEvents2OnVertexMovedEvent theEvent)
                   throws IOException,
                          AutomationException
Called after a vertex/point has been moved in the sketch.

Remarks

OnVertexMoved is fired when the location of a vertex in the edit sketch is modified. If the an edit sketch vertex is modified programmatically, call IEditSketch2::VertexMoved to ensure all clients listening for this event are notified.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onVertexMoved in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onVertexAdded

public void onVertexAdded(IEditEvents2OnVertexAddedEvent theEvent)
                   throws IOException,
                          AutomationException
Called after a point/vertex is added to the sketch.

Remarks

When IEditSketch2::VertexAdded is called, all clients listening to IEditEvents2::OnVertexAdded are notified. This may be used to ensure the maximum number of points in a particular sketch is not exceeded, or if vertex attributes need to be set on each vertex when it is added to the edit sketch.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onVertexAdded in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onVertexDeleted

public void onVertexDeleted(IEditEvents2OnVertexDeletedEvent theEvent)
                     throws IOException,
                            AutomationException
Called after a point is deleted from the sketch.

Remarks

When IEditSketch2::VertexDeleted is called, all clients listening to IEditEvents2::OnVertexDeleted are notified.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onVertexDeleted in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

beforeStopEditing

public void beforeStopEditing(IEditEvents2BeforeStopEditingEvent theEvent)
                       throws IOException,
                              AutomationException
Fired before StopEditing happens.

Remarks

The BeforeStopEditing event is called before edits are committed or discarded. Use this event to perform any processing of the features before the edits are committed.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
beforeStopEditing in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onAbort

public void onAbort(IEditEvents2OnAbortEvent theEvent)
             throws IOException,
                    AutomationException
Called when AbortOperation is called.

Remarks

OnAbort is called whenever an edit operation is aborted.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onAbort in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onStartOperation

public void onStartOperation(IEditEvents2OnStartOperationEvent theEvent)
                      throws IOException,
                             AutomationException
Called when StartOperation is called.

Remarks

OnStartOperation is raised when IEditor::StartOperation is called. The OnStartOperation event is not fired for SketchOperations.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onStartOperation in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

beforeStopOperation

public void beforeStopOperation(IEditEvents2BeforeStopOperationEvent theEvent)
                         throws IOException,
                                AutomationException
Called before StopOperation is called.

Remarks

BeforeStopOperation is called before the operation is finished (when the sketch is discarded). Use this event to manipulate the sketch geometry before it is committed.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
beforeStopOperation in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onStopOperation

public void onStopOperation(IEditEvents2OnStopOperationEvent theEvent)
                     throws IOException,
                            AutomationException
Called when StopOperation is called.

Remarks

OnStopOperation is called when the operation is successfully completed. At this point the feature has been created but the edit sketch is still available.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onStopOperation in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

onSaveEdits

public void onSaveEdits(IEditEvents2OnSaveEditsEvent theEvent)
                 throws IOException,
                        AutomationException
Called when edits are saved.

Remarks

The OnSaveEdits event is fired whenever a user issues the Save Edits command in the Editor. This event is not raised when a user stops an edit session and chooses to save edits, or if IEditor::StopEditing is called.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
onSaveEdits in interface IEditEvents2
Parameters:
theEvent - The event
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

applies

public boolean applies(IEditor editor)
                throws IOException,
                       AutomationException
Indicates whether this extension applies to the current edit environment.

Remarks

The ::Applies() method is called by the controller when attempting to determine if the extension applies or not.

If more than one class is found implementing IEditSketchExtension the current tool or task will utilize the first extension which ::Applies() returns VARIANT_TRUE.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
applies in interface IEditSketchExtension
Parameters:
editor - A reference to a com.esri.arcgis.editor.IEditor (in)
Returns:
The applies
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

activate

public void activate(IEditor editor)
              throws IOException,
                     AutomationException
Called when the sketch extension is about to be used.

Remarks

The ::Activate() method is called by the controller when the EditSktechExtension has been applied and is being initiated for use.

This method is called only if ::Applies() returns VARIANT_TRUE.

Use this method to obtain a reference to the controller (Editor).

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
activate in interface IEditSketchExtension
Parameters:
editor - A reference to a com.esri.arcgis.editor.IEditor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

deactivate

public void deactivate()
                throws IOException,
                       AutomationException
Called when the sketch extension is no longer needed.

Remarks

The ::Deactivate() method is the last method called by the controller on the extension. Use it to release any unneeded memory reference pointers which the extension may have been holding on to.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
deactivate in interface IEditSketchExtension
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

beforeStoreFeature

public void beforeStoreFeature(IFeature feature,
                               IGeometry geometry)
                        throws IOException,
                               AutomationException
Lets the extension know the feature is about to be stored.

Remarks

The ::BeforeStoreFeature() method is the final call before the feature and its geometry are stored into the base table. Use this method to obtain the sketch geometry, modify it if necessary, and pass it back to the feature.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
beforeStoreFeature in interface IEditSketchExtension
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
geometry - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

isCanInsertVertices

public boolean isCanInsertVertices()
                            throws IOException,
                                   AutomationException
Indicates whether the sketch allows the inserting of additional vertices.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isCanInsertVertices in interface IEditSketchExtension
Returns:
The canInsert
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

isCanDeleteVertices

public boolean isCanDeleteVertices()
                            throws IOException,
                                   AutomationException
Indicates whether the sketch allows the deleting of vertices.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isCanDeleteVertices in interface IEditSketchExtension
Returns:
The canDelete
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

isCanMoveVertices

public boolean isCanMoveVertices()
                          throws IOException,
                                 AutomationException
Indicates whether the sketch allows the moving of vertices.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isCanMoveVertices in interface IEditSketchExtension
Returns:
The canMove
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

getSketchGeometryType

public int getSketchGeometryType()
                          throws IOException,
                                 AutomationException
The geometry type used for the edit sketch when creating new features.

Remarks

The ::SketchGeometryType() method is used to specify the geometry type of the editsketch. Keep in mind that this can be different than the geometry type of the feature.

You may want the geometry type of the editsketch to be polygon yet ultimately store it in a featureclass of geometry type polyline.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getSketchGeometryType in interface IEditSketchExtension
Returns:
A com.esri.arcgis.geometry.esriGeometryType constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

createSketchGeometry

public IGeometry createSketchGeometry(IFeature feature)
                               throws IOException,
                                      AutomationException
The geometry that will be used in the sketch when modifying a feature.

Remarks

Use this method when either 1) modifying an existing feature's geometry or 2) creating a new geometry for the EditSketch to use initially.

You can start with the geometry of the feature you have been given the reference to, possibly modify it, and pass it back out -or- create a completely new geometry for intial use by the EditSketch.

This is primarily used in conjunction with the modify task.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
createSketchGeometry in interface IEditSketchExtension
Parameters:
feature - A reference to a com.esri.arcgis.geodatabase.IFeature (in)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

isHasFeedback

public boolean isHasFeedback()
                      throws IOException,
                             AutomationException
Indicates whether the SketchExtension will use a custom feedback.

Remarks

Use this method to indicate whether the EditSketchExtension will provide the controller with a custom feedback object.

Returning a value of VARIANT_TRUE will indicate to the controller that it must call the ::CreateFeedback() method in order to create the custom feedback object to be used.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isHasFeedback in interface IEditSketchExtension
Returns:
The hasFeedback
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

createFeedback

public IDisplayFeedback createFeedback()
                                throws IOException,
                                       AutomationException
Called when a new feedback is needed.

Remarks

The ::CreateFeedback() method is called by the controller to initiate the creation of a custom feedback object associated to the EditSketchExtension .

Use this method to create your feedback object and pass it out so the Editor can use it.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
createFeedback in interface IEditSketchExtension
Returns:
A reference to a com.esri.arcgis.display.IDisplayFeedback
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

startFeedback

public void startFeedback(IPoint point)
                   throws IOException,
                          AutomationException
Called when the feedback needs to be started.

Remarks

The ::StartFeedback() method is called by the controller after the custom feedback object has been created and is ready for use.

This method passes a copy of the Editor's ::CurrentLocation() as input. This point can be used as the starting point for the DisplayFeedback.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
startFeedback in interface IEditSketchExtension
Parameters:
point - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

stopFeedback

public IGeometry stopFeedback()
                       throws IOException,
                              AutomationException
Called when the feedback is no longer necessary.

Remarks

The ::StopFeedback() is called to when the feedback object is no longer needed for the operation.

Use this method to call ::Stop() on the feedback object and return the geometry of that object if necessary.

Example: If your custom feedback object is a type of INewBezierCurveFeedback calling ::Stop() will end feedback and return the geometry so it can be used as the geometry of the resulting feature.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
stopFeedback in interface IEditSketchExtension
Returns:
A reference to a com.esri.arcgis.geometry.IGeometry
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

startFeedbackFromShape

public void startFeedbackFromShape(IGeometry shape)
                            throws IOException,
                                   AutomationException
Called when the feedback needs to be started using an existing geometry.

Remarks

The ::StartFeedbackFromShape() method is called by the controller to determine if the custom feedback object will be supplied with an initial geometry.

Example: Pass in a circular geometry and resize it via the feedback to determine a buffer zone.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
startFeedbackFromShape in interface IEditSketchExtension
Parameters:
shape - A reference to a com.esri.arcgis.geometry.IGeometry (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ISnapEnvironment, IEditProperties, IExtension, IEditTask.activate(com.esri.arcgis.editor.IEditor, com.esri.arcgis.editor.IEditTask), IEditor, IEditLayers, IEditTask.deactivate(), IEditAttributeProperties, IEditEvents2, IEditTask.onFinishSketch(), IDatasetEdit, IDatasetEditInfo, IEditTask.onDeleteSketch(), IEditTask.getName(), IEditEvents, Editor, IEditSketch

interfaceSupportsErrorInfo

public void interfaceSupportsErrorInfo(GUID riid)
                                throws IOException,
                                       AutomationException
interfaceSupportsErrorInfo

Description

Indicates whether the interface supports IErrorInfo.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Specified by:
interfaceSupportsErrorInfo in interface ISupportErrorInfo
Parameters:
riid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.