|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.interop.Dispatch com.esri.arcgis.systemUI.IToolProxy
public class IToolProxy
Provides access to members that define a tool.
Tools are similar to buttons but they also require interaction with the application's display. The Zoom In command is a good example of a tool--you click or drag a rectangle over a map before the display is redrawn to show the map contents in more detail.
Use the ITool interface to query the properties of a built-in tool or to create your own COM tool.
When you are creating a new COM tool, you need to implement both the ICommand interface and the ITool interface in your class code. With the ITool interface you can define what occurs on events such as mouse move, mouse button press/release, keyboard key press/release, double-click, and right click.
ICommand
,
Serialized FormField Summary | |
---|---|
boolean |
noncastable
|
Fields inherited from class com.esri.arcgis.interop.Dispatch |
---|
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef |
Constructor Summary | |
---|---|
|
IToolProxy()
|
|
IToolProxy(Object obj)
|
protected |
IToolProxy(Object obj,
String iid)
|
Method Summary | |
---|---|
void |
addListener(String iidStr,
Object theListener,
Object theSource)
|
boolean |
deactivate()
Causes the tool to no longer be the active tool. |
int |
getCursor()
The mouse pointer for this tool. |
boolean |
onContextMenu(int x,
int y)
Context menu event occured at the given xy location. |
void |
onDblClick()
Occurs when a mouse button is double clicked when this tool is active. |
void |
onKeyDown(int keyCode,
int shift)
Occurs when a key on the keyboard is pressed when this tool is active. |
void |
onKeyUp(int keyCode,
int shift)
Occurs when a key on the keyboard is released when this tool is active. |
void |
onMouseDown(int button,
int shift,
int x,
int y)
Occurs when a mouse button is pressed when this tool is active. |
void |
onMouseMove(int button,
int shift,
int x,
int y)
Occurs when the mouse is moved when this tool is active. |
void |
onMouseUp(int button,
int shift,
int x,
int y)
Occurs when a mouse button is released when this tool is active. |
void |
refresh(int hdc)
Occurs when a screen display in the application is refreshed. |
void |
removeListener(String iidStr,
Object theListener)
|
Methods inherited from class com.esri.arcgis.interop.Dispatch |
---|
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, optimizedVtblInvoke, queryInterface, readExternal, release, setNativeMode, setPropertyByName, toString, vtblInvoke, writeExternal |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public boolean noncastable
Constructor Detail |
---|
public IToolProxy()
public IToolProxy(Object obj) throws IOException
IOException
protected IToolProxy(Object obj, String iid) throws IOException
IOException
Method Detail |
---|
public void addListener(String iidStr, Object theListener, Object theSource) throws IOException
addListener
in class com.esri.arcgis.interop.Dispatch
IOException
public void removeListener(String iidStr, Object theListener) throws IOException
removeListener
in class com.esri.arcgis.interop.Dispatch
IOException
public int getCursor() throws IOException, AutomationException
When implementing ITool to create a custom tool, use the Cursor property to set the mouse pointer of the tool.
getCursor
in interface ITool
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onMouseDown(int button, int shift, int x, int y) throws IOException, AutomationException
button specifies which mouse button is pressed. The button argument is a bit field. Some, all, or none of the bits can be set indicating that some, all, or none of the mouse buttons are pressed. The values for button are as follows:
1 Left button
2 Right button
3 Left and Right buttons
4 Middle button
5 Left and Middle buttons
6 Right and Middle buttons
7 All buttons
Shift indicates whether the Shift key, Ctrl key, or Alt key is pressed when the mouse button is pressed. The Shift argument is a bit field. Some, all, or none of the bits can be set indicating that some, all, or none of the keys are pressed. The values for Shift are as follows:
0 No key pressed
1 Shift key pressed
2 Ctrl key pressed
3 Shift and Ctrl keys pressed
4 Alt key pressed
5 Shift and Alt keys pressed
6 Ctrl and Atl keys pressed
7 Shift, Ctrl, and Alt keys pressed
X is the X coordinate, in device units, where the mouse button was pressed.
Y is the Y coordinate, in device units, where the mouse button was pressed.
When implementing ITool to create a custom tool, write the code that performs the action when the left mouse button is pressed when this tool is the active tool in the OnMouseDown method.
onMouseDown
in interface ITool
button
- The button (in)shift
- The shift (in)x
- The x (in)y
- The y (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onMouseMove(int button, int shift, int x, int y) throws IOException, AutomationException
button specifies which mouse button was pressed while moving the mouse. The button argument is a bit field. Some, all, or none of the bits can be set indicating that some, all, or none of the mouse buttons are pressed. The values for button are as follows:
1 Left button
2 Right button
3 Left and Right buttons
4 Middle button
5 Left and Middle buttons
6 Right and Middle buttons
7 All buttons
Shift indicates whether the Shift key, Ctrl key, or Alt key is pressed when the mouse is moved. The Shift argument is a bit field. Some, all, or none of the bits can be set indicating that some, all, or none of the keys are pressed. The values for Shift are as follows:
0 No key pressed
1 Shift key pressed
2 Ctrl key pressed
3 Shift and Ctrl keys pressed
4 Alt key pressed
5 Shift and Alt keys pressed
6 Ctrl and Atl keys pressed
7 Shift, Ctrl, and Alt keys pressed
X is the X coordinate, in device units, of the mouse location.
Y is the Y coordinate, in device units, of the mouse location.
When implementing ITool to create a custom tool, write the code that performs the action when the mouse is moved when this tool is the active tool in the OnMouseMove method.
onMouseMove
in interface ITool
button
- The button (in)shift
- The shift (in)x
- The x (in)y
- The y (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onMouseUp(int button, int shift, int x, int y) throws IOException, AutomationException
button specifies which mouse button is released. The button argument is a bit field. Some, all, or none of the bits can be set indicating that some, all, or none of the mouse buttons are pressed. The values for button are as follows:
1 Left button
2 Right button
3 Left and Right buttons
4 Middle button
5 Left and Middle buttons
6 Right and Middle buttons
7 All buttons
Shift indicates whether the Shift key, Ctrl key, or Alt key is pressed when the mouse button is released. The Shift argument is a bit field. Some, all, or none of the bits can be set indicating that some, all, or none of the keys are pressed. The values for Shift are as follows:
0 No key pressed
1 Shift key pressed
2 Ctrl key pressed
3 Shift and Ctrl keys pressed
4 Alt key pressed
5 Shift and Alt keys pressed
6 Ctrl and Atl keys pressed
7 Shift, Ctrl, and Alt keys pressed
X is the X coordinate, in device units, where the mouse button was released.
Y is the Y coordinate, in device units, where the mouse button was released.
When implementing ITool to create a custom tool, write the code that performs the action when a mouse button is released when this tool is the active tool in the OnMouseUp method.
onMouseUp
in interface ITool
button
- The button (in)shift
- The shift (in)x
- The x (in)y
- The y (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onDblClick() throws IOException, AutomationException
When implementing ITool to create a custom tool, write the code that performs the action when a mouse button is double-clicked when this tool is the active tool in the OnDblClick method.
onDblClick
in interface ITool
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onKeyDown(int keyCode, int shift) throws IOException, AutomationException
keyCode specifies which key on the keyboard was pressed.
Shift indicates whether the Shift key, Ctrl key, or Alt key was pressed when the mouse button was pressed. 0 for no keys pressed. 1 for Shift key pressed. 2 for Ctrl key pressed. 4 for Alt key pressed. If both the Shift key and the Ctrl key were pressed, Shift would be 3. If all three keys were pressed, Shift would be 7.
When implementing ITool to create a custom tool, write the code that performs the action when a key on the keyboard is pressed when this tool is the active tool in the OnKeyDown method.
onKeyDown
in interface ITool
keyCode
- The keyCode (in)shift
- The shift (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void onKeyUp(int keyCode, int shift) throws IOException, AutomationException
keyCode specifies which key on the keyboard was released.
Shift indicates whether the Shift key, Ctrl key, or Alt key was pressed when the mouse button was pressed. 0 for no keys pressed. 1 for Shift key pressed. 2 for Ctrl key pressed. 4 for Alt key pressed. If both the Shift key and the Ctrl key were pressed, Shift would be 3. If all three keys were pressed, Shift would be 7.
When implementing ITool to create a custom tool, write the code that performs the action when a key on the keyboard is released when this tool is the active tool in the OnKeyUp method.
onKeyUp
in interface ITool
keyCode
- The keyCode (in)shift
- The shift (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean onContextMenu(int x, int y) throws IOException, AutomationException
X is the X coordinate, in device units, where the right mouse button was pressed.
Y is the Y coordinate, in device units, where the right mouse button was pressed.
When implementing ITool to create a custom tool, write code to display a custom context menu when the right mouse button is pressed when this tool is the active tool in the OnContext method.
If your tool displays a custom context menu, it should let the application know that it handled the OnContextMenu event by returning True from the OnContext function. If you don't do this, the standard context menu will be displayed after your custom context menu.
This method does not fire in ArcGIS Engine. A context menu is implemented using IToolbarMenu in ArcGIS Engine as illustrated by the ControlsEditingSketchContextMenu command.
onContextMenu
in interface ITool
x
- The x (in)y
- The y (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void refresh(int hdc) throws IOException, AutomationException
hDC is the handle to the display context which just got refreshed in the application.
When implementing ITool to create a custom tool, write the code in the Refresh method that performs some action when a screen display in the application is refreshed while this tool is the active tool. When the current screen display in the application is refreshed, the handle to the device context that is associated with that screen display is passed into the Refresh method as an argument.
refresh
in interface ITool
hdc
- The hdc (A COM typedef) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean deactivate() throws IOException, AutomationException
When implementing ITool to create a custom tool, add some logic to the Deactivate method to specify whether this tool can be deactivated. If ITool_Deactivate is set to False, the default, you cannot interact with any other tools because this tool cannot be interrupted by another tool.
deactivate
in interface ITool
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |