public static void ExecuteClick(this MenuItem menuItem) { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(menuItem); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); }
static void GetIndices(IEnumerable <MenuItem> items, string[] headerTexts, int[] indices, int index) { int i = 0; foreach (var e in items) { if (e.Header.ToString() == headerTexts[index]) { indices[index] = i; if (index == indices.Length - 1) { return; } //次のメニューを開く IInvokeProvider invoker = new MenuItemAutomationPeer(e); invoker.Invoke(); foreach (var popup in SearcherInTarget.ByType <Popup>(TreeUtilityInTarget.VisualTree(e))) { GetIndices(SearcherInTarget.ByType <MenuItem>(TreeUtilityInTarget.VisualTree(popup.Child)), headerTexts, indices, index + 1); return; } break; } i++; } throw new NotSupportedException(ResourcesLocal3.Instance.ErrorNotFoundItem); }
/// <summary> /// Invoke menu Item /// </summary> /// <param name="mn"></param> private void InvokeMenuItem(MenuItem mn) { var mnp = new MenuItemAutomationPeer(mn); var ip = mnp.GetPattern(PatternInterface.Invoke) as IInvokeProvider; ip.Invoke(); SetFocusOnHierarchyTree(); }
static void EmulateClick(MenuItem item) { IInvokeProvider invoker = new MenuItemAutomationPeer(item); item.Focus(); invoker.Invoke(); InvokeUtility.DoEvents(); }
static void EmulateClick(MenuItem item, WPFContextMenu.Clean clean) { IInvokeProvider invoker = new MenuItemAutomationPeer(item); item.Focus(); invoker.Invoke(); InvokeUtility.DoEvents(); clean(); }
private void SetFocusTopMenu(SetMenuFocusEventArgs args) { if (args != null) { MenuItemName menuItemName = args.MenuItemName; MenuItem menuItem = menuItemMap.FirstOrDefault(x => x.Value == menuItemName).Key; if (menuItem != null) { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(menuItem); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv?.Invoke(); } } }
static int GetItemCount(MenuItem item) { IInvokeProvider invoker = new MenuItemAutomationPeer(item); invoker.Invoke(); foreach (var p in SearcherInTarget.ByType <Popup>(TreeUtilityInTarget.VisualTree(item))) { int count = 0; foreach (var e in SearcherInTarget.ByType <MenuItem>(TreeUtilityInTarget.VisualTree(p.Child))) { count++; } return(count); } return(0); }
public void ConvertPhotosceneCompleted(string photosceneid, string status) { if (status == "DONE") { LogInfo(string.Format("Photoscene {0} conversion completed successfully", photosceneid)); // Was it for d/l or Preview? bool bRet = _forPreview.Remove(photosceneid); AdskReCap.Format format = _requestedFormat [photosceneid]; outputFormat.SelectedItem = format.ToString(); MenuItemAutomationPeer menuPeer = new MenuItemAutomationPeer(bRet ? menuPreview : menuDownloadResult); IInvokeProvider invokeProv = menuPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); } else { LogError(string.Format("Photoscene {0} conversion failed", photosceneid)); MessageBox.Show(string.Format("Photoscene {0} conversion failed", photosceneid), "WpfReCap", MessageBoxButton.OK, MessageBoxImage.Error); } }
static void ShowNextItem(MenuItem item) { IInvokeProvider invoker = new MenuItemAutomationPeer(item); invoker.Invoke(); }
private void demoMode() // DemoMode.DemoModeWindow demoModeWindow { #region unos učionice Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = "\nI - Dodavanje učionice\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na dugme Dodaj učionicu u gornjem desnom uglu ekrana\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(dodajUcionicuDugme); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; peer.SetFocus(); invokeProv.Invoke(); }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na polje identifikatora učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { TextBoxAutomationPeer peer = new TextBoxAutomationPeer(ClassroomForma.Identificator); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo identifikator nove učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.Identificator.Text = "L-52"; }); Thread.Sleep(2000); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na polje opisa učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { TextBoxAutomationPeer peer = new TextBoxAutomationPeer(ClassroomForma.Description); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo opis učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.Description.Text = "Opis učionice"; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo broj radnika\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2500); Dispatcher.Invoke(() => { ClassroomForma.brojMijestaUpDown.Value = 3; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo operativni sistem\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ComboBoxAutomationPeer peer = new ComboBoxAutomationPeer(ClassroomForma.OperatingSystem); peer.SetFocus(); IExpandCollapseProvider provider = (IExpandCollapseProvider) peer.GetPattern(PatternInterface.ExpandCollapse); provider.Expand(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.OperatingSystem.SelectedIndex = 2; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ComboBoxAutomationPeer peer = new ComboBoxAutomationPeer(ClassroomForma.OperatingSystem); peer.SetFocus(); IExpandCollapseProvider provider = (IExpandCollapseProvider) peer.GetPattern(PatternInterface.ExpandCollapse); provider.Collapse(); }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo instalirani softver iz liste\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(5500); Dispatcher.Invoke(() => { ListBoxAutomationPeer peer = new ListBoxAutomationPeer(ClassroomForma.SoftwaresList); peer.SetFocus(); ClassroomForma.SoftwaresList.SelectedIndex = 2; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.SoftwaresList.SelectedIndex = 4; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Označimo opremu koja postoji. Tablu nemamo, ali imamo projektor\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(5500); Dispatcher.Invoke(() => { ClassroomForma.TableNeeded.IsChecked = false; ClassroomForma.ProjectorNeeded.IsChecked = true; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Potvrdimo unos\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); demoModeWindow.demoNumber = 0; }); Thread.Sleep(1000); Console.WriteLine("444444444444"); #endregion unos učionice #region pregled učionica Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = "\nII Pregled učionica\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo meni Tabele\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(this.MeniTabele); IExpandCollapseProvider provider = (IExpandCollapseProvider) peer.GetPattern(PatternInterface.ExpandCollapse); provider.Expand(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Odaberemo stavku Učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(this.MeniItemUcionice); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { MenuItemAutomationPeer peer = new MenuItemAutomationPeer(this.MeniItemUcionice); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; peer.SetFocus(); invokeProv.Invoke(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Sada vidimo tabelu sa učionicama" + " gdje možemo svaku od njih obrisati ili izmijeniti\n\n" + demoModeWindow.currentDemoDescription.Text; }); #endregion #region izmjena učionice Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = "\nIII Izmjena učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(4000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Izmijenićemo jednu učionicu, klikom na dugme Izmijeni u prvom redu\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(4000); Dispatcher.Invoke(() => { this.ClassroomTabela.ClassroomsList.SelectedItem = 1; ClassroomHandler.Instance.SetSelectedClassroom(ClassroomTabela.Classrooms[0], (MainWindow)Window.GetWindow(this)); ((MainWindow)Window.GetWindow(this)).NovaUcionica_Show(); }); Thread.Sleep(4000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Kliknemo na polje opisa učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { TextBoxAutomationPeer peer = new TextBoxAutomationPeer(ClassroomForma.Description); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Unesemo novi opis učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ClassroomForma.Description.Text = "Novi opis za L-42"; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Izmijenimo postojeću opremu. Kupili smo pametnu tablu.\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(5000); Dispatcher.Invoke(() => { ClassroomForma.SmartTableNeeded.IsChecked = true; }); Thread.Sleep(2000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Potvrdimo unos.\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); peer.SetFocus(); }); Thread.Sleep(2000); Dispatcher.Invoke(() => { ButtonAutomationPeer peer = new ButtonAutomationPeer(ClassroomForma.Potvrda); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv.Invoke(); }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Nakon unosa ponovo vidimo prikaz svih učionica, te možemo vidjeti " + "da je njen identifikator izmijenjen.\n\n" + demoModeWindow.currentDemoDescription.Text; demoModeWindow.demoNumber = 0; }); Thread.Sleep(5000); #endregion #region brisanje učionice Dispatcher.Invoke(() => { demoModeWindow.demoNumber = 0; demoModeWindow.currentDemoDescription.Text = "\nIV Brisanje učionice\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(3000); Dispatcher.Invoke(() => { demoModeWindow.currentDemoDescription.Text = demoModeWindow.demoNumber + ". Obrisaćemo jednu učionicu, recimo prvu, klikom na dugme Obriši u prvom redu\n\n" + demoModeWindow.currentDemoDescription.Text; }); Thread.Sleep(4000); Dispatcher.Invoke(() => { this.ClassroomTabela.ClassroomsList.SelectedItem = 1; ClassroomHandler.Instance.SetSelectedClassroom(ClassroomTabela.Classrooms[0], (MainWindow)Window.GetWindow(this)); ClassroomHandler.Instance.Remove(ClassroomHandler.Instance.SelectedClassroom.Id, (MainWindow)Window.GetWindow(this)); }); Thread.Sleep(4000); #endregion }