//============================================================================ /// <summary> /// Adds an item to the list of user-specified outputs /// </summary> /// <param name="sName"></param> /// <param name="sAlias"></param> /// <param name="iDecPl"></param> /// <param name="Aggreg"></param> //============================================================================ public void addVariable(string sName, string sAlias, int iDecPl, TGenericReporter.AggregType Aggreg) { if (sName.Length > 0) { TMainOutputSpecifier Specifier = new TMainOutputSpecifier(sName); // Make up the specifier Specifier.iDecPl = iDecPl; Specifier.Aggreg = Aggreg; if (sAlias.Length > 0) { Specifier.sAlias = sAlias; } else { Specifier.sAlias = sName; } //add the name of the variable to the FRequests list Specifier.iReqIdx = FRequestNames.IndexOf(Specifier.sName); if (Specifier.iReqIdx == -1) { // If the main variable name is new, Specifier.iReqIdx = FRequestNames.Count; // add it to the list of variables to request FRequestNames.Add(Specifier.sName); FRequests.Add(null); //keep an item parallel to it } Specifier.valTree = new TValTree(null, Specifier); Specifier.valTree.columnName = Specifier.sAlias; FOutputs.Add(Specifier); // Store the output specifier in FOutputs } }
//============================================================================ /// <summary> /// /// </summary> /// <param name="aParent"></param> /// <param name="aSpecifier"></param> //============================================================================ public TValTree(TValTree aParent, TMainOutputSpecifier aSpecifier) { parent = aParent; specifier = aSpecifier; varId = -1; colNo = -1; index = 0; subTrees = new List <TValTree>(); }
//============================================================================== /// <summary> /// Return a ptr to a TMainOutputSpecifier object found at index in the /// FOutputs list of objects. Returns nil if not found. /// </summary> /// <param name="index">index = 0->n</param> /// <returns></returns> //============================================================================== public TMainOutputSpecifier getVariable(uint index) { TMainOutputSpecifier result = null; if ((index >= 0) && (index < FOutputs.Count)) { result = FOutputs[(int)index]; } return(result); }
//============================================================================== /// <summary> /// /// </summary> /// <param name="sVariableName"></param> /// <param name="aValue"></param> /// <param name="iParentID"></param> /// <param name="iIndex"></param> /// <param name="Specifier"></param> /// <returns></returns> //============================================================================== protected virtual int defineVariable(string sVariableName, TDDMLValue aValue, int iParentID, int iIndex, TMainOutputSpecifier Specifier) { int result; if (FColumns.Count < 1) { result = -1; } else { result = FColumns.Count; } return(result); }