public GUIInspector() { InitializeComponent(); settings = new Settings(); strategyMgr = new StrategyManager(); grantTrees = new GeneratedGrantTrees(); treeOperations = new TreeOperation(strategyMgr, grantTrees); // Setzen des Eventmanager List <Strategy> possibleEventManager = settings.getPossibleEventManager(); strategyMgr.setSpecifiedEventStrategy(possibleEventManager[0].className); List <Strategy> possibleOperationSystems = settings.getPossibleOperationSystems(); String cUserOperationSystemName = possibleOperationSystems[0].userName; // muss dynamisch ermittelt werden strategyMgr.setSpecifiedOperationSystem(Settings.strategyUserNameToClassName(cUserOperationSystemName)); IOperationSystemStrategy operationSystemStrategy = strategyMgr.getSpecifiedOperationSystem(); List <Strategy> possibleTrees = settings.getPossibleTrees(); strategyMgr.setSpecifiedTree(possibleTrees[0].className); ITreeStrategy <OSMElements.OSMElement> treeStrategy = strategyMgr.getSpecifiedTree(); List <Strategy> possibleFilter = Settings.getPossibleFilters(); String cUserFilterName = possibleFilter[0].userName; // der Filter muss dynamisch ermittelt werden strategyMgr.setSpecifiedFilter(Settings.strategyUserNameToClassName(cUserFilterName)); strategyMgr.getSpecifiedFilter().setGeneratedGrantTrees(grantTrees); strategyMgr.getSpecifiedFilter().setTreeOperation(treeOperations); IFilterStrategy filterStrategy = strategyMgr.getSpecifiedFilter(); strategyMgr.setSpecifiedGeneralTemplateUi(settings.getPossibleUiTemplateStrategies()[0].className); strategyMgr.getSpecifiedGeneralTemplateUi().setGeneratedGrantTrees(grantTrees); strategyMgr.getSpecifiedGeneralTemplateUi().setTreeOperation(treeOperations); strategyMgr.setSpecifiedBrailleDisplay(settings.getPossibleBrailleDisplays()[0].className); // muss dynamisch ermittelt werden #region setzen der neuen (Juni 2017) Event Interfaces strategyMgr.setSpecifiedEventAction(settings.getPossibleEventAction()[0].className); strategyMgr.getSpecifiedEventAction().setGrantTrees(grantTrees); strategyMgr.getSpecifiedEventAction().setTreeOperation(treeOperations); strategyMgr.setSpecifiedEventManager(settings.getPossibleEventManager2()[0].className); strategyMgr.setSpecifiedEventProcessor(settings.getPossibleEventProcessor()[0].className); strategyMgr.getSpecifiedEventProcessor().setGrantTrees(grantTrees); strategyMgr.getSpecifiedEventProcessor().setTreeOperations(treeOperations); #endregion strategyMgr.setSpecifiedExternalScreenreader(settings.getPossibleExternalScreenreaders()[0].className); strategyMgr.setSpecifiedBrailleConverter(settings.getPossibleBrailleConverter()[0].className); filteredTreeOutput.SelectedItemChanged += new RoutedPropertyChangedEventHandler <object>(filteredTreeOutput_SelectedItemChanged); guiFunctions = new GuiFunctions(strategyMgr, grantTrees, treeOperations); root = new TreeViewItem(); NodeButton.IsEnabled = false; SaveButton.IsEnabled = false; filteredPropRoot = new GuiFunctions.MyViewModel(); }
public void setSpecifiedTree(ITreeStrategy <OSMElements.OSMElement> treeName) { try { treeName.NewTree(); specifiedTree = treeName; } catch (Exception e) { throw new Exception("Fehler bei StrategyManager_setSpecifiedFilter: " + e.Message); } }
/// <summary> /// Setzt die gewählte Klasse der Baumdarstellung/-verarbeitung /// </summary> /// <param name="treeClassName">gibt den Namen der gewählten Baum-klasse an (dieser muss in der Strategy.config vorhanden sein)</param> public void setSpecifiedTree(String treeClassName) { try { Type type = Type.GetType(treeClassName); Type[] typeArgs = { typeof(OSMElements.OSMElement) }; var makeme = type.MakeGenericType(typeArgs); specifiedTree = (ITreeStrategy <OSMElements.OSMElement>)Activator.CreateInstance(makeme); } catch (InvalidCastException ic) { throw new InvalidCastException("Fehler bei StrategyManager_setSpecifiedTree: " + ic.Message); } catch (ArgumentException ae) { throw new ArgumentException("Fehler bei StrategyManager_setSpecifiedTree: " + ae.Message); } catch (Exception e) { throw new Exception("Fehler bei StrategyManager_setSpecifiedTree: " + e.Message); } }
private void Window_KeyDown(object sender, System.Windows.Input.KeyEventArgs e) { IOperationSystemStrategy operationSystemStrategy = strategyMgr.getSpecifiedOperationSystem(); ITreeStrategy <OSMElements.OSMElement> treeStrategy = strategyMgr.getSpecifiedTree(); if (e.Key == Key.F1) { if (operationSystemStrategy.deliverCursorPosition()) { try { IFilterStrategy filterStrategy = strategyMgr.getSpecifiedFilter(); int pointX; int pointY; operationSystemStrategy.getCursorPoint(out pointX, out pointY); Console.WriteLine("Pointx: " + pointX); Console.WriteLine("Pointy: " + pointY); OSMElements.OSMElement osmElement = filterStrategy.getOSMElement(pointX, pointY); System.Drawing.Rectangle rect = operationSystemStrategy.getRect(osmElement); if (osmElement.properties.isOffscreenFiltered == false) { operationSystemStrategy.paintRect(rect); } } catch (Exception ex) { Console.WriteLine("An error occurred: '{0}'", ex); } } } if (e.Key == Key.F5) { if (operationSystemStrategy.deliverCursorPosition()) { try { //Filtermethode IntPtr points = operationSystemStrategy.getHWNDByCursorPosition(); List <Strategy> possibleFilter = Settings.getPossibleFilters(); if (strategyMgr.getSpecifiedFilter() == null) { // auslesen aus GUI..... String cUserFilterName = possibleFilter[0].userName; // der Filter muss dynamisch ermittelt werden strategyMgr.setSpecifiedFilter(Settings.strategyUserNameToClassName(cUserFilterName)); strategyMgr.getSpecifiedFilter().setGeneratedGrantTrees(grantTrees); strategyMgr.getSpecifiedFilter().setTreeOperation(treeOperations); } guiFunctions.deleteGrantTrees(); IFilterStrategy filterStrategy = strategyMgr.getSpecifiedFilter(); Object tree = filterStrategy.filtering(operationSystemStrategy.getProcessHwndFromHwnd(filterStrategy.deliverElementID(points))); grantTrees.filteredTree = tree; filteredTreeOutput.Items.Clear(); root.Items.Clear(); root.Header = "Filtered - Tree"; guiFunctions.createTreeForOutput(tree, ref root); SaveButton.IsEnabled = true; filteredTreeOutput.Items.Add(root); NodeButton.IsEnabled = false; /* updatePropertiesTable(strategyMgr.getSpecifiedTree().GetData(strategyMgr.getSpecifiedTree().Child(tree)).properties.IdGenerated); * ((TreeViewItem)filteredTreeOutput.Items[0]).IsSelected = true; * ((TreeViewItem)filteredTreeOutput.Items[0]).IsExpanded = true;*/ GuiFunctions.clearTable(filteredTreeProp); } catch (Exception ex) { Console.WriteLine("An error occurred: '{0}'", ex); } } } }
public Object NewNodeTree() { ITreeStrategy <OSMElements.OSMElement> tree = specifiedTree; return(tree); }
public Object filtering(IntPtr hwnd) { ITreeStrategy <OSMElements.OSMElement> tree = specifiedTree; return(tree); }