public void ToString(StringBuilder stringBuilder) { if (Modifier == CorElementType.ELEMENT_TYPE_CMOD_OPT) { stringBuilder.Insert(0, string.Format("modopt({0})", TokenObject)); } else { stringBuilder.Insert(0, string.Format("modreq({0})", TokenObject)); } if (NextItem != null) { Type nextItemType = NextItem.GetType(); if (nextItemType == typeof(NuGenTypeSignatureItem)) { stringBuilder.Insert(0, " "); stringBuilder.Insert(0, NextItem); } else if (nextItemType == typeof(NuGenCustomModifier)) { stringBuilder.Insert(0, " "); ((NuGenCustomModifier)NextItem).ToString(stringBuilder); } } }
//CalcCount returns the number of parameters for the chain of factors public override int CalcCount() { if (NextItem != null) { return(NextItem.CalcCount() * Parameters.Count); } return(Parameters.Count); }
public override void Process(Component Simulation, string prefix, SortedDictionary <string, string> factorsToMatch) { foreach (string par in Parameters) { if (factorsToMatch.Contains(new KeyValuePair <string, string>((Builder.useFQKeys ? pfx(prefix) + FactorComponent.Name + "." : "") + Variable.Name, par))) { //replace each target that is within the provided simulation with the child's xml foreach (string target in Targets) { string sRelativeTarget = target.Substring(target.IndexOf(Simulation.Name) + Simulation.Name.Length + 1); Component targetComp = Simulation.Find(sRelativeTarget); if (targetComp != null) { //find name of var in ui or CustomUI nodes XmlNode variablesNode = targetComp.ContentsAsXML; XmlNode varNode = variablesNode.SelectSingleNode("//ui/" + Variable.Name + " | " + "//CustomUI/" + Variable.Name); if (varNode != null) { varNode.InnerText = par; } else { string sSelect = "//property[@name='" + Variable.Name + "']"; varNode = variablesNode.SelectSingleNode(sSelect); if (varNode == null) { sSelect = "//" + Variable.Name; varNode = variablesNode.SelectSingleNode(sSelect); } if (varNode != null) { varNode.InnerText = par; }//TODO if else then record as an error } targetComp.Contents = variablesNode.OuterXml; } else { throw new Exception("target " + target + ", rel path" + sRelativeTarget + " was not found in factor " + (Builder.useFQKeys ? pfx(prefix) + FactorComponent.Name + "." : "") + Variable.Name); } } } } if (NextItem != null) { //call next factor in the list NextItem.Process(Simulation, prefix, factorsToMatch); } }
public override void CalcFactorialList(List <string> factorials, string prefix, SortedDictionary <string, string> scratch) { foreach (string par in Parameters) { SortedDictionary <string, string> s = scratch; s[(Builder.useFQKeys ? pfx(prefix) + FactorComponent.Name + "." : "") + Variable.Name] = par; if (NextItem != null) { NextItem.CalcFactorialList(factorials, prefix, s); } else { factorials.Add(ToKVString(s)); } } }
/// <summary> /// Invokes the NextItem event /// </summary> protected void OnNextItem(string item) => NextItem?.Invoke(this, item);
private void BuildTreeView() { treeView1.Nodes.Clear(); TreeNode node; int CharCount = charCountTrb.Value; Stream stream = File.OpenRead(CSVFilename); if (CSVFilename.EndsWith("gz")) { stream = new GZipStream(stream, System.IO.Compression.CompressionMode.Decompress); } using (var reader = new StreamReader(stream)) { var data = CsvParser.ParseHeadAndTail(reader, ',', '"'); var header = data.Item1; var lines = data.Item2; node = treeView1.Nodes.Add(header[0]); string Start; string Item = header[0]; string ItemStart; string NextItem; string NextItemStart; Start = Item.Substring(0, Item.Length > CharCount ? CharCount : Item.Length); for (var i = 1; i < header.Count; i++) { Item = header[i]; ItemStart = Item.Substring(0, Item.Length > CharCount ? CharCount : Item.Length); if (i < header.Count - 1) { NextItem = header[i + 1]; NextItemStart = NextItem.Substring(0, NextItem.Length > CharCount ? CharCount : NextItem.Length); } else { NextItem = ""; NextItemStart = ""; } if (Item.Substring(0, Item.Length > CharCount ? CharCount : Item.Length) == Start) { node.Nodes.Add(Item); } else { if (NextItemStart == ItemStart) { node = treeView1.Nodes.Add(Item.Substring(0, Item.Length > CharCount ? CharCount : Item.Length)); node.Nodes.Add(Item); } else { node = treeView1.Nodes.Add(Item); } Start = Item.Substring(0, Item.Length > CharCount ? CharCount : Item.Length); } } // if (selectionList.Count > 0) SetCheckStatus(); SearchTreeView(false, SearchTb.Text); } }
public bool Equals(NextItem <T> other) => EqualityComparer <T> .Default.Equals(Item, other.Item) && Equals(Token, other.Token);
private string NativeTypeToString() { string result = string.Empty; bool addNextItem = true; switch (NativeType) { case CorNativeType.NATIVE_TYPE_INT: result = "int"; break; case CorNativeType.NATIVE_TYPE_UINT: result = "unsigned int"; break; case CorNativeType.NATIVE_TYPE_U1: result = "unsigned int8"; break; case CorNativeType.NATIVE_TYPE_U2: result = "unsigned int16"; break; case CorNativeType.NATIVE_TYPE_U4: result = "unsigned int32"; break; case CorNativeType.NATIVE_TYPE_U8: result = "unsigned int64"; break; case CorNativeType.NATIVE_TYPE_I1: result = "int8"; break; case CorNativeType.NATIVE_TYPE_I2: result = "int16"; break; case CorNativeType.NATIVE_TYPE_I4: result = "int32"; break; case CorNativeType.NATIVE_TYPE_I8: result = "int64"; break; case CorNativeType.NATIVE_TYPE_R4: result = "float32"; break; case CorNativeType.NATIVE_TYPE_R8: result = "float64"; break; case CorNativeType.NATIVE_TYPE_BSTR: result = "bstr"; break; case CorNativeType.NATIVE_TYPE_IDISPATCH: result = "idispatch"; break; case CorNativeType.NATIVE_TYPE_IUNKNOWN: result = "iunknown"; break; case CorNativeType.NATIVE_TYPE_INTF: result = "interface"; break; case CorNativeType.NATIVE_TYPE_SAFEARRAY: result = "safearray"; break; case CorNativeType.NATIVE_TYPE_STRUCT: result = "struct"; break; case CorNativeType.NATIVE_TYPE_CUSTOMMARSHALER: StringBuilder resultBuilder = new StringBuilder(); bool parameterFound = false; parameterFound = CreateParameterText(resultBuilder, Guid, parameterFound); parameterFound = CreateParameterText(resultBuilder, UnmanagedType, parameterFound); parameterFound = CreateParameterText(resultBuilder, ManagedType, parameterFound); parameterFound = CreateParameterText(resultBuilder, Cookie, parameterFound); resultBuilder.Insert(0, "custom("); resultBuilder.Append(")"); result = resultBuilder.ToString(); break; case CorNativeType.NATIVE_TYPE_LPSTR: result = "lpstr"; break; case CorNativeType.NATIVE_TYPE_LPTSTR: result = "lptstr"; break; case CorNativeType.NATIVE_TYPE_LPWSTR: result = "lpwstr"; break; case CorNativeType.NATIVE_TYPE_LPSTRUCT: result = "lpstruct"; break; case CorNativeType.NATIVE_TYPE_ASANY: result = "as any"; break; case CorNativeType.NATIVE_TYPE_ARRAY: addNextItem = false; resultBuilder = new StringBuilder(); resultBuilder.Append(NextItem); resultBuilder.Append("["); if (ParamNumber >= 0) { resultBuilder.Append(" + "); resultBuilder.Append(ParamNumber); } resultBuilder.Append("]"); result = resultBuilder.ToString(); break; case CorNativeType.NATIVE_TYPE_MAX: break; case CorNativeType.NATIVE_TYPE_BOOLEAN: result = "bool"; break; case CorNativeType.NATIVE_TYPE_VARIANTBOOL: result = "variant bool"; break; case CorNativeType.NATIVE_TYPE_FUNC: result = "method"; break; case CorNativeType.NATIVE_TYPE_BYVALSTR: result = "byvalstr"; break; case CorNativeType.NATIVE_TYPE_FIXEDSYSSTRING: result = string.Format("fixed sysstring [{0}]", NumberElem); break; case CorNativeType.NATIVE_TYPE_FIXEDARRAY: result = string.Format("fixed array [{0}]", NumberElem); addNextItem = false; break; case CorNativeType.NATIVE_TYPE_ERROR: result = "error"; break; case CorNativeType.NATIVE_TYPE_CURRENCY: result = "currency"; break; case CorNativeType.NATIVE_TYPE_DATE: result = "date"; break; case CorNativeType.NATIVE_TYPE_DECIMAL: result = "decimal"; break; case CorNativeType.NATIVE_TYPE_OBJECTREF: result = "objectref"; break; case CorNativeType.NATIVE_TYPE_SYSCHAR: result = "syschar"; break; case CorNativeType.NATIVE_TYPE_TBSTR: result = "tbstr"; break; case CorNativeType.NATIVE_TYPE_VARIANT: result = "variant"; break; case CorNativeType.NATIVE_TYPE_VOID: result = "void"; break; default: throw new NotImplementedException(string.Format("Unknown native type ('{0}').", NativeType)); } if (addNextItem && NextItem != null) { result += " " + NextItem.ToString(); } return(result); }