Esempio n. 1
0
        String GenerateComplexDatatypeDefaultValue(ComplexDataType datatype, int indent)
        {
            String strIndent = RteFunctionsGenerator.FillStringForCount("", ' ', indent);
            String str       = "{" + Environment.NewLine;

            for (int i = 0; i < datatype.Fields.Count; i++)
            {
                ComplexDataTypeField field = datatype.Fields[i];
                if (IsDatatypeSimple(field.DataTypeGUID))
                {
                    str += RteFunctionsGenerator.GenerateDefaultValueForSimpleDataTypeField(field.Name, indent + 4);
                }
                else
                {
                    ComplexDataType complexDt = AutosarApplication.GetInstance().ComplexDataTypes.FindObject(field.DataTypeGUID);
                    str += RteFunctionsGenerator.FillStringForCount("", ' ', indent + 4) + "." + field.Name + " = " + Environment.NewLine;
                    str += RteFunctionsGenerator.FillStringForCount("", ' ', indent + 4) + GenerateComplexDatatypeDefaultValue(complexDt, indent + 4);
                }
                if (i != datatype.Fields.Count - 1)
                {
                    str += "," + Environment.NewLine;
                }
            }
            str += Environment.NewLine + strIndent + "}";
            return(str);
        }
Esempio n. 2
0
        void WritePIMDefaultValues(StreamWriter writer, PimInstance pim)
        {
            String FieldValue = "            " + TestArtefactsVariable + "." + RteFunctionsGenerator.GenerateShortPimFunctionName(pim.Defenition) + ".data";

            IGUID datatype = pim.Defenition.DataType;

            if ((datatype is BaseDataType) || (datatype is SimpleDataType) || (datatype is EnumDataType))
            {
                String defValue = GetDefaultValueForUnComplexDataType(pim);
                writer.WriteLine(FieldValue + " = " + defValue + ";");
            }
            else if (datatype is ComplexDataType)
            {
                for (int defValueIndex = 0; defValueIndex < pim.DefaultValues.Count; defValueIndex++)
                {
                    ComplexDataType complexDataType = (ComplexDataType)datatype;
                    PimDefaultValue defaultValue    = pim.DefaultValues[defValueIndex];

                    ComplexDataTypeField dataTypefield = complexDataType.Fields.FindObject(defaultValue.FieldGuid);
                    if (dataTypefield != null)
                    {
                        String dataToWrite = FieldValue + "." + dataTypefield.Name + " = " + defaultValue.DefaultValue + ";";
                        writer.WriteLine(dataToWrite);
                    }
                }
            }
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            if (value is ComplexDataTypeField)
            {
                ComplexDataTypeField field = (value as ComplexDataTypeField);
                //if (field.IsArray)
                //{
                //    return Visibility.Visible;
                //}
                //else
                //{
                //    return Visibility.Hidden;
                //}
            }

            return(Visibility.Hidden);
        }
Esempio n. 4
0
        private void AddComplexDataTypeFields(PimDefaultValuesList newDefValuesList, String baseName, ComplexDataTypeField field)
        {
            object datatype = AutosarApplication.GetInstance().GetDataType(field.DataTypeGUID);

            ComplexDataType compDataType = (ComplexDataType)datatype;

            foreach (ComplexDataTypeField cmplfield in compDataType.Fields)
            {
                if (AutosarApplication.GetInstance().IsDataTypeComlex(cmplfield.DataTypeGUID))
                {
                    AddComplexDataTypeFields(newDefValuesList, baseName + "." + cmplfield.Name, cmplfield);
                }
                else
                {
                    AddComplexDataTypeFieldDefaultValue(newDefValuesList, baseName, cmplfield);
                }
            }
        }
Esempio n. 5
0
        private void AddComplexDataTypeFieldDefaultValue(PimDefaultValuesList newDefValuesList, String baseName, ComplexDataTypeField cmplfield)
        {
            String additionalInfo = "";

            if (cmplfield.IsPointer)
            {
                additionalInfo = "*";
            }

            PimDefaultValue defValue = PimFabric.GetInstance().CreatePimDefaultValue();

            defValue.DefaultValue = "";
            defValue.FieldGuid    = cmplfield.GUID;
            if (baseName.Length > 0)
            {
                defValue.Name = baseName + "." + cmplfield.Name + additionalInfo;
            }
            else
            {
                defValue.Name = cmplfield.Name + additionalInfo;
            }
            newDefValuesList.Add(defValue);
        }