Example #1
0
        private void PrintLog(string message)
        {
            if (!Log.Dispatcher.CheckAccess())
            {
                this.Dispatcher.Invoke(new PrintLogDelegate(PrintLog), message);
                return;
            }

            Log.Items.Add(DateTime.Now.ToString("HH:mm:ss") + " " + message);


            try
            {
                ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(Log);

                IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
                System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
                System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;

                if (scrollInterface.VerticallyScrollable)
                {
                    scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                }
            }
            catch
            {
                // 하단 내리기 실패.
            }
        }
Example #2
0
        /// <summary>
        /// A virtual function that is called when the selection is changed. Default behavior
        /// is to raise a SelectionChangedEvent
        /// </summary>
        /// <param name="e">The inputs for this event. Can be raised (default behavior) or processed
        ///   in some other way.</param>
        protected override void OnSelectionChanged(SelectionChangedEventArgs e)
        {
            base.OnSelectionChanged(e);

            // In a single selection mode we want to move anchor to the selected element
            if (SelectionMode == SelectionMode.Single)
            {
                ItemInfo    info     = InternalSelectedInfo;
                ListBoxItem listItem = (info != null) ? info.Container as ListBoxItem : null;

                if (listItem != null)
                {
                    UpdateAnchorAndActionItem(info);
                }
            }

            if (AutomationPeer.ListenerExists(AutomationEvents.SelectionPatternOnInvalidated) ||
                AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementSelected) ||
                AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementAddedToSelection) ||
                AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection))
            {
                ListBoxAutomationPeer peer = UIElementAutomationPeer.CreatePeerForElement(this) as ListBoxAutomationPeer;
                if (peer != null)
                {
                    peer.RaiseSelectionEvents(e);
                }
            }
        }
Example #3
0
        public PlayerColumn(MainWindow mw)
        {
            InitializeComponent();

            MW = mw;

            svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listBox_history);
        }
Example #4
0
 private void FireAsyncContentLoadedEventAtNewRecordAdded()
 {
     if (AutomationPeer.ListenerExists(AutomationEvents.AsyncContentLoaded))
     {
         ListBoxAutomationPeer peer = UIElementAutomationPeer.FromElement(this.dgEvents) as ListBoxAutomationPeer;
         if (peer != null)
         {
             peer.RaiseAsyncContentLoadedEvent(new AsyncContentLoadedEventArgs(AsyncContentLoadedState.Completed, 100));
         }
     }
 }
Example #5
0
        /// <summary>
        /// Posune listbox na konec.
        /// </summary>
        private void ScrollToBottom(ListBox lbProducts)
        {
            ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lbProducts);

            if (VisualTreeHelper.GetChildrenCount(lbProducts) > 0)
            {
                Border       border       = (Border)VisualTreeHelper.GetChild(lbProducts, 0);
                ScrollViewer scrollViewer = (ScrollViewer)VisualTreeHelper.GetChild(border, 0);
                scrollViewer.ScrollToBottom();
            }
        }
Example #6
0
        // from https://stackoverflow.com/a/18305272
        private void ListBoxScrollToBottom(ListBox listBox)
        {
            ListBoxAutomationPeer svAutomation    = (ListBoxAutomationPeer)UIElementAutomationPeer.CreatePeerForElement(chatMessages);
            IScrollProvider       scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);

            System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
            System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
            if (scrollInterface.VerticallyScrollable)
            {
                scrollInterface.Scroll(scrollHorizontal, scrollVertical);
            }
        }
Example #7
0
        public void AddLog(string log)
        {
            this.theListBox.Items.Add(log);
            ListBoxAutomationPeer listBoxAutomationPeer = (ListBoxAutomationPeer)UIElementAutomationPeer.CreatePeerForElement(this.theListBox);
            IScrollProvider       pattern       = (IScrollProvider)listBoxAutomationPeer.GetPattern(PatternInterface.Scroll);
            ScrollAmount          scrollAmount  = ScrollAmount.LargeIncrement;
            ScrollAmount          scrollAmount1 = ScrollAmount.NoAmount;

            if (pattern.VerticallyScrollable)
            {
                pattern.Scroll(scrollAmount1, scrollAmount);
            }
        }
