Nothing Special   »   [go: up one dir, main page]

GeoMedia Customization Guide

Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

GeoMedia Customization

Ribbon Bar Customization for Developers

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

Ribbon Bar Customization for Developers ............................................................................................... 4


Introduction .......................................................................................................................................... 4
Add-on Product Responsibilities ......................................................................................................... 4
Ribbon Bar Customization Topics to Consider ................................................................................... 6

Ribbon Command Buttons and Their Properties .................................................................................... 7


Introduction .......................................................................................................................................... 7
Command Button ................................................................................................................................ 7
Menu Button ........................................................................................................................................ 7
Split Button .......................................................................................................................................... 8
Toggle Button ...................................................................................................................................... 8
Tooltips ................................................................................................................................................ 9

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

Changing the Tab Order on the Ribbon Bar........................................................................................... 13


Introduction ........................................................................................................................................ 13
Add-on Ribbon Bar Tab Order .......................................................................................................... 13

Integrating Help for Add-on Products ..................................................................................................... 14


Introduction ........................................................................................................................................ 14
Add-on Product Changes for Centralized Help ................................................................................. 14

Adding Custom Application Commands ................................................................................................ 21


Introduction ........................................................................................................................................ 21
Summary ........................................................................................................................................... 21
Example User Workflow to Add Custom Commands to the Ribbon Bar .......................................... 21
Additional Notes ................................................................................................................................ 22

May 28, 2013 3


GeoMedia Customization

Ribbon Bar Customization for Developers

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.

Add-on Product Responsibilities


For GeoMedia Desktop, the Add-on product Ribbon resource is loaded directly through the Ribbon bars
LoadFromResource method at application startup. To be able to do this, the Add-on product must:

1. Create a resource only dll that contains:


a. The required ribbon resource.
b. Two image strips that contain the bitmaps used by the ribbon resource for the Large and
Small icons that are displayed on the Ribbon bar.
2. Provide an appcommands.xml file that contains the Add-on command information.
3. Provide a command mapping .xml file that maps the command ProgIDs to the command values
listed in the .mfcribbon-ms file.
4. Create new registry entries to inform GeoMedia where to find these files.

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:

Near the top of the .xml file and under <RIBBON_BAR>

<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.

The resulting .xml should look something like this:

<?xml version="1.0" encoding="UTF-8"?>


<CommandMapping xmlns="http://www.intergraph.com/GeoMedia/Mappings" xmlns:xsi="http:/
/www.w3.org/2001/XMLSchema-instance" version="1.0">
<Category name="RibbonTab1">
<Command>
<ProgID>GeoMediaCommand.Sample1</ProgID>
<Value>40100</Value>
</Command>
<Command>
<ProgID>GeoMediaCommand.Sample2</ProgID>
<Value>40200</Value>
</Command>
<Command>
<ProgID>GeoMediaCommand.Sample3</ProgID>
<Value>40300</Value>
</Command>
</Category>
<Category name="RibbonTab2">
<Command>
<ProgID>GeoMediaCommand.Sample4</ProgID>
<Value>40400</Value>
</Command>
<Command>
<ProgID>GeoMediaCommand.Sample5</ProgID>
<Value>40500</Value>
</Command>
</Category>
</CommandMapping>

May 28, 2013 5


GeoMedia Customization

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\

ApplicationCommands key (this section is same as GeoMedia Classic)


o Unique Application key. Ex: GeoMedia3D
Location path to the folder containing the XML configuration files for the add-on
products commands (appcommands1.xml, appcommands2.xml )
AppCmdDllPath path to the folder containing the DLL files that implement the
commands listed in the XML files (and bitmaps) above.

RibbonCategories key (this is new and at the same level as ApplicationCommands)


o Unique Application key. Ex: GeoMedia3D
Resource Full path to resource containing the simplified version of the Ribbon Bar
resource and the Small and Large Image bitmaps needed by the Ribbon Bar (Step1
above).
CommandMappings Full path to the XML that contains the ProgID to Ribbon Bar
resource Value mapping for the commands in each category (Step3 above).
RibbonResourceID The numeric value assigned to your ribbon resource. This can
be found in your resource.h file. For example, the GeoMedia 3D ribbon resource is
IDRGM3D_RIBBON and the value for this in resource.h is 306. 306 would be the
value to put here.

Ribbon Bar Customization Topics to Consider


The Add-on application commands are serialized during application startup. The mappings .xml
file is used by GeoMedia Framework to replace the IDs in the Add-on ribbon resource with the
real command IDs that GeoMedia will need to use.
Anytime you use Visual Studio to edit your Ribbon it will re-add the header elements you
removed earlier in Step 1a. Therefore you will need to re-edit the .xml to remove the header
elements again.
Add-ons products should make sure there are no duplicate IDs inside a single ribbon resource.
The use of mnemonics is different on the Ribbon, where multiple characters can be assigned for
access keys. Whenever there are access keys that use multiple characters that use the same first
character, they must always be followed by a unique second character. You cannot have three
commands that have the same first character for their access key, where two of them use two
characters for access keys and the other uses a single character for its access key.

6
Ribbon Command Buttons and Their Properties

