Provides access to members that extend the edit sketch.
Product Availability
When To Use
Edit sketch extensions let programmers alter the edit sketch geometry,edit sketch display feedback mechanism, and pre-sketch feedback. Implement this interface along with IExtension to create a custom edit sketch extension.
Members
Description | ||
---|---|---|
Activate | Called when the sketch extension is about to be used. | |
Applies | Indicates whether this extension applies to the current edit environment. | |
BeforeStoreFeature | Lets the extension know the feature is about to be stored. | |
CanDeleteVertices | Indicates whether the sketch allows the deleting of vertices. | |
CanInsertVertices | Indicates whether the sketch allows the inserting of additional vertices. | |
CanMoveVertices | Indicates whether the sketch allows the moving of vertices. | |
CreateFeedback | Called when a new feedback is needed. | |
CreatePreSketchFeedback | Called when a new feedback is needed before the sketch starts. | |
CreateSketchGeometry | The geometry that will be used in the sketch when modifying a feature. | |
Deactivate | Called when the sketch extension is no longer needed. | |
HasFeedback | Indicates whether the SketchExtension will use a custom feedback. | |
HasPreSketchFeedback | Indicates whether the SketchExtension will use a custom feedback before the sketch starts. | |
OnKeyDown | Called when a key is pressed. | |
OnKeyUp | Called when a key is pressed. | |
SketchGeometryType | The geometry type used for the edit sketch when creating new features. | |
StartFeedback | Called when the feedback needs to be started. | |
StartFeedbackFromShape | Called when the feedback needs to be started using an existing geometry. | |
StartPreSketchFeedback | Called when the feedback needs to be started. | |
StopFeedback | Called when the feedback is no longer necessary. | |
StopPreSketchFeedback | Called when the feedback needs to be stopped. |
CoClasses that implement IEditSketchExtension2
CoClasses and Classes | Description |
---|---|
AnnotationEditExtension | An editor extension for creating and editing annotation features. |
Remarks
Edit sketch extensions typically work as follows:
The current edit task calls each registered edit sketch extension’s Applies function; the first one to return True becomes the active extension and its Activate method is called. Each extension performs certain tests in its
Applies method to determine if it should be activated. This typically involves checking the current task, the current target layer, and, when modifying a feature, the currently selected features. Most extensions just override the Create New Feature task and the Modify Feature task.
Once an extension has become active, it sets the geometry type of the edit sketch. The extension then optionally sets up a new feedback mechanism; this typically involves the use of one of the feedback objects, such as NewLineCircleFeedback. For example, a custom edit sketch extension may create perfect circles by allowing users to enter a center point and another point defining the radius. When a user modifies the feature, they are presented with one point instead of an entire polygon; this limits them to only changing the radius, rather than adding new vertices and creating a shape that is an imperfect circle.
See Also
IDatasetEdit Interface | IDatasetEditInfo Interface | IEditTask.Name Property | Editor Class | ISnapEnvironment Interface | IEditEvents2 Interface | IEditTask.Deactivate Method | IEditAttributeProperties Interface | IEditor Interface | IEditSketch Interface | IEditTask.OnFinishSketch Method | IEditProperties Interface | IEditLayers Interface | IEditTask.Activate Method | IEditTask.OnDeleteSketch Method | IEditEvents Interface | IExtension Interface