Exemplo n.º 1
0
        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();
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 10
0
        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
        }