Example #8
0
        public static void ScrollToBottom(this ListBox source)
        {
            ListBoxAutomationPeer svAutomation     = (ListBoxAutomationPeer)UIElementAutomationPeer.CreatePeerForElement(source);
            IScrollProvider       scrollInterface  = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
            ScrollAmount          scrollVertical   = ScrollAmount.LargeIncrement;
            ScrollAmount          scrollHorizontal = ScrollAmount.NoAmount;

            // If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
            if (scrollInterface.VerticallyScrollable)
            {
                scrollInterface.Scroll(scrollHorizontal, scrollVertical);
            }
        }
Example #9
0
        private void HotReloadingPadControl_Loaded(object sender, RoutedEventArgs e)
        {
            ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listBox);

            IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);

            System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
            System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
            //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
            if (scrollInterface.VerticallyScrollable)
            {
                scrollInterface.Scroll(scrollHorizontal, scrollVertical);
            }
        }
Example #10
0
        private void WriteResponseLine(string responseLine)
        {
            listBox_Responses.Items.Add(responseLine);
            ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listBox_Responses);

            IScrollProvider scrollInterface  = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
            ScrollAmount    scrollVertical   = ScrollAmount.LargeIncrement;
            ScrollAmount    scrollHorizontal = ScrollAmount.NoAmount;

            if (scrollInterface.VerticallyScrollable)
            {
                scrollInterface.Scroll(scrollHorizontal, scrollVertical);
            }
        }
        protected override List <AutomationPeer> GetChildrenCore()
        {
            ListBox lb = OwnerListTimePickerPopup.ListBoxPart;

            if (lb != null)
            {
                // if possible, delegate to ListBox.
                ListBoxAutomationPeer peer = (ListBoxAutomationPeer)CreatePeerForElement(lb);
                return(peer.GetChildren());
            }
            else
            {
                return(base.GetChildrenCore());
            }
        }
        /// <summary>
        /// Retrieves a UI Automation provider for each child element that is
        /// selected.
        /// </summary>
        /// <returns>An array of UI Automation providers.</returns>
        public IRawElementProviderSimple[] GetSelection()
        {
            ListBox lb = OwnerListTimePickerPopup.ListBoxPart;

            if (lb != null)
            {
                object selectedItem = lb.SelectedItem;
                if (selectedItem != null)
                {
                    AutomationPeer peer = null;
                    // check if the selecteditem is an UIElement
                    UIElement uie = selectedItem as UIElement;
                    if (uie != null)
                    {
                        peer = CreatePeerForElement(uie);
                    }
                    else
                    {
                        ListBoxAutomationPeer lbpeer = CreatePeerForElement(lb) as ListBoxAutomationPeer;
                        if (lbpeer != null)
                        {
                            List <AutomationPeer> children = lbpeer.GetChildren();
                            if (children != null)
                            {
                                peer = children.FirstOrDefault(child =>
                                {
                                    // ISelectionItemProvider.IsSelected does not yet give the correct information
                                    ListBoxItemAutomationPeer listboxitemPeer = child as ListBoxItemAutomationPeer;
                                    if (listboxitemPeer != null)
                                    {
                                        ListBoxItem item = listboxitemPeer.Owner as ListBoxItem;
                                        return(item != null && item.DataContext.Equals(selectedItem));
                                    }
                                    return(false);
                                });
                            }
                        }
                    }

                    // we only ever expect to return an array of one peer.
                    if (peer != null)
                    {
                        return(new[] { ProviderFromPeer(peer) });
                    }
                }
            }
            return(new IRawElementProviderSimple[] { });
        }
Example #13
0
        private void ConsoleLog_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
        {
            var listview = this.ConsoleBox;

            if (listview.Items.Count > 5)
            {
                ListBoxAutomationPeer svAutomation    = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listview);
                IScrollProvider       scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
                System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
                System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
                if (scrollInterface.VerticallyScrollable)
                {
                    scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                }
            }
        }
