|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ITOCControlDefault
Provides access to members that control the TOCControl.
The ITOCControlDefault interface is the default dispatch interface that most development environments will automatically expose. For example, placing the TOCControl in a container will typically generate an object called TOCControl1. The properties and methods available directly on this object correspond to this interface, together with container specific properties and methods.
The ITOCControlDefault interface is a 'pure' dispatch interface, so can be extended with new properties and methods at future releases of ArcGIS. The methods and properties are identical to the highest numbered main interface on the TOCControl. For example, ITOCControlDefault is equivalent to ITOCControl2, but at future releases this could become ITOCControl3. By using the ITOCControlDefault interface you are guaranteed to always have access to the latest TOCControl.
There is a small performance overhead in making calls through to a pure dispatch interface, but to avoid this you can QI to a specific interface. In some development environments it is not possible to QI directly on the control to other COM interfaces, because the control is contained within a wrapper object. Use the Object property to get the real control before performing the QI.
Method Summary | |
---|---|
void |
aboutBox()
Displays a dialog of information about the TOCControl. |
boolean |
esri_isEnabled()
Indicates whether the TOCControl can respond to user generated events. |
void |
esri_setEnabled(boolean rhs1)
Indicates whether the TOCControl can respond to user generated events. |
IActiveView |
getActiveView()
The ActiveView used to populate the TOCControl. |
int |
getAppearance()
The appearance of the TOCControl. |
int |
getBorderStyle()
The border style of the TOCControl. |
Object |
getBuddy()
The object whose ActiveView is used to populate the TOCControl. |
Object |
getCustomProperty()
A property to associate data with a control. |
int |
getHWnd()
Handle to the window associated with the TOCControl. |
int |
getKeyIntercept()
A property that specifies interception of key strokes that are normally handled by the container. |
int |
getLabelEdit()
Label editing state. |
int |
getLayerVisibilityEdit()
Layer visibility editing state. |
Picture |
getMouseIcon()
Custom mouse icon used if MousePointer is 99. |
int |
getMousePointer()
The mouse pointer displayed over the TOCControl. |
Object |
getObject()
A property that returns the underlying control. |
void |
getSelectedItem(int[] itemType,
IBasicMap[] basicMap,
ILayer[] layer,
Object[] unk,
Object[] data)
Returns the selected item in the TOCControl. |
void |
hitTest(int x,
int y,
int[] itemType,
IBasicMap[] basicMap,
ILayer[] layer,
Object[] unk,
Object[] data)
Returns the item in the TOCControl at the specified coordinates. |
boolean |
isEnableLayerDragDrop()
Indicates if layers can be dragged and dropped in the control. |
void |
selectItem(Object unk,
Object data)
Sets the selected item in the TOCControl. |
void |
setActiveView(IActiveView activeView)
Sets the ActiveView used to populate the TOCControl. |
void |
setAppearance(int rhs1)
The appearance of the TOCControl. |
void |
setBorderStyle(int rhs1)
The border style of the TOCControl. |
void |
setBuddyControl(Object pTOCBuddy)
Sets a control to be a buddy of the toolbar, this control must support ITOCBuddy. |
void |
setCustomProperty(Object rhs1)
A property to associate data with a control. |
void |
setEnableLayerDragDrop(boolean rhs1)
Indicates if layers can be dragged and dropped in the control. |
void |
setKeyIntercept(int rhs1)
A property that specifies interception of key strokes that are normally handled by the container. |
void |
setLabelEdit(int rhs1)
Label editing state. |
void |
setLayerVisibilityEdit(int rhs1)
Layer visibility editing state. |
void |
setMouseIconByRef(Picture rhs1)
Custom mouse icon used if MousePointer is 99. |
void |
setMousePointer(int rhs1)
The mouse pointer displayed over the TOCControl. |
void |
update()
Updates the contents of the TOCControl to match its ActiveView. |
Method Detail |
---|
void esri_setEnabled(boolean rhs1) throws IOException, AutomationException
rhs1
- The rhs1 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean esri_isEnabled() throws IOException, AutomationException
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getHWnd() throws IOException, AutomationException
The operating environment identifies each window, form and control in an application by assigning it a handle, or hWnd. Many ArcObjects methods and Windows API calls require the hWnd as an argument.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setMousePointer(int rhs1) throws IOException, AutomationException
rhs1
- A com.esri.arcgis.controls.esriControlsMousePointer constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getMousePointer() throws IOException, AutomationException
Use this property when you want to indicate changes in functionality as the mouse pointer passes over the TOCControl. The esriPointerArrowHourglass setting (11) is useful for indicating that the user should wait for a process or operation to finish.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setMouseIconByRef(Picture rhs1) throws IOException, AutomationException
rhs1
- A reference to a com.esri.arcgis.support.ms.stdole.Picture (A com.esri.arcgis.support.ms.stdole.Picture COM typedef) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.Picture getMouseIcon() throws IOException, AutomationException
The MouseIcon property provides a custom icon that is used when the MousePointer property is set to esriPointerArrowHourglass (99).
In most development evironments the control's property pages can be used to load either a cursor (.cur) or icon (.ico) file. A cursor contains a custom 'hotspot' location and can be any size. The 'hotspot' location for an icon file defaults to the center of the icon. This property cannot be used to load animated cursor (.ani) files.
To programatically create an object implementing IPictureDisp there is the win32 function OleLoadPicture or helper methods depending on the development environment.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getAppearance() throws IOException, AutomationException
Returns or sets the paint style of a TOCControl to either Flat or 3D. By default the appearance is flat.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setAppearance(int rhs1) throws IOException, AutomationException
rhs1
- A com.esri.arcgis.controls.esriControlsAppearance constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setBorderStyle(int rhs1) throws IOException, AutomationException
rhs1
- A com.esri.arcgis.controls.esriControlsBorderStyle constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getBorderStyle() throws IOException, AutomationException
Returns or sets the border style of a TOCControl. By default a border is drawn.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void aboutBox() throws IOException, AutomationException
The AboutBox method causes a modal dialog box to display on top of the TOCControl, containing information about the version and creation date of the TOCControl as well as listing relevant legal and copyright information from ESRI.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.IActiveView getActiveView() throws IOException, AutomationException
This is the ActiveView of the Buddy that is used by the TOCControl to populate itself with maps, layers and symbols. The ActiveView is set by the SetBuddyControl or SetActiveView methods.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.Object getBuddy() throws IOException, AutomationException
The Buddy returns the object implementing ITOCBuddy that was passed to the SetBuddyControl method. The Buddy is responsible for handling the ActiveView, and enables the TOCControl to populate itself with maps, layers and symbols.
The SetBuddyControl method will remove any wrapper object that a development environment has added to the control passed to it. As such, the object passed into the SetBuddyControl method may be different from the object returned by the Buddy.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void hitTest(int x, int y, int[] itemType, IBasicMap[] basicMap, ILayer[] layer, Object[] unk, Object[] data) throws IOException, AutomationException
x is the X coordinate, in pixels, where the mouse button was pressed referenced against the origin (0, 0) of the TOCControl (the top left hand corner).
y is the Y coordinate, in pixels, where the mouse button was pressed referenced against the origin (0, 0) of the TOCControl (the top left hand corner).
ItemType specifies an enumeration indicating the type of item (none, map, layer, heading or legend class).
Map specifies an IMap object.
Layer specifies an ILayer object.
Unk specifies an ILegendGroup object.
Data specifies a long indicating the index of the legend class within the legend group. Use this index in conjunction with the legend group to obtain a particular legend class. An index of -1 refers to the heading if it is present.
x
- The x (in)y
- The y (in)itemType
- A com.esri.arcgis.controls.esriTOCControlItem constant (in/out: use single element array)basicMap
- A reference to a com.esri.arcgis.carto.IBasicMap (in/out: use single element array)layer
- A reference to a com.esri.arcgis.carto.ILayer (in/out: use single element array)unk
- A reference to another Object (IUnknown) (in/out: use single element array)data
- A Variant (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void update() throws IOException, AutomationException
Updates the contents of the TOCControl based upon the ActiveView. Use the Update method after programmatically changing layer visibility and names, or changing any legend settings.
The TOCControl will automatically update its contents in response to IActiveViewEvents fired from the Buddy and the ITOCBuddyEvents::ActiveViewReplaced event that indicates a new document has been loaded into the Buddy or the object encapsulated by the Buddy has been replaced.
Use the Update method to update a Map which is not the FocusMap, as the IActiveViewEvents will only be triggered for the FocusMap.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setActiveView(IActiveView activeView) throws IOException, AutomationException
Use the method to set the ActiveView used by the TOCControl to populate itself with maps, layers and symbols. The ActiveView can be set to IMapControl2::ActiveView, IPageLayoutControl::ActiveView, ISceneControl::Scene or IGlobeControl::Globe. The SetActiveView method causes the Buddy to be set to Nothing.
If a Buddy has been set the TOCControl will populate itself based on the ActiveView of the Buddy.
activeView
- A reference to a com.esri.arcgis.carto.IActiveView (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getLayerVisibilityEdit() throws IOException, AutomationException
Use LabelVisibilityEdit to determine whether layer visibility is controlled programmatically or through user interaction with the check boxes. By default LayerVisibility is automatic.
Set the property to automatic to toggle layer visibility through user interaction with the check boxes.
Set the property to manual to toggle layer visibility programmatcially.
If a layer has MinimumScale and MaximumScale thresholds set, its check box will become disabled when the layer is not displayed.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setLayerVisibilityEdit(int rhs1) throws IOException, AutomationException
rhs1
- A com.esri.arcgis.controls.esriTOCControlEdit constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getLabelEdit() throws IOException, AutomationException
Use LabelEdit to determine whether label editing is controlled programmatically or through user interaction. By default label editing is automatic. To edit a map, layer, heading or legend class label, click on it at runtime, and then click on it a second time to invoke label editing. The ESC key on the keyboard can be used during the edit to cancel the LabelEdit.
Set the property to automatic to edit labels unchecked, and set to manual to trigger the OnBeginLabelEdit and OnEndLabelEdit events.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setLabelEdit(int rhs1) throws IOException, AutomationException
rhs1
- A com.esri.arcgis.controls.esriTOCControlEdit constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.Object getCustomProperty() throws IOException, AutomationException
Use the CustomProperty to associate any useful data with the TOCControl. This is similar to a 'Tag' property, and can be use to store strings, numbers and objects.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setCustomProperty(Object rhs1) throws IOException, AutomationException
rhs1
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setBuddyControl(Object pTOCBuddy) throws IOException, AutomationException
Pass the SetBuddyControl method a MapControl, PageLayoutControl, SceneControl, GlobeControl or object implementing ITOCBuddy whose ActiveView is passed to the TOCControl to enable it to populate itself with maps, layers and symbols. By default no buddy is set. To clear the Buddy set the property to Nothing.
pTOCBuddy
- A reference to another Automation Object (IDispatch) (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.Object getObject() throws IOException, AutomationException
In some development environments it is not possible to query interface directly on the control to other COM interfaces, beacuse the control is contained within a wrapper object. To get the real control use the Object property.
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.int getKeyIntercept() throws IOException, AutomationException
Returns or sets keys on the keyboard that will be intercepted by the TOCControl, triggering the OnKeyDown and OnKeyUp events when pressed. These keys are often hidden from the TOCControl by the development environment container. By default the KeyIntercept is set to esriKeyInterceptNone.
Many development environment containers use the up, down, left and right arrow keys to change control focus on a form. These keys can also be useful for navigating around the display. To intercept the arrow keys and the Tab key combine the enum values using a logical OR operation (esriKeyInterceptArrowKeys OR esriKeyInterceptTabKey, which is 1 OR 4 = 5).
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setKeyIntercept(int rhs1) throws IOException, AutomationException
rhs1
- The rhs1 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.boolean isEnableLayerDragDrop() throws IOException, AutomationException
Determines whether layers can be dragged and dropped in the TOCControl. This property if false by default. When EnableLayerDragDrap is true, layers can be dragged and dropped as follows:
By default when dragging and dropping a layer within a map, the layer will be moved within the map to the drop location. To copy the layer, rather than move it press the CTRL key while dragging and dropping.
By default when dragging and dropping a layer between maps, a copy of the layer will be added into the map the layer is dropped into. To move the dragged layer, rather than copy it press the CTRL key while dragging and dropping.
Layers can not be dragged and dropped in the following cases:
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void setEnableLayerDragDrop(boolean rhs1) throws IOException, AutomationException
rhs1
- The rhs1 (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void getSelectedItem(int[] itemType, IBasicMap[] basicMap, ILayer[] layer, Object[] unk, Object[] data) throws IOException, AutomationException
Returns the selected item in the TOCControl. The selected item may have been selected interactively by the end user clicking on the TOCControl or programmatically using the SelectItem method.
ItemType specifies an enumeration indicating the type of item (none, map, layer, heading or legend class).
Map specifies an IMap object.
Layer specifies an ILayer object.
Unk specifies an ILegendGroup object.
Data specifies a long indicating the index of the legend class within the legend group. Use this index in conjunction with the legend group to obtain a particular legend class. An index of -1 refers to the heading if it is present.
itemType
- A com.esri.arcgis.controls.esriTOCControlItem constant (in/out: use single element array)basicMap
- A reference to a com.esri.arcgis.carto.IBasicMap (in/out: use single element array)layer
- A reference to a com.esri.arcgis.carto.ILayer (in/out: use single element array)unk
- A reference to another Object (IUnknown) (in/out: use single element array)data
- A Variant (in/out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.void selectItem(Object unk, Object data) throws IOException, AutomationException
Selects the specified item in the TOCControl. The selected item will appear blue when the TOCControl has keyboard focus and grey when the TOCControl does not have keyboard focus.
Unk specifies an IMap object, and ILayer object or and ILegendGroup object.
Data specifies a long indicating the index of the legend class within the legend group. Use this index in conjunction with the legend group to obtain a particular legend class.
To select an ILegendGroup::Heading either just pass an ILegendGroup object or pass an ILegendGroup object with an index of -1. To select a legend class within the LegendGroup pass an ILegendGroup object with a valid index.
unk
- A reference to another Object (IUnknown) (in)data
- A Variant (in, optional, pass null if not required)
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 |