public void Add(FormulaOperationType formulaOperationType, byte firstOperand = 0, ushort secondOperand = 0, string comment = null) { var formulaOperation = new FormulaOperation() { FormulaOperationType = formulaOperationType, FirstOperand = firstOperand, SecondOperand = secondOperand, Comment = comment }; FormulaOperations.Add(formulaOperation); }
public DescriptorLogicItem(FormulaOperation formulaOperation, DescriptorsViewModel descriptorsViewModel) { FormulaOperation = formulaOperation; DescriptorsViewModel = descriptorsViewModel; FirstOperand = FormulaOperation.FirstOperand.ToString(); SecondOperand = FormulaOperation.SecondOperand.ToString(); switch (FormulaOperation.FormulaOperationType) { case FormulaOperationType.ADD: case FormulaOperationType.AND: case FormulaOperationType.COM: case FormulaOperationType.DUP: case FormulaOperationType.END: case FormulaOperationType.EQ: case FormulaOperationType.GE: case FormulaOperationType.GT: case FormulaOperationType.LE: case FormulaOperationType.LT: case FormulaOperationType.MUL: case FormulaOperationType.NE: case FormulaOperationType.NEG: case FormulaOperationType.OR: case FormulaOperationType.SUB: case FormulaOperationType.XOR: FirstOperand = ""; SecondOperand = ""; break; case FormulaOperationType.CONST: FirstOperand = ""; break; default: IsBold = true; var stateTypeToIconConverter = new XStateTypeToIconConverter(); StateIcon = (string)stateTypeToIconConverter.Convert((XStateBit)FormulaOperation.FirstOperand, null, null, null); var stateTypeToStringConverter = new XStateTypeToStringConverter(); FirstOperand = (string)stateTypeToStringConverter.Convert((XStateBit)FormulaOperation.FirstOperand, null, null, null); var descriptorViewModel = DescriptorsViewModel.Descriptors.FirstOrDefault(x => x.Descriptor.XBase.GKDescriptorNo == FormulaOperation.SecondOperand); if (descriptorViewModel != null) { DescriptorIcon = descriptorViewModel.ImageSource; SecondOperand = descriptorViewModel.Descriptor.XBase.PresentationName; } break; } }