scrollbar |
---|
See also: OATC Wiki Home
Date: June 8 - 11, 2009
Venue:Deltares , Rotterdamseweg 185, Delft, The Netherlands
...
Rob Knapen, Alterra, Wageningen UR (Rob.Knapen@wur.nl)
Standa Vanecek, DHI (s.vanecek@dhi.cz)
Adrian Harper, Wallingford Software (adrian.harper@wallingfordsoftware.com)
Stef Hummel, Deltares (stef.hummel@deltares.nl)
~don Unknown User (don), Deltares (gennadii.donchyts@deltares.nl)
~jnh@dhigroup Unknown User (jnh@dhigroup.com), DHI (jnh@dhigroup.com)
Peter Schade, Bundesanstalt fuer Wasserbau (peter.schade@baw.de)
Rob Brinkman, Deltares (rob.brinkman@deltares.nl)
Bert Jagers, Deltares (bert.jagers@deltares.nl)
Apologies:
Jesper Grooss, DHI (jgr@dhigroup.com)
Jan Gregersen, LicTek, (Gregersen@LicTek.dk)
Unknown User (moovida), Andrea Antonello, Universita` di Trento, (andrea.antonello@gmail.com)
...
Stef experimented a bit. Two major issues to have a look at came up:
- when to extrapolate/interpolate
- the component needs to know which decorator is a TimeDecorator.
See discussion in chapter 4 on decorators.
2.5 GUI
The Gui is quite on its way. To be done:
...
- IArgument needs a mechanism for identifying the type of argument e.g. File, Path, int double etc Very usful for providing customised GUI functionality
Various solutions were proposed (see below). Disadvantage of having an enumeration in the Standard is that it can not be extended easily. An object type definition would be more specific.
Rob K. concludes that Alterra's approach works quite well for what we want. The approach is based on recognized strings in the key of the Argument.
Action: Rob K. will provide an example.
Done June 10: Please see the IArgumentV2.java class file that I have attached to these meeting notes. This interface documents all the extensions we made to standard OpenMI 1.2 IArgument interface to make it more usable for our (GUI related) purposes (some time ago). The comments in the source file should provide all the explanation needed
We have studied the example and various propositions, and choosefor to the following solution (to be documented yet)
standard OpenMI 1.2 IArgument interface to make it more usable for our (GUI related) purposes (some time ago). The comments in the source file should provide all the explanation needed
We have studied the example and various propositions, and choosefor to the following solution:
Code Block public interface IArgument : IIdentifiable, IDescribable { Type ValueType { get; } bool IsRequired { get; } bool IsReadOnly { get; } object Value { get; set; } object DefaultValue { get; } IList<object> GetPossibleValues(); string Characteristics { get; } }
The Characteristics attribute can be used to describe requirements on or additional qualification on the argument, e.g.: "NewFile", "ExistingFile". Although understanding the characteristics is GUI-dependent, we expect that a list of generally known qualifiers will gradually arise.
The IsReadOnly attribute defines whether the Values property may be edited from outside, as in OpenMI 1.4.
Some Oatc members think it should be removed (assuming that every argument is editable), others think it is needed.
Stef has given two examples of 1.4. omi files where to his opinion it is needed indeed.
Adrian's proposal:
Code Block | ||||
---|---|---|---|---|
| ||||
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;} } } |
...
They have not been reviewed at this meeting.
9. Any other business
No other business.