private int GetEditStates()
{
int idx = -1;
DatumType datumType = DatumType;
if (datumType is binary)
idx = (int) Datum.DatumTypes.BINARY;
else if (datumType is boolean)
idx = (int) Datum.DatumTypes.BOOL;
else if (datumType is complex)
idx = (int) Datum.DatumTypes.COMPLEX;
else if (datumType is dateTime)
idx = (int) Datum.DatumTypes.DATETIME;
else if (datumType is @double)
idx = (int) Datum.DatumTypes.DOUBLE;
else if (datumType is hexadecimal)
idx = (int) Datum.DatumTypes.HEX;
else if (datumType is integer)
idx = (int) Datum.DatumTypes.INT;
else if (datumType is @long)
idx = (int) Datum.DatumTypes.LONG;
else if (datumType is octal)
idx = (int) Datum.DatumTypes.OCT;
else if (datumType is @string)
idx = (int) Datum.DatumTypes.STRING;
else if (datumType is unsignedInteger)
idx = (int) Datum.DatumTypes.UINT;
else if (datumType is unsignedLong)
idx = (int) Datum.DatumTypes.ULONG;
return idx;
}