Example #14
0
            private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
            {
                if (e.Action == NotifyCollectionChangedAction.Add)
                {
                    ListBoxAutomationPeer svAutomation     = ScrollViewerAutomationPeer.CreatePeerForElement(this.ListBox) as ListBoxAutomationPeer;
                    IScrollProvider       scrollInterface  = svAutomation.GetPattern(PatternInterface.Scroll) as IScrollProvider;
                    ScrollAmount          scrollVertical   = ScrollAmount.LargeIncrement;
                    ScrollAmount          scrollHorizontal = ScrollAmount.NoAmount;

                    // If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
                    if (scrollInterface != null && scrollInterface.VerticallyScrollable)
                    {
                        scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                    }
                }
            }
 static void EnsureVisible(ListBox listBox, int index)
 {
     listBox.Focus();
     listBox.ScrollIntoView(listBox.Items[index]);
     listBox.UpdateLayout();
     if (listBox.ItemContainerGenerator.ContainerFromIndex(index) == null)
     {
         ListBoxAutomationPeer peer = new ListBoxAutomationPeer(listBox);
         var scroll = peer.GetPattern(PatternInterface.Scroll) as IScrollProvider;
         scroll.SetScrollPercent(scroll.HorizontalScrollPercent, 0);
         listBox.UpdateLayout();
         while (listBox.ItemContainerGenerator.ContainerFromIndex(index) == null)
         {
             scroll.Scroll(ScrollAmount.NoAmount, ScrollAmount.LargeIncrement);
             listBox.UpdateLayout();
         }
     }
 }
 public void EnsureVisible(int index)
 {
     Core.Focus(FocusState.Pointer);
     Core.ScrollIntoView(Core.Items[index]);
     Core.UpdateLayout();
     if (Core.ContainerFromIndex(index) == null)
     {
         ListBoxAutomationPeer peer = new ListBoxAutomationPeer(Core);
         var scroll = peer.GetPattern(PatternInterface.Scroll) as IScrollProvider;
         scroll.SetScrollPercent(scroll.HorizontalScrollPercent, 0);
         Core.UpdateLayout();
         while (Core.ContainerFromIndex(index) == null)
         {
             scroll.Scroll(ScrollAmount.NoAmount, ScrollAmount.LargeIncrement);
             Core.UpdateLayout();
         }
     }
 }
Example #17
0
        public MainWindow()
        {
            InitializeComponent();

            this.DataContext = new MainWindowViewModel();
            ViewModel.Messages.CollectionChanged += (s, e) =>
            {
                ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lstMessages);

                IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
                System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
                System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
                //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
                if (scrollInterface.VerticallyScrollable)
                {
                    scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                }
            };
        }
Example #18
0
        private void UpdateData(string strData)
        {
            if (strData == strFlag)
            {
                bRFIDConnected        = true;
                btnCOMStart.IsEnabled = false;
                btnCOMStop.IsEnabled  = true;
                lblStatus.Content     = "Status: COM port opened. Reader mode changed to RFID scanning.";
                sr.Write("RFUFM,00\r");

                tmrStatus.Start();
            }

            if (strConfirmOK.Contains(strData))
            {
                return;
            }

            strData = (iCounter++).ToString() + ": " + strData;

            lst.Items.Add(strData);

            if (lst.Items.Count > 0)
            {
                lst.SelectedIndex = lst.Items.Count - 1;

                // Auto scroll solution from this link >> http://stackoverflow.com/questions/2337822/wpf-listbox-scroll-to-end-automatically
                ListBoxAutomationPeer svAutomation    = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lst);
                IScrollProvider       scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
                System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
                System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
                //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
                if (scrollInterface.VerticallyScrollable)
                {
                    scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                }
            }

            if (rdoManual.IsChecked == true)
            {
                lblStatus.Content = "Info: Press trigger to read tag.";
            }
        }
        void AutoScroll()
        {
            try
            {
                ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(lstview_anzeige);

                IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
                System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
                System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
                //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
                if (scrollInterface.VerticallyScrollable)
                {
                    scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                }
            }
            catch (Exception ex)
            {
                log.ExLogger(ex);
            }
        }
 /// <summary>Responds to a list box selection change by raising a <see cref="E:System.Windows.Controls.Primitives.Selector.SelectionChanged" /> event. </summary>
 /// <param name="e">Provides data for <see cref="T:System.Windows.Controls.SelectionChangedEventArgs" />. </param>
 // Token: 0x06005130 RID: 20784 RVA: 0x0016C274 File Offset: 0x0016A474
 protected override void OnSelectionChanged(SelectionChangedEventArgs e)
 {
     base.OnSelectionChanged(e);
     if (this.SelectionMode == SelectionMode.Single)
     {
         ItemsControl.ItemInfo internalSelectedInfo = base.InternalSelectedInfo;
         ListBoxItem           listBoxItem          = (internalSelectedInfo != null) ? (internalSelectedInfo.Container as ListBoxItem) : null;
         if (listBoxItem != null)
         {
             this.UpdateAnchorAndActionItem(internalSelectedInfo);
         }
     }
     if (AutomationPeer.ListenerExists(AutomationEvents.SelectionPatternOnInvalidated) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementSelected) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementAddedToSelection) || AutomationPeer.ListenerExists(AutomationEvents.SelectionItemPatternOnElementRemovedFromSelection))
     {
         ListBoxAutomationPeer listBoxAutomationPeer = UIElementAutomationPeer.CreatePeerForElement(this) as ListBoxAutomationPeer;
         if (listBoxAutomationPeer != null)
         {
             listBoxAutomationPeer.RaiseSelectionEvents(e);
         }
     }
 }
        private void UpdateLog(string entry)
        {
            entry = DateTime.Now + " - " + entry;

            try
            {
                File.AppendAllLines(GetLogPath(), new string[] { entry });
            }
            catch { }

            logListBox.Items.Add(entry);

            ListBoxAutomationPeer svAutomation    = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(logListBox);
            IScrollProvider       scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);

            System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
            System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
            if (scrollInterface.VerticallyScrollable)
            {
                scrollInterface.Scroll(scrollHorizontal, scrollVertical);
            }
        }
