Difference between revisions of "MDC InformationTips"
(→Example) |
(→Configuration) |
||
Line 9: | Line 9: | ||
== Configuration == | == Configuration == | ||
− | Currently configuration is provided via a system environment variable. This variable is | + | Currently configuration is provided via a system environment variable. This variable is MDC_BALLOON_MSG. The variable can contain any text and can contain message functions, which are in the form ''${namespace:function}''. There is no escaping provided as the balloon tips are more of a debug/awareness tool. |
New lines are tab characters are also supported in the balloon tips. Although, again, there is no support for escaping. New lines can be added by using the Eiffel-esk ''%N'' and tab characters can be added using ''%T''. | New lines are tab characters are also supported in the balloon tips. Although, again, there is no support for escaping. New lines can be added by using the Eiffel-esk ''%N'' and tab characters can be added using ''%T''. |
Latest revision as of 12:13, 25 May 2006
This document details the customization of the balloon tips provided by the Eiffel Metadata Consumer.
Contents
Requirements
Balloon tips are supported in the 2.0, or greater, release of the .NET framework. This means you will either need to build the Metadata Consumer using the 2.0 (using the configuration target 'consumer_20') or be using the 64bit version of EiffelStudio.
Configuration
Currently configuration is provided via a system environment variable. This variable is MDC_BALLOON_MSG. The variable can contain any text and can contain message functions, which are in the form ${namespace:function}. There is no escaping provided as the balloon tips are more of a debug/awareness tool.
New lines are tab characters are also supported in the balloon tips. Although, again, there is no support for escaping. New lines can be added by using the Eiffel-esk %N and tab characters can be added using %T.
Functions
There are a number of functions encompassed on three namespaces.
Message functions are case-insensitive, but use the lower-case Eiffel-like convention.
module Namespace
The module namespace pertains to the Metadata consumer tool itself, so provides information on the consumer binary only.
Here are a list of functions:
- name: Assembly name.
- version: Assembly version.
- culture: Assembly locale.
- key: Assembly public key token.
- full_name: Assembly fusion name.
- path: Path where assembly was loaded from.
- clr: Version of the CLR the assembly was loaded under.
assembly Namespace
The assembly namespace pertains to the assembly being consumed at any point during the consumer instatiated lifespan.
Here are a list of functions:
- name: Assembly name.
- version: Assembly version.
- culture: Assembly locale.
- key: Assembly public key token.
- full_name: Assembly fusion name.
- path: Path where assembly was loaded from.
consume Namespace
The consume namespace pertains to information on the consume process.
Here are a list of functions:
- reason: A brief description of why the assembly is being consumed.
- cache_id: An Eiffel Assembly Cache ID (in the form of a GUID) for an assembly being consumed.
- cache_path: Full path to an Eiffel Assembly Cache the Metadata Consumer was initialized with.
Example
The default balloon tooltip is created using:
set MDC_BALLOON_MSG= Consuming assembly '${assembly:name}, Version=${assembly:version}'.%N%NCLR Version: ${module:clr}%NReason: ${consume:reason}%NAssembly:${assembly:path}%N%NID: ${consume:cache_id}
Final Note
Balloon tips are limited to 256 character (255 printable and 1 null character). This is a Micrsoft API limitation in the Win32 API. Given that a file path can be up to 256 character you should pay attention to what message functions you use.