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

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.