Your most appropriate options are:1. COM/ArcObjects Components2. .NET Add-InWithout knowing what kind of functionality you plan to build, I'd say any significant map interaction should be handled with ArcObjects as the Python mapping library simply is not that extensive and will limit your options. But as Hornbydd alludes to, it depends on the functionality you plan to provide.The biggest difference between the two options listed above I think resides with getting your tools distributed. I don't have experience with the .NET Add-in, but from what I understand it affords much more UI development tools than the Python Add-In does, but is more limited than a full-blown COM component. The .NET Add-In has the advantage of easy distribution, while the COM/ArcObjects tools will need to have Installer.msi/.exe component and must be run to get your tools installed on the end-user's workstation.I can assure you that IToolBardef, BaseCommand, ICommandItem all work fine and you simply need to do more research and testing to get it to work.
You can store custom tool bars in an mxd created via the menu option customize > customize mode route and then say distribute an mxd. You need to go to menu option customize > customize mode > Options tab and click on "Save all customizations to the document". This is something that appeared in 10.0.
You say "...let a user define a custom Toolbar with custom commands and menus on the fly and make them persistent". Is that not what the desktop menu option customize > customize mode all about? This allows the user to create a toolbar, drag any existing tool onto it and have their own customized toolbar? Look here on customizing a map document.
Hornbydd, thanks for your time...I don't necessarily need a Python Addin, I need to write code to let a user define a custom Toolbar with custom commands and menus on the fly and make them persistent. What those commands and menus are supposed to do is currently not so important. The problem is, that I can't seem to create them otherwise and would like to know if I can create the Toolbars with Python.Hope, this makes it clearer.RegardsKianar
Correct Python AddIns only appeared in 10.1 so do not exist in 10.0You say your tasks are to create toolbars with commands/menu but you don't say what these will actually do, this is what I was trying to get at? Are you intending to do complex fine grain manipulation of geometries (then ArcObjects is the way to go) or call upon existing geo-processing tools to improve a workflow (then may be python is your answer)?Why can't you use the addin wizard? With this you create the toolbar and controls, attach your code and then you have an addin which can be easily installed and distributed.
Kianar,What are you tasks? If it is using existing tools then python could be a solution. If you are doing serious number crunching then may be ArcObjects is the way. If you want fancy user interfaces then ArcObjects is what you need using VB/c# .netWith the release of 10.1 ESRI created the Python Addin, this allows you to use your python coding skills with arcpy and create tool bars with buttons that can interact with the map. Have a look here.I've had a play with this and you can use all that is arcpy but you still cannot create an interface, although some python expert will hopefully tell me otherwise!Duncan
Les membres connectés peuvent publier, suivre les mises à jour, et plus encore. Nouveau ici ? Inscrivez-vous gratuitement.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.