com.esri.arcgis.arcmapui
Interface IFinder

All Superinterfaces:
Serializable
All Known Implementing Classes:
FindFeatures

public interface IFinder
extends Serializable

Provides access to IFinder interface for the MxFind routine. Implement this interface to create a custom find dialog page.

Remarks

Implement the IFinder interface in order to create a custom Find tab shown in the ArcMap Find dialog. A VB6 sample is provided.

Performing a search with a Find tab will typically return an array of features used to populate the result list that automatically appears at the bottom of the dialog. Populating this list is done with the IFindCallBack and IFeatureFindData interfaces.

Product Availability

Available with ArcGIS Desktop.


Method Summary
 void find(IFindCallBack pFindCallBack)
          Perform find functionality.
 int getColumnCount()
          Number of columns to display in list box.
 String getColumnName(int column)
          The column name.
 int getColumnWidth(int column)
          The column width in Dialog Units (1/4 of avg.
 int getHWnd()
          The window handle for the finder.
 IUID getMenuUID()
          UID of menu to popup in list box.
 String getName()
          The control name.
 void initializeControl(IApplication pApplication, IFindPanelEvents pFindEventsCallBack)
          Called to initialize control.
 void newSearch()
          New search.
 void stop()
          User requested find to stop.
 void updateControl()
          Called whenever ArcMap status changes.
 

Method Detail

initializeControl

void initializeControl(IApplication pApplication,
                       IFindPanelEvents pFindEventsCallBack)
                       throws IOException,
                              AutomationException
Called to initialize control.

Description

Called on when the Find dialog is loaded the first time.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
pApplication - A reference to a com.esri.arcgis.framework.IApplication (in)
pFindEventsCallBack - A reference to a com.esri.arcgis.arcmapui.IFindPanelEvents (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

updateControl

void updateControl()
                   throws IOException,
                          AutomationException
Called whenever ArcMap status changes.

Description

Called by ArcMap when control needs to be redrawn.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

String getName()
               throws IOException,
                      AutomationException
The control name. Used for the FindUI tab.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
The name
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColumnCount

int getColumnCount()
                   throws IOException,
                          AutomationException
Number of columns to display in list box.

Description

Return the number of columns the result list should contain.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
The columnCount
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColumnName

String getColumnName(int column)
                     throws IOException,
                            AutomationException
The column name.

Product Availability

Available with ArcGIS Desktop.

Parameters:
column - The column (in)
Returns:
The columnName
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getColumnWidth

int getColumnWidth(int column)
                   throws IOException,
                          AutomationException
The column width in Dialog Units (1/4 of avg. char width).

Product Availability

Available with ArcGIS Desktop.

Parameters:
column - The column (in)
Returns:
The width
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMenuUID

IUID getMenuUID()
                throws IOException,
                       AutomationException
UID of menu to popup in list box.

Description

UID of the context menu that will be shown when the user right-clicks a value in the result list. The standard menu esriArcMapUI.FeatureFindContextMenu can be used.

You should set the value of IMXDocument::ContextItem to an ISet containing the features returned by the search to correctly support the use of a context menu.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

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.

find

void find(IFindCallBack pFindCallBack)
          throws IOException,
                 AutomationException
Perform find functionality.

Description

Perform the search.

Parameters such as the layer on which to perform the search and the value to search for are typically read from the controls in your tab.

You may search the layer using the IFind interface or any other selection function.

Each feature in the array corresponding to the result of the search is managed using the IFeatureFindData interface. For each feature, do set the IFeatureFindData::Layer and IFeatureFindData::ActiveView properties.

Use IFindCallBack to add these features to the result list. For each of them set the Object property and the Column values then call the AddNewRow method.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Parameters:
pFindCallBack - A reference to a com.esri.arcgis.arcmapui.IFindCallBack (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

stop

void stop()
          throws IOException,
                 AutomationException
User requested find to stop.

Description

Called when the user clicks on the Stop button.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

newSearch

void newSearch()
               throws IOException,
                      AutomationException
New search. Clear control input boxes.

Description

Called when the user clicks on the New Search button.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getHWnd

int getHWnd()
            throws IOException,
                   AutomationException
The window handle for the finder.

Product Availability

Available with ArcGIS Desktop.

Supported Platforms

Windows

Returns:
The hWnd (A COM typedef)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.