com.esri.arcgis.framework
Class ICommandItemProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.framework.ICommandItemProxy
All Implemented Interfaces:
ICommandItem, Externalizable, Serializable

public class ICommandItemProxy
extends com.esri.arcgis.interop.Dispatch
implements ICommandItem, Serializable

Provides access to members that define a command item.

When To Use

A CommandItem is any item on a commandbar. For example, buttons, tools, and menu items that appear on commandbars are all commanditems. The ICommandItem interface allows you to get or set the properties of the commanditem such as caption, button image, statusbar message, tooltip, display style, help context ID, and more. The ICommandItem interface also provides methods to execute, delete, refresh, and reset the commanditem. Use ICommandBars::Find, ICommandBar::Find, or ICommandBar::Item to obtain a reference to a particular commanditem.

Product Availability

Available with ArcGIS Desktop.

See Also:
ICommandBars.find(java.lang.Object, boolean, boolean), ICommandBar.find(java.lang.Object, boolean), ICommandBar.getItem(int), ICommandBar.createMacroItem(String, java.lang.Object, String, java.lang.Object), ICommandBar.popup(int, int), ICommandBar.add(com.esri.arcgis.system.IUID, java.lang.Object), Serialized Form

Field Summary
 boolean noncastable
           
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, objRef
 
Constructor Summary
  ICommandItemProxy()
           
  ICommandItemProxy(Object obj)
           
protected ICommandItemProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 void delete()
          Removes this object from the commandbar.
 void execute()
          Causes the command to execute.
 String getAction()
          The name of the VBA macro this command should run when pressed.
 String getCaption()
          The caption of this command item.
 String getCategory()
          The name of the category with which this command item is associated.
 ICommand getCommand()
          A reference to the internal command object.
 Object getFaceID()
          The bitmap that is used as the icon on this command item.
 int getHelpContextID()
          The help context ID associated with this command item.
 String getHelpFile()
          The help file associated with this command item.
 IUID getID()
          The unique integer ID associated with this command item.
 int getIndex()
          The positional index of this command item within its menu or toolbar.
 String getMessage()
          The status bar message for this command item.
 String getName()
          The name of this command item.
 ICommandBar getParent()
          The menu or toolbar that this command item currently resides on.
 int getStyle()
          The display style of this command item.
 String getTag()
          The tag for this command item.
 String getTooltip()
          The tooltip for this command item.
 int getType()
          The type of this command item.
 boolean isBuiltIn()
          Indicates whether this command item is built-in or if it was implemented through VBA.
 boolean isGroup()
          Indicates if this command item begins a menu or toolbar group.
 void refresh()
          Causes the command to be redrawn.
 void removeListener(String iidStr, Object theListener)
           
 void reset()
          Restores this command item's properties to that of the original.
 void setAction(String macro)
          The name of the VBA macro this command should run when pressed.
 void setCaption(String name)
          The caption of this command item.
 void setFaceID(Object faceID)
          The bitmap that is used as the icon on this command item.
 void setGroup(boolean group)
          Indicates if this command item begins a menu or toolbar group.
 void setHelpContextID(int contextID)
          The help context ID associated with this command item.
 void setHelpFile(String helpFile)
          The help file associated with this command item.
 void setMessage(String message)
          The status bar message for this command item.
 void setName(String name)
          The name of this command item.
 void setStyle(int style)
          The display style of this command item.
 void setTag(String tag)
          The tag for this command item.
 void setTooltip(String tooltip)
          The tooltip for this command item.
 
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

noncastable

public boolean noncastable
Constructor Detail

ICommandItemProxy

public ICommandItemProxy()

ICommandItemProxy

public ICommandItemProxy(Object obj)
                  throws IOException
Throws:
IOException

ICommandItemProxy

protected ICommandItemProxy(Object obj,
                            String iid)
                     throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

getAction

public String getAction()
                 throws IOException,
                        AutomationException
The name of the VBA macro this command should run when pressed.

Description

Action is a string representing the full name of the VBA macro that is to be executed when the command item is clicked. The name of the macro must include the name of the VBA project in which this macro is located.

Remarks

Here are some examples of the syntax of the value for the Action property.

Macro called MyMacro in ThisDocument in Normal template:
"Normal.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in Normal template:
"Normal.Module1.MyMacro"

Macro called MyMacro in ThisDocument in the current document:
"Project.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in the current document:
"Project.Module1.MyMacro"

Macro called MyMacro in ThisDocument in a base template:
"TemplateProject.ThisDocument.MyMacro"

