Changes between Initial Version and Version 1 of FdoMeasureUnitLocaleSupport


Ignore:
Timestamp:
Oct 18, 2007, 8:38:49 AM (17 years ago)
Author:
gregboone
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • FdoMeasureUnitLocaleSupport

    v1 v1  
     1
     2== FDO !MeasureUnit Locale Support ==
     3
     4=== Overview ===
     5
     6As a result of integrating usage of the FDO Measure Units interfaces into Autodesk Map during the Autodesk Map 2007 development cycle, a deficiency was uncovered in the current specification of the FDO API.
     7
     8The Map development team wished to display the Measure Unit names, retrieved from the Autodesk FDO Raster Provider, on their user interface. This proved to be impossible. Map requires that all strings present on its UI be externalized and it was discovered that the strings returned from the FDO !MeasureUnit API were hard-coded. The !MeasureUnit names were hard-coded in the Raster provider because they represented a look-up value into the Raster !MeasureUnit collection. Externalizing these strings would mean that the lookup value would fail to be found if the Map drawing file was moved from one locale to another.
     9
     10A solution to this problem was identified in the 2007 timeframe but was not implemented due to time constraints. In response to the inability of FDO to externalize the strings, the Autodesk Map team implemented a workaround that mapped the hard-coded FDO return values to an externalized lookup list specified in a resource catalog.
     11
     12In order to resolve this issue, an FDO specific solution should be implemented that would see the FDO API updated to include a !LocalizedName property on the !MeasureUnit interfaces. The following sections outline how this new property will be defined.
     13
     14==== FdoICreateMeasureUnit ====
     15
     16The FdoICreateMeasureUnit interface will be modified as follows:
     17
     18===== !GetLocalizedName =====
     19
     20A !GetLocalizedName method will be added to the FdoICreateMeasureUnit interface
     21
     22{{{
     23    /// \brief
     24    /// Gets the localized name of the measure unit to be added.
     25    ///
     26    /// \remarks
     27    /// The localized name will need to be externalized in an
     28    /// FDO Provider Message Catalog. This value is to be used
     29    /// if the name of the measure unit is to be displyed
     30    /// on a user interface.
     31    ///
     32    /// \return
     33    /// Returns the localized name of the measure unit
     34    ///
     35    FDO_API virtual FdoString* GetLocalizedName() = 0;
     36}}}
     37
     38===== !SetLocalizedName =====
     39
     40A !SetLocalizedName method will be added to the FdoICreateMeasureUnit interface
     41
     42
     43{{{
     44    /// \brief
     45    /// Sets the localized name of the measure unit to be added.
     46    ///
     47    /// \param value
     48    /// Input The localized name of the measure unit
     49    /// The localized name will need to be externalized
     50    /// in an FDO Provider Message Catalog. This value is to
     51    /// be used if the name of the measure unit is to be displyed
     52    /// on a user interface.
     53    ///
     54    FDO_API virtual void SetLocalizedName( FdoString* value ) = 0;
     55}}}
     56
     57==== FdoIMeasureUnitReader ====
     58
     59The FdoIMeasureUnitReader interface will be modified as follows:
     60
     61===== !GetLocalizedName =====
     62
     63A !GetLocalizedName method will be added to the FdoIMeasureUnitReader interface
     64
     65
     66{{{
     67    /// \brief
     68    /// Gets the localized name of the measure unit currently being read.
     69    ///
     70    /// \remarks
     71    /// The localized name will need to be externalized in an
     72    /// FDO Provider Message Catalog. This value is to be used
     73    /// if the name of the measure unit is to be displyed
     74    /// on a user interface.
     75    ///
     76    /// \return
     77    /// Returns the localized name of the measure unit
     78    ///
     79    FDO_API virtual FdoString* GetLocalizedName() = 0;
     80}}}
     81
     82
     83