|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.esri.arcgis.controls.GlobeHookHelper
Helps commands work with the GlobeControl, ArcGlobe, custom controls and applications.
The GlobeHookHelper is designed to help developers write custom commands that will work with some ArcGIS Engine Controls and applications.
When creating a custom command the ICommand::OnCreate event is passed a hook to the control or application that the command will work with. The command needs to determine the type of hook that is passed so it knows how to handle itself. Rather than adding code into the ICommand::OnCreate event to determine the type of hook a GlobeHookHelper object can do this. The GlobeHookHelper is used to hold the hook and return the Globe, GlobeDisplay, ISceneViewer and Camera objects regardless of whether the hook is a GlobeControl, ToolbarControl (with a 'buddy' GlobeControl), the ArcGlobe application or a custom control or application implementing IGlobeCommandHook.
When using the GlobeHookHelper in the ICommand::OnCreate event of custom commands the following must be considered:
| Constructor Summary | |
GlobeHookHelper()
Constructs a GlobeHookHelper using ArcGIS Engine. |
|
GlobeHookHelper(java.lang.Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. |
|
| Method Summary | |
void |
addIHookHelperEventsListener(IHookHelperEvents theListener)
|
void |
doAction(java.lang.Object pUnknown,
int action)
Perform the action on the object. |
void |
doActionOnMultiple(IArray pArray,
int action)
Perform the action on the array of objects. |
void |
doActionWithName(java.lang.Object pUnknown,
java.lang.String name,
int action)
Perform the action on the object using the name. |
void |
doActionWithNameOnMultiple(IArray pArray,
IStringArray pNamesArray,
int action)
Perform the action on the array of objects using the array of names. |
void |
enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
Supported Platforms |
boolean |
equals(java.lang.Object o)
Compare this object with another |
void |
findConnectionPoint(GUID riid,
IConnectionPoint[] ppCP)
Supported Platforms |
ISceneViewer |
getActiveViewer()
Active scene viewer of hooked control or application. |
IConnectionPointContainer |
getAsIConnectionPointContainer()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IGlobeHookHelper |
getAsIGlobeHookHelper()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
IHookActions |
getAsIHookActions()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
ISupportErrorInfo |
getAsISupportErrorInfo()
Deprecated. No replacement. The object reference can be directly used where the implemented interface is needed. |
ICamera |
getCamera()
Camera of hooked control or application. |
static java.lang.String |
getClsid()
|
IGlobe |
getGlobe()
Globe of hooked control or application. |
IGlobeDisplay |
getGlobeDisplay()
GlobeDisplay of hooked control or application. |
java.lang.Object |
getHook()
Hook object that should be the same as the hook object passed in ICommand::OnCreate. |
int |
hashCode()
the hashcode for this object |
void |
interfaceSupportsErrorInfo(GUID riid)
Supported Platforms |
boolean |
isActionSupported(java.lang.Object pUnknown,
int action)
Indicates whether the specified action can be performed on the object. |
boolean |
isActionSupportedOnMultiple(IArray pArray,
int action)
Indicates whether the specified action can be performed on the array of objects. |
void |
removeIHookHelperEventsListener(IHookHelperEvents theListener)
|
void |
setHookByRef(java.lang.Object ppHook)
Hook object that should be the same as the hook object passed in ICommand::OnCreate. |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public GlobeHookHelper()
throws java.io.IOException,
java.net.UnknownHostException
java.io.IOException - if there are interop problems
java.net.UnknownHostException - if there are interop problems
public GlobeHookHelper(java.lang.Object obj)
throws java.io.IOException
obj to GlobeHookHelper. GlobeHookHelper theGlobeHookHelper = (GlobeHookHelper) obj;
obj - an object returned from ArcGIS Engine or Server
java.io.IOException - if there are interop problems| Method Detail |
public static java.lang.String getClsid()
public IGlobeHookHelper getAsIGlobeHookHelper()
public IConnectionPointContainer getAsIConnectionPointContainer()
public ISupportErrorInfo getAsISupportErrorInfo()
public IHookActions getAsIHookActions()
public boolean equals(java.lang.Object o)
public int hashCode()
public void addIHookHelperEventsListener(IHookHelperEvents theListener)
throws java.io.IOException
java.io.IOException
public void removeIHookHelperEventsListener(IHookHelperEvents theListener)
throws java.io.IOException
java.io.IOException
public void setHookByRef(java.lang.Object ppHook)
throws java.io.IOException,
AutomationException
IGlobeHookHelper
setHookByRef in interface IGlobeHookHelperppHook - A reference to another Automation Object (IDispatch) (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public java.lang.Object getHook()
throws java.io.IOException,
AutomationException
IGlobeHookHelper
The hook that is passed to the ICommand::OnCreate event. The hook is a GlobeControl or ArcGlobe.
getHook in interface IGlobeHookHelperjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IGlobe getGlobe()
throws java.io.IOException,
AutomationException
IGlobeHookHelper
The IGlobe object of the hook passed to the ICommand::OnCreate event. The Globe is returned regardless of whether the hook is a GlobeControl, ToolbarControl (with a 'buddy' GlobeControl) or ArcGlobe.
This property can return Nothing if the GlobeControl has not been initialized to share a GlobeDisplay with another GlobeControl.
getGlobe in interface IGlobeHookHelperjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public IGlobeDisplay getGlobeDisplay()
throws java.io.IOException,
AutomationException
IGlobeHookHelper
The IGlobeDisplay object of the hook passed to the ICommand::OnCreate event. The GlobeDisplay is returned regardless of whether the hook is a GlobeControl, ToolbarControl (with a 'buddy' GlobeControl) or ArcGlobe.
This property can return Nothing if the GlobeControl has not been initialized to share a GlobeDisplay with another GlobeControl.
getGlobeDisplay in interface IGlobeHookHelperAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public ISceneViewer getActiveViewer()
throws java.io.IOException,
AutomationException
IGlobeHookHelperThe ISceneViewer interface of the IGlobeViewer object of the hook passed to the ICommand::OnCreate event. The SceneViewer is returned regardless of whether the hook is a GlobeControl, ToolbarControl (with a 'buddy' GlobeControl) or ArcGlobe.
getActiveViewer in interface IGlobeHookHelperAutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public ICamera getCamera()
throws java.io.IOException,
AutomationException
IGlobeHookHelper
The ICamera object of the hook passed to the ICommand::OnCreate event. The Camera is returned regardless of whether the hook is a GlobeControl, ToolbarControl (with a 'buddy' GlobeControl) or ArcGlobe.
getCamera in interface IGlobeHookHelperjava.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void enumConnectionPoints(IEnumConnectionPoints[] ppEnum)
throws java.io.IOException,
AutomationException
IConnectionPointContainerIConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
enumConnectionPoints in interface IConnectionPointContainerppEnum - A reference to a com.esri.arcgis.display.IEnumConnectionPoints (out: use single element array)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void findConnectionPoint(GUID riid,
IConnectionPoint[] ppCP)
throws java.io.IOException,
AutomationException
IConnectionPointContainerIConnectionPointContainer is a Microsoft interface. Please refer to MSDN for information about this interface.
findConnectionPoint in interface IConnectionPointContainerriid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)ppCP - A reference to a com.esri.arcgis.display.IConnectionPoint (out: use single element array)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void interfaceSupportsErrorInfo(GUID riid)
throws java.io.IOException,
AutomationException
ISupportErrorInfoIndicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo in interface ISupportErrorInforiid - A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public boolean isActionSupported(java.lang.Object pUnknown,
int action)
throws java.io.IOException,
AutomationException
IHookActionsIndicates whether the specified Action is supported on the specified object. Use ActionSupported before using the DoAction and DoActionWithName methods.
pUnknown must be an object implementing IEnvelope, IPoint, IPolygon or IPolyline and the geometry should not be empty.
isActionSupported in interface IHookActionspUnknown - A reference to another Object (IUnknown) (in)action - A com.esri.arcgis.controls.esriHookActions constant (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public boolean isActionSupportedOnMultiple(IArray pArray,
int action)
throws java.io.IOException,
AutomationException
IHookActionsIndicates whether the specified Action is supported on the objects in the specified array. Use ActionSupportedOnMultiple before using the DoActionOnMultiple and DoActionWithNameOnMultiple methods.
pArray must contain objects implementing IEnvelope, IPoint, IPolygon or IPolyline and the geometry of each object in the array should not be empty.
isActionSupportedOnMultiple in interface IHookActionspArray - A reference to a com.esri.arcgis.system.IArray (in)action - A com.esri.arcgis.controls.esriHookActions constant (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void doAction(java.lang.Object pUnknown,
int action)
throws java.io.IOException,
AutomationException
IHookActionsDoAction performs the specified Action on the specified object in the ActiveView. For example, pass esriHookActionsZoom to zoom to the extent of the specified object. Use the ActionSupported method before DoAction is ensure the specified Action is supported.
pUnknown must be an object implementing IEnvelope, IPoint, IPolygon or IPolyline and the geometry should not be empty.
When passing DoAction an object implementing IPoint and esriHookActionsZoom, if the width of the specified geometry is zero, the display will be zoomed to 1/20th of the width of the full extent of the data. If the height of the current visible extent is less than 1/20th of the height of the full extent of the data, the current visible extent is used instead.
doAction in interface IHookActionspUnknown - A reference to another Object (IUnknown) (in)action - A com.esri.arcgis.controls.esriHookActions constant (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void doActionWithName(java.lang.Object pUnknown,
java.lang.String name,
int action)
throws java.io.IOException,
AutomationException
IHookActionsDoActionWithName performs the specified Action on the specified object with the specified name string in the ActiveView. For example, pass esriHookActionsLabel to label the specified object with the specfied label. Use the ActionSupported method before DoActionWithName is ensure the specified Action is supported.
pUnknown must be an object implementing IEnvelope, IPoint, IPolygon or IPolyline and the geometry should not be empty.
Name is the string used by esriHookActionsLabel and esriHookActionsCallout actions.
When passing DoActionWithName an object implementing IPoint and esriHookActionsZoom, if the width of the specified geometry is zero, the display will be zoomed to 1/20th of the width of the full extent of the data. If the height of the current visible extent is less than 1/20th of the height of the full extent of the data, the current visible extent is used instead.
doActionWithName in interface IHookActionspUnknown - A reference to another Object (IUnknown) (in)name - The name (in)action - A com.esri.arcgis.controls.esriHookActions constant (in)
AutomationException - If the ArcObject component throws an exception.
java.io.IOException - If there are interop problems.
public void doActionOnMultiple(IArray pArray,
int action)
throws java.io.IOException,
AutomationException
IHookActionsDoActionOnMultiple performs the specified Action on the objects in the specified array in the ActiveView. For example, pass esriHookActionsZoom to zoom to the extent of the specified objects. Use the ActionSupportedOnMultiple method before DoActionOnMultiple is ensure the specified Action is supported.
pArray must contain objects implementing IEnvelope, IPoint, IPolygon or IPolyline and the geometry of each object should not be empty.
doActionOnMultiple in interface IHookActionspArray - A reference to a com.esri.arcgis.system.IArray (in)action - A com.esri.arcgis.controls.esriHookActions constant (in)
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
public void doActionWithNameOnMultiple(IArray pArray,
IStringArray pNamesArray,
int action)
throws java.io.IOException,
AutomationException
IHookActionsDoActionWithNameOnMultiple performs the specified Action on the objects in the specified array in the ActiveView. For example, pass esriHookActionsLabel to label the specified objects with the specfied labels. Use the ActionSupportedOnMultiple method before DoActionWithNameOnMultiple is ensure the specified Action is supported.
pArray must contain objects implementing IEnvelope, IPoint, IPolygon or IPolyline and the geometry of each object should not be empty.
pNamesArray is an array of strings used by esriHookActionsLabel and esriHookActionsCallout actions.
Ensure pArray and pNamesArray contain the same number of elements.
doActionWithNameOnMultiple in interface IHookActionspArray - A reference to a com.esri.arcgis.system.IArray (in)pNamesArray - A reference to a com.esri.arcgis.system.IStringArray (in)action - A com.esri.arcgis.controls.esriHookActions constant (in)
java.io.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 | |||||||||