GeoMedia Customization Guide
GeoMedia Customization Guide
GeoMedia Customization Guide
Version 14.00.00
October 2013
Copyright
Copyright 2013 Intergraph Corporation. All Rights Reserved. Intergraph is part of Hexagon.
Including software, file formats, and audiovisual displays; may be used pursuant to applicable software license agreement; contains
confidential and proprietary information of Intergraph and/or third parties which is protected by copyright law, trade secret law, and
international treaty, and may not be provided or otherwise made available without proper authorization from Intergraph Corporation.
Copyright for the Canadian National Transformation Version 2 Software: 1995. Her Majesty the Queen in Right of Canada,
represented by the Minister of Natural Resources. Produced under license from Her Majesty the Queen in Right of Canada,
represented by the Minister of Natural Resources. Software based on the National Transformation Version 2 developed by Geodetic
Survey Division, Geomatics Canada.
Copyright for Dynamap/2000 2002-2005 Tele Atlas North America, Inc. This product contains proprietary and confidential property
of Tele Atlas North America, Inc. Unauthorized use, including copying for other than testing and standard backup procedures, of this
product is expressly prohibited.
The labeling engine used by this product is from MapText, Inc. Copyright 1997-2013 MapText, Inc.
Code for doing JPEG software compression and decompression is based in part on the work of the Independent JPEG Group,
Copyright 1991-1998, Thomas G. Lane.
Code for handling GeoTIFF files is based in part on LibTIFF and LibGeoTIFF, Copyright 1988-1997 Sam Leffler
Copyright 1991-1997 Silicon Graphics, Inc.
Copyright 1995 Niles D. Ritter
Code for handling "Deflate" compression in GeoTIFF files is based on zlib, Copyright 1995-1996 Jean-loup Gailly and Mark Adler
MrSID, MrSID Decompressor, and the MrSID logo are trademarks of LizardTech, Inc. used with permission. Portions of this
computer program are copyright 1995-1998 LizardTech. All rights reserved. MrSID is protected by U.S. Patent No. 5,710,835.
Foreign Patents Pending. Unauthorized use or duplication prohibited.
Code for doing JPEG 2000 compression and decompression is based on Kakadu software, Copyright 2001-2008, David
Taubman, UNSW
Portions copyright Microsoft Corporation. All rights reserved.
Portions copyright Blue Sky Software Corporation. All rights reserved.
This product uses libpng version 1.2.12 - June 27, 2006
Copyright (c) 1998-2002 Glenn Randers-Pehrson
Copyright (c) 1996-1997 Andreas Dilger
Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
No warranty is expressed or implied by the holders of these copyrights. Please contact Intergraph with any problems with our
implementation of this third party code. The copyright holders are not responsible for problems in our implementation.
U.S. Government Restricted Rights Legend
Use, duplication, or disclosure by the government is subject to restrictions as set forth below. For civilian agencies: This was
developed at private expense and is "restricted computer software" submitted with restricted rights in accordance with
subparagraphs (a) through (d) of the Commercial Computer Software - Restricted Rights clause at 52.227-19 of the Federal
Acquisition Regulations ("FAR") and its successors, and is unpublished and all rights are reserved under the copyright laws of the
United States. For units of the Department of Defense ("DoD"): This is "commercial computer software" as defined at DFARS
252.227-7014 and the rights of the Government are as specified at DFARS 227.7202-3.
Unpublished - rights reserved under the copyright laws of the United States.
Intergraph Corporation
P.O. Box 240000, Huntsville, AL 35813
Terms of Use
Use of this software product is subject to the End User License Agreement ("EULA") delivered with this software product unless the
licensee has a valid signed license for this software product with Intergraph Corporation. If the licensee has a valid signed license
for this software product with Intergraph Corporation, the valid signed license shall take precedence and govern the use of this
software product. Subject to the terms contained within the applicable license agreement, Intergraph Corporation gives licensee
permission to print a reasonable number of copies of the documentation as defined in the applicable license agreement and
delivered with the software product for licensee's internal, non-commercial use. The documentation may not be printed for resale or
redistribution.
Warranties and Liabilities
All warranties given by Intergraph Corporation about equipment or software are set forth in the EULA provided with the software or
applicable license for the software product signed by Intergraph Corporation, and nothing stated in, or implied by, this document or
its contents shall be considered or deemed a modification or amendment of such warranties. Intergraph believes the information in
this publication is accurate as of its publication date.
The information and the software discussed in this document are subject to change without notice and are subject to applicable
technical product descriptions. Intergraph Corporation is not responsible for any error that may appear in this document.
The software discussed in this document is furnished under a license and may be used or copied only in accordance with the terms
of this license. No responsibility is assumed by Intergraph for the use or reliability of software on equipment that is not supplied by
Intergraph or its affiliated companies. THE USER OF THE SOFTWARE IS EXPECTED TO MAKE THE FINAL EVALUATION AS
TO THE USEFULNESS OF THE SOFTWARE IN HIS OWN ENVIRONMENT.
Intergraph is not responsible for the accuracy of delivered data including, but not limited to, catalog, reference and symbol data.
Users should verify for themselves that the data is accurate and suitable for their project work.
Trademarks
Intergraph, the Intergraph logo, and GeoMedia are registered trademarks of Intergraph Corporation. Microsoft and Windows are
registered trademarks of Microsoft Corporation. Bing is a trademark of Microsoft Corporation. Google Maps is a trademark of
Google Incorporated. Pictometry Intelligent Images is a registered trademark of Pictometry International Corporation. ERDAS,
ERDAS IMAGINE, Stereo Analyst, IMAGINE Essentials, IMAGINE Advantage, IMAGINE Professional, IMAGINE VirtualGIS,
Mapcomposer, Viewfinder, and Imagizer are registered trademarks of Intergraph Corporation.
Other brands and product names are trademarks of their respective owners.
Contents
Contents
Updating Ribbon Bar Panel Icons When the Application is Reduced Horizontally ........................... 10
Introduction ........................................................................................................................................ 10
Add-on Products Ribbon Resource .XML File Addition ................................................................... 10
Note Regarding My Workflow Functionality ...................................................................................... 12
Introduction
This document describes how developers can customize the GeoMedia Ribbon bar interface to deploy
Add-on products. The general customization philosophy of the GeoMedia Desktop Ribbon is that there
will be a default Ribbon layout that is delivered for each of the GeoMedia Desktop licensed tiers
GeoMedia Essentials, GeoMedia Advantage, GeoMedia Professional, and GeoMedia Viewer.
Customization capabilities are designed to support the addition to the default Ribbon layouts, not the
alteration to the default Ribbon layout.
Step 1a: Add-on products can design a Ribbon bar user interface through the Resource View in Visual
Studio 2010, which creates a Ribbon definition XML file (ex: ribbon1.mfcribbon-ms). After the Ribbon bar
is created, you will have to edit the .mfcribbon-ms file through the Solution Explorer view in VS2010.
When you Open this file in VS2010 you can then select Format the whole document on the XML Editor
toolbar to see a readable version of the XML file. At this point the Add-on product should edit the XML file
so it only contains the definition for its Category, Panels, and Elements.
For example, at the top of the ribbon1.mfcribbon-ms XML file the following sections should be removed
before you build the resource:
<ELEMENT_NAME>...</ELEMENT_NAME>
<ENABLE_TOOLTIPS>...</ENABLE_TOOLTIPS>
<ENABLE_TOOLTIPS_DESCRIPTION>...</ENABLE_TOOLTIPS_DESCRIPTION>
<ENABLE_KEYS>...</ENABLE_KEYS>
<ENABLE_PRINTPREVIEW>...</ENABLE_PRINTPREVIEW>
<ENABLE_DRAWUSINGFONT>...</ENABLE_DRAWUSINGFONT>
<BUTTON_MAIN>...</BUTTON_MAIN>
<CATEGORY_MAIN>...</CATEGORY_MAIN>
<QAT_ELEMENTS>...</QAT_ELEMENTS>
<TAB_ELEMENTS>...</TAB_ELEMENTS>
4
Ribbon Bar Customization for Developers
Failure to remove this section from the Add-on resource will causes these values to override their
corresponding values in the main GeoMedia resource.
Step 1b: The bitmaps for the Large and Small buttons defined in this resource must contain the bitmaps
for all the commands concatenated together into one Large 32h x Nw image strip and one Small 16h x
Nw image strip. Each individual command button is 32 x 32 for large and 16 x 16 for small.
Examples from GeoMedia 3D:
IDB_GM3DLARGE
IDB_GM3DSMALL
Step 2: Add-ons will need to provide their application commands .xml and registration information.
Note: This is the same step that was previously performed with the GeoMedia Classic interface.
Step 3: Add-ons will need to generate the .xml file for the ProgID To resource Value mappings. The
schema for this is defined in Mappings.xsd.
Step 4: Add-ons will need to create registry entries similar to what was done in earlier versions of
GeoMedia, so GeoMedia will know where to find their .xml files, .dlls, etc. The format is:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Intergraph\GeoMediaTierName\14.00
where GeoMediaTierName can be one of the following:
GeoMedia Professional
GeoMedia Advantage
GeoMedia Essentials
Add-ons will need to create registry entries under every GeoMedia tier it needs to run with.
NOTE: For 32bit systems the registration does not go under the Wow6432Node hive. Ex:
[HKEY_LOCAL_MACHINE\SOFTWARE\Intergraph\GeoMedia Professional\14.00\
6
Ribbon Command Buttons and Their Properties
Command Button
A command button is a button that starts an action. The Measure Angle, Styles, and Edit Geometry
commands are examples of a command button.
When a command button is defined, the Menu Items property in Visual Studio is defined as Empty.
Menu Button
A menu button is a button that contains a drop-down list of commands. A chevron graphic appears on the
button to indicate there are additional options to select from. The Legends and Arrange Windows
commands are examples of a menu button.
When a menu button is defined, the Menu Items property in Visual Studio indicates a Collection. Each of
the available commands can then specify their own unique caption, ID, prompt, index, and key definitions.
Split Button
A split button is a command button with a menu attached. These buttons will behave differently
depending upon what part of the button is selected, and because of this have a different appearance than
command buttons and menu buttons. Large buttons are split in half horizontally, whereas small buttons
are split vertically on the right side of the button. A chevron graphic appears on the split side of the
button to indicate which side brings up a command menu; the other side invokes a command. Split
buttons provide the opportunity to combine a default command option while still offering alternative
options within a single button on the Ribbon. The Measure Distance/Area, Display Location, and New
Map Window commands are examples of a split button.
When a split button is defined, the Split Mode property in Visual Studio indicates True, the Menu Items
property indicates a Collection. Each of the available commands can then specify their own unique
caption, ID, prompt, index, and key definitions.
Toggle Button
A button that appears pressed or not pressed. Inside Fence, Polygonal Selection, View Precision
Coordinates, and Toggle Dynamic Labeling commands are examples of a toggle button
The schema for the application command XML configuration files has been updated to support toggle
buttons. Refer to Adding Custom Application Commands for details on how to define toggle buttons.
8
Ribbon Command Buttons and Their Properties
Tooltips
The Ribbon bar provides the capability to display expanded tooltips to the user, which typically include the
command name in bolded text followed by a descriptive summary of the command.
Tooltips are defined through the Prompt property in Visual Studio. To indicate the command name in
bolded text, append the name of the command followed by a backslash \n. For example, the Prompt
property indicated for the Edit Geometry command is:
This section discusses how to specify an appropriate icon to depict the group of commands that are
resident on the panel when the application is reduced in size. For example:
(1) Add the <IMAGE></IMAGE> section where the bitmap containing the small icons for the add-
on product ribbon panels is specified. For example, for GeoMedia 3D,
10
Updating Panel Icons When the Application is Reduced
Where IDB_3D_SMALL represents the following bitmap in the GeoMedia 3D ribbon resource:
(2) Inside each <PANEL></PANEL> section, specify the image index that is used as the panel
icon from the above bitmap. For example, for GeoMedia 3D,
<PANELS>
<PANEL>
<ELEMENT_NAME>Panel</ELEMENT_NAME>
<NAME>View</NAME>
<INDEX>1</INDEX>
<JUSTIFY_COLUMNS>FALSE</JUSTIFY_COLUMNS>
<CENTER_COLUMN_VERT>FALSE</CENTER_COLUMN_VERT>
<ELEMENTS>
</ELEMENTS>
</PANEL>
<PANEL>
<ELEMENT_NAME>Panel</ELEMENT_NAME>
<NAME>Surfaces</NAME>
<INDEX>12</INDEX>
<JUSTIFY_COLUMNS>FALSE</JUSTIFY_COLUMNS>
<CENTER_COLUMN_VERT>FALSE</CENTER_COLUMN_VERT>
<ELEMENTS>
</ELEMENTS>
</PANEL>
<PANEL>
<ELEMENT_NAME>Panel</ELEMENT_NAME>
<NAME>Flight Paths</NAME>
<INDEX>6</INDEX>
<JUSTIFY_COLUMNS>FALSE</JUSTIFY_COLUMNS>
<CENTER_COLUMN_VERT>FALSE</CENTER_COLUMN_VERT>
<ELEMENTS>
</ELEMENTS>
</PANEL>
<PANEL>
<ELEMENT_NAME>Panel</ELEMENT_NAME>
<NAME>Preferences</NAME>
<INDEX>-1</INDEX>
<JUSTIFY_COLUMNS>FALSE</JUSTIFY_COLUMNS>
<CENTER_COLUMN_VERT>FALSE</CENTER_COLUMN_VERT>
<ELEMENTS>
</ELEMENTS>
</PANEL>
</PANELS>
For example, when the application is reduced horizontally the panels on the GeoMedia 3D tab would now
look like this:
Note: There are situations where reducing the appication horizontally will eliminate the display of the
entire Ribbon instead of displaying a panel icon. This generally occurs on panels that have minimal
amount of commands defined on them and/or when tabs have a minimal amount of panels defined. In the
example illustrated above for GeoMedia 3D, the Preferences panel never converts its display to a panel
icon as it is being reduced in size. In this case, the Ribbon will disappear before that happens.
12
Changing the Tab Order on the Ribbon Bar
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Intergraph\GeoMediaTierName\14.00\RibbonCategories\
where GeoMediaTierName can be one of the following:
GeoMedia Professional
GeoMedia Advantage
GeoMedia Essentials
NOTE: For 32bit systems the registration does not go under the Wow6432Node hive. Ex:
[HKEY_LOCAL_MACHINE\SOFTWARE\Intergraph\GeoMedia Professional\14.00\RibbonCategories\
If the Add-on keys listed under RibbonCategories have a corresponding priority string value listed under
RibbonCategories, then the Ribbon tabs will be displayed in the order specified by the value. If the Add-on
does not have a priority string value listed then its Ribbon tab will be displayed last in alphabetical order of
other Add-ons that also do not have a priority specified.
GeoMedia Add-on products can also have their Help command centralized under the File tab of the
GeoMedia ribbon. This section describes what an Add-on needs to do to include their Help command
under the File tab.
Note: For consistency, use the same Access Key definitions for the 2 tier level of Help on the Ribbon
nd
that is used for the corresponding product tabs. The Access Key definitions provided in this document
represent an example.
nd
The 2 tier access key for the specific
add-on product. GN here is the access
Access Keys GN
keys for GeoMedia Transportation
Manager.
Under [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\Add-on Product Name], further create subkey entries for each Help
related command. For example,
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia Transportation Manager\About].
14
Integrating Help for Add-on Products
Under [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\ Add-on Product Name\Help Command Name], create new string values.
For example,
About
IconCategory IconCategory
Help
Learning
Web
rd
AccessKeys AccessKeys The 3 tier access keys.
(1) GeoMedia 3D :
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia 3D ] "AccessKeys"="3D"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia 3D\About]
"CmdProgID"="GeoMedia3D.About"
"DisplayName"="About"
"HelpFileLocation"=""
"IconCategory"="About"
"AccessKeys"="A"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia 3D\Help]
"CmdProgID"="GeoMedia3D.Help"
"DisplayName"="Help"
"HelpFileLocation"=""
"IconCategory"="Help"
"AccessKeys"="H"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia 3D\Learning]
"CmdProgID"="GeoMedia3D.Tutorial"
"DisplayName"="Learning"
"HelpFileLocation"=""
"IconCategory"="Learning"
"AccessKeys"="L"
16
Integrating Help for Add-on Products
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia Transportation Manager]
"AccessKeys"="GN"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia Transportation Manager\About]
"CmdProgID"="CmdAboutTrans.AboutTransBox"
"DisplayName"="About"
"HelpFileLocation"=""
"IconCategory"="About"
"AccessKeys"="A"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia Transportation Manager\Help]
"CmdProgID"=""
"DisplayName"="Help"
"HelpFileLocation"="C:\Program Files (x86)\Intergraph\GeoMedia Transportation
Manager\Program\resdlls\0009\GeoMediaTransportationManager_Help.chm"
"IconCategory"="Help"
"AccessKeys"="H"
nd
After all the changes are in place, GeoMedias centralized Help would look like (2 tier):
18
Integrating Help for Add-on Products
rd
And the 3 tier (for GeoMedia Professional):
Note: For localization purpose, each add-on product needs to reflect the creation of the localized
registries about Help in the corresponding language-specific .reg file in its Localized version.
Summary
The GeoMedia Command Wizard continues to be used to create custom application commands. The
InstallAppCmd utility has been enhanced to support expanded tooltips and toggle buttons on the Ribbon
interface. When custom application commands have been installed and registered, GeoMedia will place
these commands on the "My Workflow" tab in a group named "Custom". These commands can then be
accessed by the Quick Access Toolbar dialog or the Customize Ribbon dialog for further customization
placement options within the Ribbon interface.
The GeoMedia Command Wizard is used to create custom application commands for the Ribbon
interface in the same manner in which it was used for the Classic interface.
Existing VB6 application commands should still work with GeoMedia 2014. However since
GeoMedia 2014 has been recompiled using Visual Studio 2010 and uses .NET 4.0, it is
recommended that existing C++/C# custom application commands be rebuilt with Visual Studio
2010.
Step 2: Run InstallAppCmd utility with the /r option to register the custom application commands as
Ribbon commands.
Note: The Command Wizard will also register the application command when it creates the
command. However, InstallAppCmd also needs to be run with the /r option specified before the
command is added to the Ribbon bar.
Running InstallAppCmd without the /r option will remove the commands from Ribbon bar.
Step 3: Run GeoMedia 2014. The custom application commands will appear on the My Workflow tab.
Additional Notes
InstallAppCmd will register application commands under the ApplicationCommands key as
follows:
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Intergraph\GeoMediaTierName\14.00\ApplicationCo
mmands\<command_name>
where GeoMediaTierName can be one of the following:
GeoMedia Professional
GeoMedia Advantage
GeoMedia Essentials
Add-on products will need to create registry entries under every GeoMedia product tier where the custom
application command is expected to be exposed.
NOTE: For 32bit systems the regisration does not go under the Wow6432Node hive.
The /prod option should match the GeoMediaTierName listed under the Intergraph key.
InstallAppCmd should be run for each product tier where the custom application command is expected to
be exposed. If the /prod option is not specified then the Application Command will be added to the
currently configured tier.
Location path to the folder containing the XML configuration files for the application commands
(appcommands1.xml, appcommands2.xml, etc) Same as GeoMedia Classic interface
AppCmdDllPath path to the folder containing the DLL files that implement the commands listed in
the XML files (and bitmaps). Same as GeoMedia Classic interface.
RibbonCmd: 1 = Add to ribbon bar / 0 = do not add to ribbon bar. New for GeoMedia Ribbon
interface.
The schema for the application command XML configuration files has changed and is defined in
gmappcmd.xsd. New optional elements have been added to support the Ribbon interface. The
application command xml configuration files will need to be edited to add any of the new optional
elements. The ribbon framework will use the following entries when creating the new command
button.
o ProgID this is used to generate the proper command ID
o Description this is used for the command text displayed for the button
o Tooltip this is used for the button tooltip. If the separator \n is included in the tooltip
text then the part following the separator is used for the first bold line of the tooltip and
the first part (before the separator) is used the body text below it.
o BitmapRootFileName this is used to specify the bitmap that will be used when
displaying the button. For details, see Choose Custom Bitmaps section of GeoMedia
Command Wizard Help for details.
22
Adding Custom Application Commands
The following default behavior cannot be changed in the Ribbon bar at this time.
o All custom commands are placed in the Custom panel of the My Workflow tab.
o When GeoMedia starts up, the Custom panel will be the last panel on the tab after any
commands that were added by using the Add to My Workflow command.