public void OrderedChildListTest() { var root = new FlexNodeReport(null, null); root.ProcessAsTable = true; root.Add("1"); root.Add("2"); root.Add("3"); Assert.AreEqual(3, root.ChildListCount); root[2].DataItem.Top = 1; root[2].DataItem.Left = 100; root[1].DataItem.Top = 10; root[1].DataItem.Left = 10; root[0].DataItem.Top = 20; root[0].DataItem.Left = 1; var ordered = new List <FlexNodeReport>(); foreach (var nd in root.OrderedChildList) { ordered.Add((FlexNodeReport)nd); } Assert.AreSame(root[0], ordered[2]); Assert.AreSame(root[1], ordered[1]); Assert.AreSame(root[2], ordered[0]); }
public void ShouldProcessAstableVisitorTest() { var root = new FlexNodeReport(null, null) { ProcessAsTable = true }; var n = root.Add("1"); Assert.IsFalse(n.ProcessAsTable); root.AcceptForward(new ShouldProcessAsTableVisitor()); Assert.IsTrue(n.ProcessAsTable); }
public static FlexNodeReport ConvertNode(FlexNode nodeFF, EditableList <ActivityParameter> aps) { var rootNode = new FlexNodeReport(null, null); if (nodeFF != null) { foreach (var ndc in nodeFF.ChildList) { CopyNode(rootNode, (FlexNode)ndc, aps); } } return(rootNode); }
public static FlexNodeReport CopyNode(FlexNodeReport parentNode, FlexNode nodeFF, EditableList <ActivityParameter> aps) { //We have to create two nodes for PrameterTemplate and ParameterDeletedFromTemplate FlexItem di1 = null; FlexItem di2 = null; if (nodeFF.DataItem != null) { var lo = nodeFF.DataItem.LinkedObject; if (lo is SectionTemplate) { var st = (SectionTemplate)lo; if (st.blnGrid) { di1 = new FlexTableItem(st); } else { di1 = new FlexLabelItem(st); } } else if (lo is SectionDeletedFromTemplate) { di1 = new FlexLabelItem((SectionDeletedFromTemplate)lo); } else if (lo is ParameterTemplate && aps != null) { var pt = (ParameterTemplate)lo; di1 = new FlexLabelItem(pt, false); var needAp = true; var st = pt.ParentSection; if (st != null && st.blnGrid) { needAp = false; } if (needAp) { var ap = aps.FirstOrDefault(c => c.idfsParameter == pt.idfsParameter); if (ap != null) { di2 = new FlexLabelItem(pt, ap) { IsParameterValue = true }; //di2.Left = di1.Width - pt.intLabelSize; } } } else if (lo is ParametersDeletedFromTemplate && aps != null)//String { var pt = (ParametersDeletedFromTemplate)lo; di1 = new FlexLabelItem(pt, false); var ap = aps.FirstOrDefault(c => c.idfsParameter == pt.idfsParameter); if (ap != null) { di2 = new FlexLabelItem(pt, ap) { IsParameterValue = true } } ; } else if (lo is Label) { di1 = new FlexLabelItem((Label)lo); } else if (lo is PredefinedStub) { di1 = new FlexLabelItem(nodeFF.Text, new Size(nodeFF.Width, 0), lo); } else if (lo is String) { di1 = new FlexLabelItem(nodeFF.DataItem.LinkedObject.ToString(), new Size(nodeFF.Width, 0), lo); } } var nodeReport = new FlexNodeReport(parentNode, di1); parentNode.Add(nodeReport); if (di2 != null) { var nodeReport2 = new FlexNodeReport(parentNode, di2); parentNode.Add(nodeReport2); } foreach (var nd in nodeFF.ChildList) { CopyNode(nodeReport, (FlexNode)nd, aps); } return(nodeReport); }