ArcCatalog Filter - Quick Find add-in

3063
5
05-13-2011 07:11 AM
EricMcPhee
New Contributor III
I am trying to re-create the ArcCatalog Quick Find Tool (http://arcscripts.esri.com/details.asp?dbid=14236) as an add-in for ArcCatalog 10 using the referenced arcscripts code as a base. I can get ArcCatalog to filter based upon the IGxObjectFilter interface...if I specify GXFilterFeatureClasses, that is all that I get is FeatureClasses. What I would like to do is specify some text characters (ie "Lake") and have the ArcCatalog Contents view filtered to only show me featureclasses that contain the characters "lake" somewhere in the name.

Is it possible to do this as an add-in??
0 Kudos
5 Replies
ChrisQuick
New Contributor II
I am trying to re-create the ArcCatalog Quick Find Tool (http://arcscripts.esri.com/details.asp?dbid=14236) as an add-in for ArcCatalog 10 using the referenced arcscripts code as a base. I can get ArcCatalog to filter based upon the IGxObjectFilter interface...if I specify GXFilterFeatureClasses, that is all that I get is FeatureClasses. What I would like to do is specify some text characters (ie "Lake") and have the ArcCatalog Contents view filtered to only show me featureclasses that contain the characters "lake" somewhere in the name.

Is it possible to do this as an add-in??




Hi Eric.  I was wondering if you ever got this to work or not.  Sounds like a great tool to have.

Thanks,

Chris Quick
Glacier Technologies, LLC
0 Kudos
EricMcPhee
New Contributor III
I was not able to re-create it.....but I was able to get the original tool from ArcScripts to work. I'm now on version 10.1, it the tool still functions. I have no idea what I did to get it to work though. Sorry. I'd suggest installing the original and see if it works.
0 Kudos
BinChen1
New Contributor II
For 10.1 or above, you can implement IGxObjectFilter using C#, it's much easier than the old VB.

You can filter the object by name, code looks something like:
public bool CanDisplayObject(IGxObject @object)

{
    if (@object == null) return false;

    if (string.IsNullOrEmpty(_filter) || _filter.Trim() == "") return true;

    return Regex.IsMatch(@object.Name, _filter, RegexOptions.IgnoreCase);
}[/ODE]

This is much powerful by using regex than the old VB one.
JeffJacobson
Occasional Contributor III

Your closing CODE tag is missing the "C".

0 Kudos
AnthonyWarren
New Contributor

I re-wrote a variation of the original tool in .NET and posted it here:

awarrencaslys/QuickFind.Net · GitHub

0 Kudos