Macro called MyMacro in Module1 in a base template:
"TemplateProject.Module1.MyMacro"

Note: This property only applies to macro items.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getAction in interface ICommandItem
Returns:
The macro
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAction

public void setAction(String macro)
               throws IOException,
                      AutomationException
The name of the VBA macro this command should run when pressed.

Description

Action is a string representing the full name of the VBA macro that is to be executed when the command item is clicked. The name of the macro must include the name of the VBA project in which this macro is located.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

isBuiltIn

public boolean isBuiltIn()
                  throws IOException,
                         AutomationException
Indicates whether this command item is built-in or if it was implemented through VBA.

Description

Returns True if the command is a COM command that was created by implementing ICommand and compiling into a DLL. Returns False if the command is a UIControl or a VBA macro.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isBuiltIn in interface ICommandItem
Returns:
The builtIn
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCategory

public String getCategory()
                   throws IOException,
                          AutomationException
The name of the category with which this command item is associated.

Description

Category is a string that represents the category of the command on which this command item is based. The category determines where the command will appear in the Commands panel of the Customize dialog.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCategory in interface ICommandItem
Returns:
The category
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getCommand

public ICommand getCommand()
                    throws IOException,
                           AutomationException
A reference to the internal command object.

Description

Returns a reference to the command (Button, Tool, ToolControl, or MultiItem) on which this command item is based.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCommand in interface ICommandItem
Returns:
A reference to a com.esri.arcgis.systemUI.ICommand
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommand

delete

public void delete()
            throws IOException,
                   AutomationException
Removes this object from the commandbar.

Remarks

When you delete a commanditem from a commandbar it is not deleted from the application; it is just removed from the commandbar. You can always add that command back to a commandbar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

setFaceID

public void setFaceID(Object faceID)
               throws IOException,
                      AutomationException
The bitmap that is used as the icon on this command item.

Description




Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getFaceID

public Object getFaceID()
                 throws IOException,
                        AutomationException
The bitmap that is used as the icon on this command item.

Description

The values for FaceID from the built-in icon palette are:

You can also use your own bitmap (.bmp file) with ICommandItem::FaceID. To use your own bitmap, you could create a UserForm in VBA with a Image control on it. Set the Picture property of the Image control to your bitmap.

If you are using your own bitmap, it must be a Bitmap file (.bmp); Icon files (.ico) are not supported. Bitmap files should be 16 X 16 pixels. The color of the upper left pixel of the bitmap is treated as the transparent color. For example, if the upper left pixel of the bitmap is red, then all of the red pixels in the bitmap will be converted to transparent.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getFaceID in interface ICommandItem
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setGroup

public void setGroup(boolean group)
              throws IOException,
                     AutomationException
Indicates if this command item begins a menu or toolbar group.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

isGroup

public boolean isGroup()
                throws IOException,
                       AutomationException
Indicates if this command item begins a menu or toolbar group.

Description

If Group is set to True, the command item is the first item in a group on a toolbar or menu. There will be a separator bar to the left of the command item. If Group is set to False, the command item does not have a separator bar to the left of it.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
isGroup in interface ICommandItem
Returns:
The group
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHelpFile

public String getHelpFile()
                   throws IOException,
                          AutomationException
The help file associated with this command item.

Remarks

You cannot set HelpFile for built-in commands. It is not implemented for macro items and UIControls.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getHelpFile in interface ICommandItem
Returns:
The helpFile
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHelpFile

public void setHelpFile(String helpFile)
                 throws IOException,
                        AutomationException
The help file associated with this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getHelpContextID

public int getHelpContextID()
                     throws IOException,
                            AutomationException
The help context ID associated with this command item.

Remarks

You cannot set HelpContextID for built-in commands. It is not implemented for macro items and UIControls.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getHelpContextID in interface ICommandItem
Returns:
The contextID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setHelpContextID

public void setHelpContextID(int contextID)
                      throws IOException,
                             AutomationException
The help context ID associated with this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getID

public IUID getID()
           throws IOException,
                  AutomationException
The unique integer ID associated with this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getID in interface ICommandItem
Returns:
A reference to a com.esri.arcgis.system.IUID
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
IUID

getIndex

public int getIndex()
             throws IOException,
                    AutomationException
The positional index of this command item within its menu or toolbar.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getIndex in interface ICommandItem
Returns:
The index
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public String getName()
               throws IOException,
                      AutomationException
The name of this command item.

Description

Returns the programmatic identifying name string for the command on which this command item is based. Note, this is usually different from the Caption property of a the command.

