Ejemplo n.º 1
0
        /// <summary>
        /// Displays the Dialog as modal
        /// </summary>
        /// <returns>FieldConstant</returns>
        public FieldConstant ShowDialog(FieldDataType.DataTypeEnum dataType, FieldConstant defaultConstant)
        {
            m_dataType      = dataType;
            OriginalLiteral = defaultConstant;
            setDefaultValues();
            Window dlg = new GetConstantDialogView();

            dlg.Owner       = mainWindowExport.Value;
            dlg.DataContext = this;
            dlg.ShowDialog();
            return(Literal);
        }
Ejemplo n.º 2
0
 protected override void Run()
 {
     // do a validation
     if (FieldConstant.CheckSyntax(m_GetConstantDialog.m_dataType, m_GetConstantDialog.LiteralText))
     {
         m_GetConstantDialog.Literal = new FieldConstant(m_GetConstantDialog.m_dataType, m_GetConstantDialog.LiteralText);
     }
     else
     {
         m_GetConstantDialog.setDefaultValues();
     }
 }
Ejemplo n.º 3
0
 protected override void Run()
 {
     // Don't need to do anything with SignalId, the tree does the work of filling in SignalId
     if (m_SignalChooserDialog.LiteralSelected)
     {
         // do a validation
         if (FieldConstant.CheckSyntax(m_SignalChooserDialog.OriginalSignalIn.DataType.DataType, m_SignalChooserDialog.LiteralText))
         {
             m_SignalChooserDialog.Literal = new FieldConstant(m_SignalChooserDialog.OriginalSignalIn.DataType.DataType, m_SignalChooserDialog.LiteralText);
         }
         else
         {
             m_SignalChooserDialog.setDefaultValues();
         }
     }
 }
Ejemplo n.º 4
0
 public FieldConstant GetConstant(FieldDataType.DataTypeEnum dataType, FieldConstant defaultConstant)
 {
     return(getConstantDialog.ShowDialog(dataType, defaultConstant));
 }
        public static IEnumerable <Tuple <NodeSignal, object> > ParseEncodedSignals(string encoded, IEnumerable <NodeSignal> signals)
        {
            // parse it all into values
            var  dict  = new Dictionary <FieldGuid, object>();
            int  index = 0;
            bool found = true;

            while (found)
            {
                found = false;
                int commaPos1 = encoded.IndexOf(SEPARATOR, index);
                if (commaPos1 > 0) // signalId
                {
                    int commaPos2 = encoded.IndexOf(SEPARATOR, commaPos1 + 1);
                    if (commaPos2 > 0) // DataType
                    {
                        int commaPos3 = encoded.IndexOf(SEPARATOR, commaPos2 + 1);
                        if (commaPos3 > 0) // value length
                        {
                            string valueLengthString = encoded.Substring(commaPos2 + 1, commaPos3 - commaPos2 - 1);
                            int    valueLength;
                            if (int.TryParse(valueLengthString, out valueLength))
                            {
                                string valueString = encoded.Substring(commaPos3 + 1, valueLength);
                                if (valueString.Length == valueLength)
                                {
                                    string guidString = encoded.Substring(index, commaPos1 - index);
                                    if (FieldGuid.CheckSyntax(guidString))
                                    {
                                        var    signalId       = new FieldGuid(guidString);
                                        string dataTypeString = encoded.Substring(commaPos1 + 1, commaPos2 - commaPos1 - 1);
                                        FieldDataType.DataTypeEnum dataType;
                                        if (Enum.TryParse <FieldDataType.DataTypeEnum>(dataTypeString, out dataType))
                                        {
                                            if (FieldConstant.CheckSyntax(dataType + FieldConstant.SEPARATOR + valueString))
                                            {
                                                var constant = new FieldConstant(dataType + FieldConstant.SEPARATOR + valueString);
                                                found = true;
                                                index = commaPos3 + valueLength + 1 + END_OF_LINE.Length;
                                                dict.Add(signalId, constant.Value);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            // match it up to the signals
            var retVal = new List <Tuple <NodeSignal, object> >();

            foreach (var signal in signals)
            {
                if (dict.ContainsKey(signal.SignalId))
                {
                    retVal.Add(new Tuple <NodeSignal, object>(signal, dict[signal.SignalId]));
                }
            }
            return(retVal);
        }