/// <summary> /// Creates for all screens of the list a braille node depending on the template object /// </summary> /// <param name="screenList">the list of screen names</param> /// <param name="tree">a filtered tree object</param> /// <param name="templateObject">the template object</param> private void createsBrailleNodeForScreenList(List <String> screenList, ref Object tree, TemplateUiObject templateObject) { if (screenList == null) { return; } ATemplateUi generalUiInstance; if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.Equals(new GroupelementsOfSameType())) { generalUiInstance = new TemplateNode(strategyMgr, grantTrees, treeOperation); } else { generalUiInstance = new TemplateGroupAutomatic(strategyMgr, grantTrees, treeOperation); } foreach (String screen in screenList) { TemplateUiObject copyTemp = templateObject.DeepCopy(); copyTemp.Screens = new List <string>(); copyTemp.Screens.Add(screen); generalUiInstance.createUiElementFromTemplate(tree, copyTemp); } }
public override void createUiElementFromTemplate(Object filteredSubtree, TemplateUiObject templateObject, String brailleNodeId = null) //noch sollte eigenltich das OSM-Element reichen, aber bei Komplexeren Elementen wird wahrscheinlich ein Teilbaum benötigt { if (templateObject.Screens != null) { List <String> screenList = templateObject.Screens; foreach (String screen in screenList) { TemplateUiObject copyTemplate = templateObject.DeepCopy(); copyTemplate.Screens = new List <string>(); copyTemplate.Screens.Add(screen); Object brailleNode = createSpecialUiElement(filteredSubtree, copyTemplate); addSubtreeInBrailleTree(brailleNode); } } }