Example #22
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
        }
Example #23
0
        private void NotifyUpdate()
        {
            var listingPeer = ListBoxAutomationPeer.FromElement(Master);

            listingPeer.RaiseAutomationEvent(AutomationEvents.LiveRegionChanged);
        }
Example #24
0
        private void serial_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            try
            {
                SemaphoreDataReceived.WaitOne();


                SerialPort mySerialP = (SerialPort)sender;
                result = new List <byte>();
                byte[]      firstReadData       = new byte[mySerialP.BytesToRead];
                List <byte> metaData            = new List <byte>();
                List <byte> lastReceivedTranMsg = new List <byte>();

                List <char> myMetaData = new List <char>();


                mySerialP.Read(firstReadData, 0, firstReadData.Length);
                metaData.AddRange(firstReadData);


                string datas = System.Text.Encoding.UTF8.GetString(firstReadData);
                Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                {
                    textboxSP.Text += (datas) + "\n";
                    textboxSP.ScrollToEnd();
                    //hercul.listboxSP.SelectedIndex = hercul.listboxSP.Items.Count - 1;
                    ListBoxAutomationPeer svAutomation = (ListBoxAutomationPeer)ScrollViewerAutomationPeer.CreatePeerForElement(listboxSP);

                    IScrollProvider scrollInterface = (IScrollProvider)svAutomation.GetPattern(PatternInterface.Scroll);
                    System.Windows.Automation.ScrollAmount scrollVertical   = System.Windows.Automation.ScrollAmount.LargeIncrement;
                    System.Windows.Automation.ScrollAmount scrollHorizontal = System.Windows.Automation.ScrollAmount.NoAmount;
                    //If the vertical scroller is not available, the operation cannot be performed, which will raise an exception.
                    if (scrollInterface.VerticallyScrollable)
                    {
                        scrollInterface.Scroll(scrollHorizontal, scrollVertical);
                    }
                });
                int indexCounter = 0;
                for (int i = 0; i < metaData.Count; i++)
                {
                    lastReceivedTranMsg = new List <byte>();
                    if (metaData.Contains((byte)CommandType.GainOffsetStart))
                    {
                        if (metaData.Contains((byte)CommandType.GainOffsetEnd))
                        {
                            int startIndex = metaData.IndexOf((byte)CommandType.StartingProtocol);
                            int endIndex   = metaData.IndexOf((byte)CommandType.EndOfProtocol);
                            for (int j = startIndex + 1; j < metaData.Count; j++)
                            {
                                if (metaData[j] == (byte)CommandType.GainOffsetStart)
                                {
                                    lastReceivedTranMsg.Clear();
                                    continue;
                                }
                                else if (metaData[j] == (byte)CommandType.GainOffsetEnd)
                                {
                                    Dispatcher.Invoke(DispatcherPriority.Normal, (ThreadStart) delegate()
                                    {
                                        if (!Harf.Content.ToString().Contains(ByteArrayToString(lastReceivedTranMsg.ToArray())))
                                        {
                                            Harf.Content = Harf.Content + " " + ByteArrayToString(lastReceivedTranMsg.ToArray());
                                        }
                                        lastReceivedTranMsg.Clear();
                                    });
                                }
                                lastReceivedTranMsg.Add(metaData[j]);
                            }
                        }
                    }
                    if (metaData.Contains((byte)CommandType.StartingProtocol))
                    {
                        if (metaData.Contains((byte)CommandType.EndOfProtocol))
                        {
                            int startIndex = metaData.IndexOf((byte)CommandType.StartingProtocol);
                            int endIndex   = metaData.IndexOf((byte)CommandType.EndOfProtocol);
                            if (startIndex < endIndex)
                            {
                                for (int j = startIndex; j < metaData.Count; j++)
                                {
                                    indexCounter++;
                                    if (metaData[j] == (byte)CommandType.EndOfProtocol)
                                    {
                                        lastReceivedTranMsg.Add(metaData[j]);
                                        metaData.RemoveRange(0, startIndex + endIndex);
                                        break;
                                    }
                                    lastReceivedTranMsg.Add(metaData[j]);
                                }
                                myMetaData = System.Text.ASCIIEncoding.ASCII.GetChars(lastReceivedTranMsg.ToArray()).ToList();

                                string myStringValue = "";
                                for (int j = 1; j < myMetaData.Count - 1; j++)
                                {
                                    myStringValue += myMetaData[j];
                                }
                                mesuValue = (Convert.ToInt64(myStringValue));
                                this.Dispatcher.Invoke((Action)(() =>
                                {
                                    textlist.Add("" + mesuValue);
                                    listboxSP.Items.Add(textlist[textlist.Count - 1]);
                                    voltagePointCollection.Add(new VoltagePoint(mesuValue, DateTime.Now));
                                }));
                                i += indexCounter;
                            }
                            else
                            {
                                metaData.RemoveRange(0, startIndex);

                                byte[] secondReadData;
                                do
                                {
                                    secondReadData = new byte[mySerialP.BytesToRead];

                                    mySerialP.Read(secondReadData, 0, secondReadData.Length);
                                } while (!secondReadData.Contains((byte)CommandType.EndOfProtocol));

                                metaData.AddRange(secondReadData);

                                for (int j = startIndex; j < metaData.Count; j++)
                                {
                                    if (metaData[j] == (byte)CommandType.EndOfProtocol)
                                    {
                                        lastReceivedTranMsg.Add(metaData[j]);
                                        endIndex = metaData.IndexOf((byte)CommandType.EndOfProtocol);
                                        metaData.RemoveRange(0, startIndex + endIndex);
                                        break;
                                    }
                                    lastReceivedTranMsg.Add(metaData[j]);
                                }
                                myMetaData = System.Text.ASCIIEncoding.ASCII.GetChars(lastReceivedTranMsg.ToArray()).ToList();

                                string myStringValue = "";
                                for (int j = 0; j < myMetaData.Count - 1; j++)
                                {
                                    myStringValue += myMetaData[j];
                                }
                                mesuValue = (Convert.ToInt64(myStringValue));

                                this.Dispatcher.Invoke((Action)(() =>
                                {
                                    textlist.Add("" + mesuValue);
                                    listboxSP.Items.Add(textlist[textlist.Count - 1]);
                                    voltagePointCollection.Add(new VoltagePoint(mesuValue, DateTime.Now));
                                }));
                                i += indexCounter;
                            }
                        }
                    }
                }
                SemaphoreDataReceived.Release();
            }
            catch (Exception ex)
            {
                try
                {
                    SemaphoreDataReceived.Release();
                }
                catch (Exception)
                {
                    //throw;
                }


                //throw;
            }
        }