public void updateImg() { if (grantTrees.filteredTree == null) { Console.WriteLine("Die Anwendung wurde noch nicht gefiltert - bitte 'F5' drücken"); return; } String brailleId = ""; GeneralProperties propertiesForSearch = new GeneralProperties(); propertiesForSearch.controlTypeFiltered = "Screenshot"; List <Object> treeElement = treeOperation.searchNodes.getNodesByProperties(grantTrees.brailleTree, propertiesForSearch, OperatorEnum.and); if (treeElement.Count > 0) { brailleId = strategyMgr.getSpecifiedTree().GetData(treeElement[0]).properties.IdGenerated; } if (brailleId.Equals("")) { return; } OsmTreeConnectorTuple osmRelationships = grantTrees.osmTreeConnections.Find(r => r.BrailleTreeId.Equals(brailleId) || r.FilteredTreeId.Equals(brailleId)); if (osmRelationships != null) { //strategyMgr.getSpecifiedFilter().updateNodeOfFilteredTree(osmRelationships.FilteredTree); treeOperation.updateNodes.filteredNodeElementOfApplication(osmRelationships.FilteredTreeId); OSMElements.OSMElement relatedBrailleTreeObject = treeOperation.searchNodes.getBrailleTreeOsmElementById(osmRelationships.BrailleTreeId); if (!relatedBrailleTreeObject.Equals(new OSMElements.OSMElement())) { strategyMgr.getSpecifiedBrailleDisplay().updateViewContent(ref relatedBrailleTreeObject); } } }
/// <summary> /// Adds a parent element in the tree. /// </summary> /// <param name="parentElement">the parent Automation element</param> /// <param name="tree">the tree</param> private void addParentOfNode(AutomationElement parentElement, ref Object tree) { Object tree2 = getStrategyMgr().getSpecifiedTree().NewTree(); OSMElements.OSMElement osmElement = new OSMElements.OSMElement(); osmElement.properties = setProperties(parentElement); #region set grantFilterStrategiesChildren if (tree != null) { OSMElements.OSMElement osmChild = strategyMgr.getSpecifiedTree().GetData(tree); if (osmChild != null && !osmChild.Equals(new OSMElements.OSMElement())) { if (osmChild.properties.grantFilterStrategiesChildren != null) { osmElement.properties.grantFilterStrategiesChildren = osmChild.properties.grantFilterStrategiesChildren; } else { osmElement.properties.grantFilterStrategiesChildren = new List <string>(); osmElement.properties.grantFilterStrategiesChildren.Add(osmChild.properties.grantFilterStrategy); } } } #endregion Object node = strategyMgr.getSpecifiedTree().AddChild(tree2, osmElement); strategyMgr.getSpecifiedTree().AddChild(node, tree); strategyMgr.getSpecifiedTree().Clear(tree); strategyMgr.getSpecifiedTree().AddChild(tree, tree2); }
/// <summary> /// Determinates the screen name to a given screen id /// </summary> /// <param name="screenId">the id of the screen</param> /// <returns>Returns the screen name OR <c>null</c></returns> public String getScreenIdToScreenName(String screenId) { if (screenId == null) { return(null); } OSMElements.OSMElement osm = getBrailleTreeOsmElementById(screenId); if (osm == null || osm.Equals(new OSMElements.OSMElement()) || osm.brailleRepresentation == null) { return(null); } return(osm.brailleRepresentation.screenName); }
protected override Object createSpecialUiElement(Object filteredSubtree, TemplateUiObject templateObject, string brailleNodeId = null) { OSMElements.OSMElement createdParentNode = createParentBrailleNode(filteredSubtree, templateObject); Object brailleSubtree = strategyMgr.getSpecifiedTree().NewTree(); Object brailleSubtreeParent = strategyMgr.getSpecifiedTree().AddChild(brailleSubtree, createdParentNode); int index = 0; foreach (OSMElements.OSMElement child in templateObject.groupElements) { TemplateUiObject childTemplate = new TemplateUiObject(); childTemplate.osm = child; childTemplate.Screens = templateObject.Screens; OSMElements.OSMElement childOsm = createChildBrailleNode(filteredSubtree, childTemplate, templateObject.viewName + "_" + index); if (!childOsm.Equals(new OSMElements.OSMElement())) { strategyMgr.getSpecifiedTree().AddChild(brailleSubtreeParent, childOsm); index++; } } return(brailleSubtree); }
/// <summary> /// Initialisiert, sofern nochnicht vorhanden, ein Ausgabegerät mit den angegebenen Ansichten; /// Aktualisiert die Darstellung des Knotens "braille123_6" /// </summary> /// <param name="fromGuiElement">gibt an welche <code>GeneralProperties</code>-Eigenschaft angezeigt werden soll</param> public void UiBrailleDis(String fromGuiElement) { try { // String path = @"Templates" + System.IO.Path.DirectorySeparatorChar + "TemplateUi.xml"; String path = @"C:\Users\mkarlapp\Desktop\TemplateUi2.xml"; // setDauGui(displayedGuiElementType); /* ITreeStrategy<OSMElement.OSMElement> subtreeNav = strategyMgr.getSpecifiedTreeOperations().getSubtreeOfScreen("A1"); * if (subtreeNav != null && subtreeNav.Count > 0) * { * ui.addNavigationbarForScreen(path, subtreeNav); * } * GuiFunctions guiFuctions = new GuiFunctions(strategyMgr, grantTrees); * if (guiFuctions.isTemplateUsableForDevice(path)) * { * ui.createUiElementsAllScreensSymbolView(path); * // ui.createUiElementsNavigationbarScreensSymbolView(path); * ui.updateNavigationbarScreens(path); * * }*/ treeOperation.updateNodes.updateBrailleGroups(); if (strategyMgr.getSpecifiedBrailleDisplay() == null) { Settings settings = new Settings(); strategyMgr.setSpecifiedBrailleDisplay(settings.getPossibleBrailleDisplays()[0].className); // muss dynamisch ermittelt werden strategyMgr.getSpecifiedBrailleDisplay().setStrategyMgr(strategyMgr); strategyMgr.getSpecifiedBrailleDisplay().setGeneratedGrantTrees(grantTrees); strategyMgr.getSpecifiedBrailleDisplay().setTreeOperation(treeOperation); // strategyMgr.getSpecifiedBrailleDisplay().initializedSimulator(); strategyMgr.getSpecifiedBrailleDisplay().setActiveAdapter(); strategyMgr.getSpecifiedBrailleDisplay().generatedBrailleUi(); } else { if (!strategyMgr.getSpecifiedBrailleDisplay().isInitialized()) { strategyMgr.getSpecifiedBrailleDisplay().setActiveAdapter(); strategyMgr.getSpecifiedBrailleDisplay().generatedBrailleUi(); } } strategyMgr.getSpecifiedBrailleDisplay().generatedBrailleUi(); if (grantTrees.osmTreeConnections == null) { List <OsmTreeConnectorTuple> relationship = ExampleTree.setOsmRelationship(); grantTrees.osmTreeConnections = relationship; } else { if (grantTrees.filteredTree == null) { Console.WriteLine("Die Anwendung wurde noch nicht gefiltert - bitte 'F5' drücken"); return; } GeneralProperties propertiesForSearch = new GeneralProperties(); propertiesForSearch.controlTypeFiltered = "TextBox"; List <Object> treeElement = treeOperation.searchNodes.getNodesByProperties(grantTrees.brailleTree, propertiesForSearch, OperatorEnum.and); String brailleId = ""; if (treeElement.Count > 0) { brailleId = strategyMgr.getSpecifiedTree().GetData(treeElement[0]).properties.IdGenerated; } if (brailleId.Equals("")) { return; } OsmTreeConnectorTuple osmRelationships = grantTrees.osmTreeConnections.Find(r => r.BrailleTreeId.Equals(brailleId) || r.FilteredTreeId.Equals(brailleId)); if (osmRelationships != null) { //strategyMgr.getSpecifiedFilter().updateNodeOfFilteredTree(osmRelationships.FilteredTree); treeOperation.updateNodes.filteredNodeElementOfApplication(osmRelationships.FilteredTreeId); OSMElements.OSMElement relatedBrailleTreeObject = treeOperation.searchNodes.getBrailleTreeOsmElementById(osmRelationships.BrailleTreeId); if (!relatedBrailleTreeObject.Equals(new OSMElements.OSMElement())) { treeOperation.updateNodes.updateNodeOfBrailleUi(ref relatedBrailleTreeObject); strategyMgr.getSpecifiedBrailleDisplay().updateViewContent(ref relatedBrailleTreeObject); } } } } catch (Exception ex) { Console.WriteLine("An error occurred: '{0}'", ex); } }
protected override Object createSpecialUiElement(Object filteredSubtree, TemplateUiObject templateObject, String brailleNodeId) { if (strategyMgr.getSpecifiedTree().GetData(filteredSubtree).properties.Equals(new GeneralProperties())) { return(strategyMgr.getSpecifiedTree().NewTree()); } OSMElements.OSMElement brailleNode = templateObject.osm.DeepCopy(); brailleNode.properties.resetIdGenerated = null; // zurücksetzen, da das die Id vom Elternknoten wäre // prop.controlTypeFiltered = templateObject.osm.brailleRepresentation.groupelementsOfSameType.renderer; // den Renderer der Kindelemente setzen brailleNode.properties.isEnabledFiltered = false; brailleNode.brailleRepresentation.isVisible = true; if (templateObject.Screens == null) { Debug.WriteLine("Achtung, hier wurde kein Screen angegeben!"); return(strategyMgr.getSpecifiedTree().NewTree()); } brailleNode.brailleRepresentation.screenName = templateObject.Screens[0]; // hier wird immer nur ein Screen-Name übergeben brailleNode.brailleRepresentation.viewName = "GroupChild" + strategyMgr.getSpecifiedTree().GetData(filteredSubtree).properties.IdGenerated; brailleNode.brailleRepresentation.isGroupChild = true; // if(templateObject.osm.brailleRepresentation.groupelementsOfSameType.renderer != null) { if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.renderer.Equals("DropDownMenuItem")) { OSMElements.UiElements.DropDownMenuItem dropDownMenu = new OSMElements.UiElements.DropDownMenuItem(); if (strategyMgr.getSpecifiedTree().HasChild(filteredSubtree) && strategyMgr.getSpecifiedTree().GetData(strategyMgr.getSpecifiedTree().Child(filteredSubtree)).properties.controlTypeFiltered.Contains("Item")) { dropDownMenu.hasChild = true; } if (strategyMgr.getSpecifiedTree().HasNext(filteredSubtree) && strategyMgr.getSpecifiedTree().GetData(strategyMgr.getSpecifiedTree().Next(filteredSubtree)).properties.controlTypeFiltered.Contains("Item")) { dropDownMenu.hasNext = true; } if (strategyMgr.getSpecifiedTree().HasPrevious(filteredSubtree) && strategyMgr.getSpecifiedTree().GetData(strategyMgr.getSpecifiedTree().Previous(filteredSubtree)).properties.controlTypeFiltered.Contains("Item")) { dropDownMenu.hasPrevious = true; } if (strategyMgr.getSpecifiedTree().HasParent(filteredSubtree) && strategyMgr.getSpecifiedTree().GetData(strategyMgr.getSpecifiedTree().Parent(filteredSubtree)).properties.controlTypeFiltered.Contains("Item")) { dropDownMenu.isChild = true; } dropDownMenu.isOpen = false; dropDownMenu.isVertical = false; brailleNode.brailleRepresentation.uiElementSpecialContent = dropDownMenu; } if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.renderer.Equals("ListItem")) { OSMElements.UiElements.ListMenuItem litItem = new ListMenuItem(); if (strategyMgr.getSpecifiedTree().HasNext(filteredSubtree)) { litItem.hasNext = true; } //TODO: multi if (strategyMgr.getSpecifiedTree().HasChild(filteredSubtree)) { if (strategyMgr.getSpecifiedTree().GetData(strategyMgr.getSpecifiedTree().Child(filteredSubtree)).properties.controlTypeFiltered.Equals("CheckBox")) { litItem.isMultipleSelection = true; } } brailleNode.brailleRepresentation.uiElementSpecialContent = litItem; } if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.renderer.Equals("TabItem")) { OSMElements.UiElements.TabItem tabView = new OSMElements.UiElements.TabItem(); tabView.orientation = templateObject.osm.brailleRepresentation.groupelementsOfSameType.orienataion; //templateObject.orientation; brailleNode.brailleRepresentation.uiElementSpecialContent = tabView; // brailleNode.brailleRepresentation.uiElementSpecialContent = templateObject.osm.brailleRepresentation.uiElementSpecialContent; } OSMElements.OSMElement brailleGroupNode = treeOperation.searchNodes.getBrailleTreeOsmElementById(brailleNodeId); bool groupViewWithScrollbars = false; if (!brailleGroupNode.Equals(new OSMElements.OSMElement()) && brailleGroupNode != null && brailleGroupNode.brailleRepresentation != null) { groupViewWithScrollbars = brailleGroupNode.brailleRepresentation.isScrollbarShow; } Rect rect; if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.renderer.Equals("TabItem")) { Rect rectTmp = templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle; if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.orienataion.Equals(OSMElements.UiElements.Orientation.Left) || templateObject.osm.brailleRepresentation.groupelementsOfSameType.orienataion.Equals(OSMElements.UiElements.Orientation.Right)) { rectTmp.Y = (rectTmp.Height + 1) * strategyMgr.getSpecifiedTree().BranchIndex(filteredSubtree) + rectTmp.Y + 1; } if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.orienataion.Equals(OSMElements.UiElements.Orientation.Top) || templateObject.osm.brailleRepresentation.groupelementsOfSameType.orienataion.Equals(OSMElements.UiElements.Orientation.Bottom)) { rectTmp.X = (rectTmp.Width + 1) * strategyMgr.getSpecifiedTree().BranchIndex(filteredSubtree) + rectTmp.X + 1; } boxStartX = Convert.ToInt32(rectTmp.X); boxStartY = Convert.ToInt32(rectTmp.Y); } else { if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.orienataion.Equals(OSMElements.UiElements.Orientation.Vertical)) { int column = 0; int subBoxModel = (brailleGroupNode == null || brailleGroupNode.brailleRepresentation == null)? 0 : brailleGroupNode.brailleRepresentation.boarder.Top + brailleGroupNode.brailleRepresentation.boarder.Bottom + brailleGroupNode.brailleRepresentation.margin.Top + brailleGroupNode.brailleRepresentation.margin.Bottom + brailleGroupNode.brailleRepresentation.padding.Top + brailleGroupNode.brailleRepresentation.padding.Bottom; int max = Convert.ToInt32(templateObject.osm.properties.boundingRectangleFiltered.Height) - (groupViewWithScrollbars == true ? 3 : 0) - subBoxModel; int elementsProColumn = max / Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Height); if (brailleNode.brailleRepresentation.groupelementsOfSameType.isLinebreak == true) { column = strategyMgr.getSpecifiedTree().BranchIndex(filteredSubtree) / elementsProColumn; } if (boxStartY == null) { boxStartY = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Y); } if (boxStartX == null) { boxStartX = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.X); } boxStartY = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Y) + ((strategyMgr.getSpecifiedTree().BranchIndex(filteredSubtree) - (column * elementsProColumn)) * Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Height)); boxStartX = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.X) + (column * Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Width)); } else { //horizontal int line = 0; int subBoxModel = (brailleGroupNode == null || brailleGroupNode.brailleRepresentation == null) ? 0 : brailleGroupNode.brailleRepresentation.boarder.Left + brailleGroupNode.brailleRepresentation.boarder.Right + brailleGroupNode.brailleRepresentation.margin.Left + brailleGroupNode.brailleRepresentation.margin.Right + brailleGroupNode.brailleRepresentation.padding.Left + brailleGroupNode.brailleRepresentation.padding.Right; int max = Convert.ToInt32(templateObject.osm.properties.boundingRectangleFiltered.Width) - (groupViewWithScrollbars == true ? 3 : 0) - subBoxModel; int elementsProLine = max / Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Width); if (brailleNode.brailleRepresentation.groupelementsOfSameType.isLinebreak == true) { line = strategyMgr.getSpecifiedTree().BranchIndex(filteredSubtree) / elementsProLine; } if (boxStartY == null) { boxStartY = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Y); } if (boxStartX == null) { boxStartX = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.X); } else { boxStartX = boxStartX + Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Width); } if (templateObject.osm.brailleRepresentation.groupelementsOfSameType.isLinebreak == true) { boxStartY = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Y) + line * Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Height); if (line > 0) { boxStartX = Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.X) + ((strategyMgr.getSpecifiedTree().BranchIndex(filteredSubtree) - (elementsProLine * line))) * Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Width); } } } } rect = new System.Windows.Rect(Convert.ToDouble(boxStartX), Convert.ToDouble(boxStartY), Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Width), Convert.ToInt32(templateObject.osm.brailleRepresentation.groupelementsOfSameType.childBoundingRectangle.Height)); brailleNode.properties.boundingRectangleFiltered = rect; if (!strategyMgr.getSpecifiedTree().HasParent(filteredSubtree)) { return(strategyMgr.getSpecifiedTree().NewTree()); } String idGenerated = treeOperation.updateNodes.addNodeInBrailleTree(brailleNode, brailleNodeId); if (idGenerated == null) { Debug.WriteLine("Es konnte keine Id erstellt werden."); return(strategyMgr.getSpecifiedTree().NewTree()); } brailleNode.properties.IdGenerated = idGenerated; treeOperation.osmTreeConnector.addOsmConnection(strategyMgr.getSpecifiedTree().GetData(filteredSubtree).properties.IdGenerated, idGenerated); treeOperation.updateNodes.updateNodeOfBrailleUi(ref brailleNode); Object tree = strategyMgr.getSpecifiedTree().NewTree(); strategyMgr.getSpecifiedTree().AddChild(tree, brailleNode); return(tree); }