Remarks

You can modify Name for VBA macro items but not built-in commands and UIControls. Setting this property for a built-in command or UIControls will return "This method cannot be called on built in commands" run-time error.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

setName

public void setName(String name)
             throws IOException,
                    AutomationException
The name of this command item.

Description

Returns the programmatic identifying name string for the command on which this command item is based. Note, this is usually different from the Caption property of a the command.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

setCaption

public void setCaption(String name)
                throws IOException,
                       AutomationException
The caption of this command item.

Description

The Caption property of a command item is a string that appears when the command item is placed on a menu or when the command item's display style property is set to Text Only or Image and Text.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getCaption

public String getCaption()
                  throws IOException,
                         AutomationException
The caption of this command item.

Description

The Caption property of a command item is a string that appears when the command item is placed on a menu or when the command item's display style property is set to Text Only or Image and Text.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getCaption in interface ICommandItem
Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getParent

public ICommandBar getParent()
                      throws IOException,
                             AutomationException
The menu or toolbar that this command item currently resides on.

Description

Returns a reference to the CommandBar that this command item is on.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getParent in interface ICommandItem
Returns:
A reference to a com.esri.arcgis.framework.ICommandBar
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
ICommandBar

reset

public void reset()
           throws IOException,
                  AutomationException
Restores this command item's properties to that of the original.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getStyle

public int getStyle()
             throws IOException,
                    AutomationException
The display style of this command item.

Description

The Style of a command item determines whether the command item is displayed on a command bar using its caption, image or both. Refer to the esriCommandStyles constants topic for the values for Style.

When a command is put on a toolbar, the command is displayed with the bitmap only by default; the display type is set to Image Only (Style = esriCommandStyleIconOnly).

When a command is put on a menu, the command is displayed with the bitmap and caption by default; the display type is set to Image and Text (Style = esriCommandStyleIconAndText).

However, if the Bitmap property (ICommand::Bitmap) is not set for this command, then the command will be displayed with the caption only by default when it is put on a toolbar or menu; the display type is set to Text Only (Style = esriCommandStyleTextOnly).

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getStyle in interface ICommandItem
Returns:
A com.esri.arcgis.systemUI.esriCommandStyles constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriCommandStyles

setStyle

public void setStyle(int style)
              throws IOException,
                     AutomationException
The display style of this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
setStyle in interface ICommandItem
Parameters:
style - A com.esri.arcgis.systemUI.esriCommandStyles constant (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriCommandStyles

getTag

public String getTag()
              throws IOException,
                     AutomationException
The tag for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getTag in interface ICommandItem
Returns:
The tag
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTag

public void setTag(String tag)
            throws IOException,
                   AutomationException
The tag for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getTooltip

public String getTooltip()
                  throws IOException,
                         AutomationException
The tooltip for this command item.

Description

Tooltip is a string that appears in the screen tip when the mouse hovers over the command item.

Remarks

You can modify Tooltip for VBA macro items but not built-in commands and UIControls. Setting this property for a built-in command or UIControls will return "This method cannot be called on built in commands" run-time error.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getTooltip in interface ICommandItem
Returns:
The tooltip
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTooltip

public void setTooltip(String tooltip)
                throws IOException,
                       AutomationException
The tooltip for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

getType

public int getType()
            throws IOException,
                   AutomationException
The type of this command item.

Description

Returns the type of this command item using the esriCommandTypes constants. The command item can be one of the following types:

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getType in interface ICommandItem
Returns:
A com.esri.arcgis.framework.esriCommandTypes constant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.
See Also:
esriCommandTypes

getMessage

public String getMessage()
                  throws IOException,
                         AutomationException
The status bar message for this command item.

Description

Message is a string that appears as the message in the statusbar of the application when the mouse passes over the command item.

Remarks

You can modify Message for VBA macro items but not built-in commands and UIControls. Setting this property for a built-in command or UIControls will return "This method cannot be called on built in commands" run-time error.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Specified by:
getMessage in interface ICommandItem
Returns:
The message
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMessage

public void setMessage(String message)
                throws IOException,
                       AutomationException
The status bar message for this command item.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

execute

public void execute()
             throws IOException,
                    AutomationException
Causes the command to execute.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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

refresh

public void refresh()
             throws IOException,
                    AutomationException
Causes the command to be redrawn.

Description

Causes the command item to be redrawn on the CommandBar in order to correctly display any new property changes.

It is generally unnecessary to explicitly call Refresh; CommandItem updates such as setting the caption, image, and style all automatically call Refresh.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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