コード例 #1
0
        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);
                }
            }
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
 /// <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);
 }
コード例 #4
0
        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);
        }
コード例 #5
0
        /// <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);
            }
        }
コード例 #6
0
        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);
        }