Customizing ArcPad
ArcPad is flexible and easy to use as is, but the ArcPad interface is also easily customizable to reflect your own preferences and the way you work. The following are just a few ways ArcPad can be customized to suit your particular needs:
- Always load the same geographic data when ArcPad starts.
- Create new toolbars that contain built-in and custom tools.
- Design custom forms to streamline data collection in the field.
- Build applets to accomplish your organization's unique goals.
- Write scripts that interact with ArcPad's internal objects.
- Develop extensions to support new file formats, positioning services, rangefinders, cameras, projections, and datum transformations.
If you work in a large organization, you may be tasked with developing a customized work environment. As a developer, you can handle many customization tasks without writing a single line of code. In fact, you can easily instruct others on how to use the customization environment to create the look and feel they want on their own. You can change or create toolbars, forms, default configurations, and so on, to help you do your work in the most efficient way. In addition, you can provide additional functionality by linking code that you or others have written to dialog box controls or tools.
The following table summarizes the different types of customizations that are possible, along with the level of programming and development environment required for each type:
Customization | Required programming | Development environment |
---|---|---|
Hide toolbars | None | ArcPad or ArcPad Studio |
Create new toolbars | None | ArcPad or ArcPad Studio |
Build new tools | JScript/VBScript/Python | ArcPad Studio |
Design custom forms | None | ArcPad Studio |
Validate data in form controls | None | ArcPad Studio and ArcPad Data Manager in ArcGIS for Desktop |
Advanced validation of data in form controls | JScript/VBScript/Python | ArcPad Studio |
Access object properties and methods | JScript/VBScript/Python | ArcPad Studio |
Configure the status bar | None | ArcPad Studio |
Develop applets | JScript/VBScript/Python | ArcPad Studio |
Prepare symbology | None | ArcPad Data Manager in ArcGIS for Desktop |
Support new data formats | C/C++ | Visual Studio .NET/eMbedded VC++ 4/Visual Studio 2005 |
Support new positioning services | C/C++ | Visual Studio .NET/eMbedded VC++ 4/Visual Studio 2005 |
Support new laser rangefinders | C/C++ | Visual Studio .NET/eMbedded VC++ 4/Visual Studio 2005 |
Support additional serial input devices | JScript/VBScript/Python | ArcPad Studio |
Support new cameras | C/C++ | Visual Studio .NET/eMbedded VC++ 4/Visual Studio 2005 |
Support new projections and datum transformations | C/C++ | Visual Studio .NET/eMbedded VC++ 4/Visual Studio 2005 |
ArcPad development environments
Most of ArcPad's customization will be performed in ArcPad Studio. This is where you will build applets, customize toolbars and forms, and create default configuration files. Little or no programming is required to accomplish many of these tasks.
Although a great deal of customization can be accomplished without writing a single line of code, the fundamental feature of ArcPad's customization environment is the ability to use scripts. ArcPad exposes an extensive object model (for more information, refer to the ArcPad Object Model Help and Object Model Diagram) that can be accessed via VBScript, JScript, and Python script languages. These objects are available to your scripts whenever ArcPad is running.
The scripting support is delivered by ArcPad operating as a scripting host for VBScript, JScript, and Python. These script languages are widely known and relatively easy to learn. The JScript runtime library (jscript.dll) is installed in ROM on Windows Mobile and Windows CE devices and is installed as part of Microsoft Internet Explorer version 4 or later on desktop Windows PCs. ArcPad installs the VBScript runtime library (vbscript.dll) on Windows Mobile and Windows CE devices automatically.
To use Python as a scripting language in ArcPad, both the Python programming language (typically installed with ArcGIS 10 and later) and the PyWin32 Python Extensions for Windows, are required. Users must install both on their Windows computer before Python will be recognized by ArcPad.
For more information on the Python programming language, visit http://www.python.org/. For more information on PyWin32 Python Extensions for Windows, visit http://sourceforge.net/projects/pywin32/.
Python scripting can only be used on the Windows operating system.
Whether you use scripts or not, all of ArcPad's customization files are stored in ArcPad XML format. Familiarization with this format will allow you to work with any of ArcPad's customization files in any text or Extensible Markup Language (XML) editor.
Data preparation for ArcPad, such as exporting a layer's symbology, is done in ArcGIS for Desktop using the ArcPad Data Manager toolbar.
Advanced programmers who want to provide support for new data formats or positioning protocols in ArcPad can do so by developing extensions. Extensions must be created as dynamic-link libraries (DLLs), and consequently will most likely be written in C or C++. Most ArcPad applications are deployed on Windows Mobile devices, so it is important to make sure that functionality provided in an extension is supported by these devices.
However, when customizing ArcPad, it is important to understand that all customization development is done within a Windows desktop environment, not on a mobile device in the field. The customizations, in the form of applets, default configurations, and so on, are then deployed on a mobile device via a copy of ArcPad. There is no special runtime version of ArcPad required to deploy your customizations.