1

I would like to create a geoprocessing tool with a custom GUI for its input data. To put it in other words: imagine that your client works mainly with arcmap documents and he already has an arcpy script which deals with the geoprocessing. Unfortunately he doesn't like building blocks which take parameters for the script (drop-down list, onelineinput etc.) and would like to have a custom input method like let's say a scrollbar (f.e. for selecting time interval instead of typing it manually or selecting from a list).

Is it achievable in ArcMap to have custom input GUI elements? I'm pretty sure it's not, but my colleague swears on everything that he's seen something like that.

Before I completely cross out that idea I wanted to have a confirmation from people who have spent more time working with ArcGIS. To my understanding the only solution is to create a standalone application using Runtime SDK or ArcObjects/ArcEngine.

6
  • Do you specifically want a scrollbar a la this?
    – Paul
    Commented Oct 9, 2013 at 20:07
  • I think that if you are creating a Python script tool, your options are limited to what user interfaces ESRI provides for each type of parameter. I think it is possible to create custom geoprocessing tool controls, but not without ArcObjects and COM. If you don't need to use the geoprocessing framework, you could use whatever UI library you want (Windows Forms, WPF, Java Swing, Qt, Wx, Tk, etc.).
    – blah238
    Commented Oct 9, 2013 at 20:45
  • What version of ArcGIS are you developing for, and what language(s) are you comfortable using?
    – blah238
    Commented Oct 9, 2013 at 20:45
  • Here is a WxPython example with a Python add-in: forums.arcgis.com/threads/…
    – blah238
    Commented Oct 9, 2013 at 21:03
  • @Paul I want to have the ability to modify the gui in general. It's not only about a scrollbar.
    – Michal
    Commented Oct 10, 2013 at 9:52

1 Answer 1

3

I think that if you are creating a Python script tool, your options are limited to what user interfaces ESRI provides for each type of parameter.

I think it is possible to create custom geoprocessing tool controls, but not without ArcObjects and COM.

If you don't need to use the geoprocessing framework, you could use whatever UI library you want (Windows Forms, WPF, Java Swing, Qt, Wx, Tk, etc.).

If you are comfortable using Python and want to try creating a Python add-in with a custom GUI, this example should get you going:

Screenshot of Mark Cederholm's wxPython demo add-in

Note: I dunno what happened there with the button being cut off :)

2
  • If I was willing to use ArcObjects and COM, where can I find information on how to use them to create custom geoprocessing tool controls?
    – Michal
    Commented Oct 11, 2013 at 9:20
  • 1
    Sorry I am not finding anything to back up what I was thinking of, but this sample should give you an idea of the level of complexity to make a fairly basic GP tool in ArcObjects (compared with doing the same in Python).
    – blah238
    Commented Oct 11, 2013 at 15:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.