Ribbon Command Buttons and Their Properties


Introduction
The Ribbon bar provides several options to choose from for command button types including command,
menu, split, and toggle. Each of these button types offers a unique behavior which is suitable for different
aspects of the Ribbon bar user interface.

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.

May 28, 2013 7


GeoMedia Customization

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:

Modify the geometry of existing data. \nEdit Geometry

May 28, 2013 9


GeoMedia Customization

Updating Ribbon Bar Panel Icons When the


Application is Reduced Horizontally
Introduction
If the <IMAGE> Ribbon bar element is not defined, then no icon is displayed when the application is
reduced in size horizontally. This typically results in a default green ball icon being displayed. For
example:

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:

Add-on Products Ribbon Resource .XML File Addition


In each Add-on products ribbon resource .xml file,

(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,

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>


<AFX_RIBBON>
<HEADER>
<VERSION>1</VERSION>
</HEADER>
<RIBBON_BAR>
<IMAGE>
<ID>
<NAME>IDB_3D_SMALL</NAME>
<VALUE>329</VALUE>
</ID>
</IMAGE>
<CATEGORIES>

</CATEGORIES>
</RIBBON_BAR>
</AFX_RIBBON>

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>

May 28, 2013 11


GeoMedia Customization

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.

Note Regarding My Workflow Functionality


With this panel icon change, there is no impact on normal My Workflow functionality (Add, Remove, Load,
Save). However, the panels on My Workflow tab will have no panel icon defined as they come from
different tabs. Therefore when the application is reduced in size, the green ball icons will still show for
each panel on the My Workflow tab. For example:

12
Changing the Tab Order on the Ribbon Bar

Changing the Tab Order on the Ribbon Bar


Introduction
By default, Add-on Ribbon tabs are added to the end of the GeoMedia Ribbon bar. This section describes how
to change the order of the Add-on Ribbon tabs on the GeoMedia Ribbon bar.

Add-on Ribbon Bar Tab Order


The tab order of GeoMedia Add-ons is specified in the registry under

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.

May 28, 2013 13


GeoMedia Customization

Integrating Help for Add-on Products


Introduction
GeoMedia Add-on products can have their Help command on their ribbon tabs. For example:

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.

Add-on Product Changes for Centralized Help


Each add-on product will create a .reg file that specifies the information needed for integrating their Help
command.

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.

The format of the .reg file:

Each add-on product creates a subkey under the


[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMediaTierName\14.00\H
elp]. For example, [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Intergraph\GeoMedia
Professional\14.00\Help\GeoMedia Transportation Manager].
o Under [HKEY_LOCAL_MACHINE\SOFTWARE\Intergraph\GeoMedia
Professional\14.00\Help\Add-on Product Name], create new string value for Add-on
product access keys. For example,

Name Data Description

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,

Name Data Description


The command ProgID. If it is empty, then
CmdProgID CmdProgID the HelpFileLocation has to be populated
with the full path of the Help File (.chm).

DisplayName DisplayName The command display name on the ribbon.

The full path of the Help File (.chm). If the


HelpFileLocation HelpFileLocation CmdProgID is populated, the
HelpFileLocation value will be empty.

Determines which pre-defined icon to use.


The available value enum:

About
IconCategory IconCategory
Help

Learning

Web
rd
AccessKeys AccessKeys The 3 tier access keys.

May 28, 2013 15


GeoMedia Customization

Examples of the add-on .reg file:

(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

(2) GeoMedia Transportation Manager:


Windows Registry Editor Version 5.00

[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"

May 28, 2013 17


GeoMedia Customization

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.

May 28, 2013 19


Adding Custom Application Commands

Adding Custom Application Commands


Introduction
This section describes how custom application commands can be added to the GeoMedia Ribbon bar to
support end-user customization.

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.

Example User Workflow to Add Custom Commands to the Ribbon Bar


Step 1: User creates a custom application command.

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.

InstallAppCmd command syntax:

C:\>InstallAppCmd /h | [/s] [/u] [/r] [/prod <product_name>] /cmdset <command_name>


/loc <xml_folder> /dll <dll_folder>

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.

May 28, 2013 21


GeoMedia Customization

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.

command_name is what is specified for the /cmdset option.

The following values will be under each command_name:

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

o GUIUpdateType this long value is used in conjunction with GUIUpdateMask and


GUIUpdateString to indicate if and when the button should behave as a toggle button
(enabled only & pressed and enabled. The value specified by GUIUpdateType specifies
whether it should be based on user preference, session preference, document property
or visibility of dockable control.
0 None
1 By user preference
2 By session preference
4 By document property
8 By dockable control visible
o GUIUpdateString this string value is used to specify which property/preference value
to use from the specified GUIUpdateType value.
o GUIUpdateMask this is used to specify the mask that should be applied to the
specified property/preference value to set whether the button is to be pressed.

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.

May 28, 2013 23


Additional information on Intergraph Support and Services is available on the Internet.
Use a Web browser to connect to Intergraph Online (http://www.intergraph.com).
For general Intergraph information, call 1-800-791-3357 (U.S.) or 001-256-730-2000 (international).

You might also like