Thursday, January 19, 2006

The Mysterious addprop.ini File

Most people are unaware of the addprop.ini file and how it can be used with GTViewer, GTVx, and Pocket GTViewer. The addprop.ini file is a feature originally intended for development and debugging, but it has found many uses in the real world. The .GTM file ends with a section called [Additional Properties]. This section can contain a variety of different entries (usually items that do not fit in other sections). You can look at the GTVConfig.doc to see a complete list of entries supported by the [Additional Properties] section, but here is a quick list:

Measure Charactistics

  • MeasureFactor
  • MeasurePrecision
  • MeasureUnitLabel
  • LatLongFlag
  • MeasureDegreeFactor

Menu Hiding

  • LocateXYMenu
  • EditPasscode

View Restrictions

  • MinZoomLevel

Default Symbol Definition

  • DefaultSymbolCharId
  • DefaultSymbolFont
  • DefaultSymbolMode
  • DefaultSymbolLengthMult
  • DefaultSymbolJustification
  • DefaultSymbolScale

Timeout Properties

  • ApplicationTimeout
  • ApplicationInactivityTimeout

Reference Point Properties

  • RPCol
  • RPStyle
  • RPWeight
  • RPPos
  • RPProp

Non-Category Raster File Definition

  • Raster
  • RasterPC

Session Link Definitions

  • SessionLink

GPS Indicator Properties

  • GPSIndicatorSize
  • GPSIndicatorWeight
  • GPSIndicatorColor
  • GPSHeadingColor
  • GPSRefHeadingColor

External App Definitions for Pocket GTViewer

  • ExternalApp
  • DefaultApp
  • AutoStartApp
  • ResetExternalApps
  • ExtAppFiles
  • AllowClearAll

Some of these entries apply only to the desktop versions (GTViewer and GTVx), some apply only to the handheld version (Pocket GTViewer), and some apply to all platforms.

Since Pocket GTViewer only reads Extract Files (.GTX), the entries that are specific to this platform (such as ExternalApp) cannot be changed. Originally, if you wanted to change one of these entries, you had to modify the .GTM file and re-extract the data to create a new .GTX file with the updated entries. While this procedure was a little effort, it was possible. On the support side here at GTI, if a user sent a .GTX file to illustrate a problem he or she was experiencing, there was not a way to modify the settings to see if they just needed to make a minor change to these entries. So, the addprop.ini file was introduced to provide a mechanism for changing the entries in the [Additional Properties] section in a .GTX file. If a file called addprop.ini is found in the same directory as the product (PGTViewer.exe) or in the same directory as the .GTX file being viewed, the contents of the addprop.ini file were appended to the [Additional Properties] section when the .GTX file is opened. If an addprop.ini file exists both with the .GTX file and with the product, the one with the .GTX file is always used first. So, the addprop.ini file can be used to easily modify these settings.

Another problem the addprop.ini file addresses is when a user has a set of .GTX files that were generated in the past, but now the user wants to take advantage of a new feature added to Pocket GTViewer or use a feature that was not previously being used (such as ExternalApp). The addprop.ini once again can be used to supplement the [Additional Properties] section without modifying any of the .gtx files.

The use of the addprop.ini file has grown beyond its original intended use. Many users use the addprop.ini file to manage all of their external applications and never include this information in their .GTM file.

Some of the entries in the [Additional Properties] section are now specifically for the addprop.ini file, such as ResetExternalApps. This entry will clear any ExternalApp settings that were already defined in the .GTX file and new entries can then be provided in the addprop.ini file.

Since the addprop.ini worked so well for Pocket GTViewer, the same functionality was added to GTViewer and GTVx.

No comments: