Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • IArgument needs a mechanism for identifying the type of argument e.g. File, Path, int double etc Very usful for providing customised GUI functionality
    • (question) Adrian's proposal is below
      Code Block
      java
      java
      
      namespace OpenMI.Standard
      {
          public enum EArgType
          {
              String = 0, // default
              Bool,
              Int,
              Double,
              Path, // presummed to exist and accessable
              FilePath, // presummed to exist and accessable
              PathNew,
              FilePathNew,
              XML, // Rob: can be used together with a schema for complex argument data
              MIME, // Rob: might be useful to pass in images, or text documents, etc.
          }
      
          /// <summary>
          /// The IArgument interface defines a key - value pair. If the property ReadOnly is
          /// false the value is editable otherwise it is read-only.
          /// </summary>
          public interface IArgument : IDescribable
          {
              /// <summary>
              /// Type that string value represents and can be converted to
              /// </summary>
              EArgType ValueType { get; }
      
      	/// <summary>
              /// The key (string) in key-value pair.
      	/// </summary>
      	string Key {get;}
      
      	/// <summary>
              /// <para>The value (double) in key-value pair.</para>
              ///
              /// <para>If the ReadOnly property is true and the property is attempted to be changed
              /// from outside an exception must be thrown.</para>
      	/// </summary>
      	string Value { get; set; }
      
      	/// <summary>
              /// Defines whether the Values property may be edited from outside.
      	/// </summary>
      	bool ReadOnly {get;}
          }
      }
      
    • (question) Gena's proposal:

Current version:

Code Block
java
java
    public interface IArgument : IDescribable
    {
        string Key { get; }
        string Value { get; set; }
        bool ReadOnly { get; }
    }

Proposed change to cover types:

Code Block
java
java
    public interface IArgument : IDescribable
    {
        string Key { get; }
        Type ValueType { get; }
        object Value { get; set; }
        bool ReadOnly { get; }
    }

...