Example #1
0
 protected virtual void OnItemFound(ItemFoundEventArgs e)
 {
     // Report find results
     if (ItemFound != null)
     {
         ItemFound(this, e);
     }
 }
 private void findStrip1_ItemFound(object sender, ItemFoundEventArgs e)
 {
     //If value found, select row
     if (e.Index >= 0)
     {
         //Change current list data source item
         //To ensure currency accross all controls
         //bound to this data source
         this.invoiceItemBindingSource.Position = e.Index;
     }
 }
Example #3
0
        private void findStrip1_ItemFound(object sender, ItemFoundEventArgs e)
        {
            //If value found, select row
            if (e.Index >= 0)
            {
                this.dgInvoice.ClearSelection();
                this.dgInvoice.Rows[e.Index].Selected = true;

                //Change current list data source item
                //To ensure currency accross all controls
                //bound to this data source
                this.bindingInvoice.Position = e.Index;
            }
        }
Example #4
0
        private void findStrip_ItemFound(object sender, ItemFoundEventArgs e)
        {
            // If value found, select row
            if (e.Index >= 0)
            {
                this.dataGridView1.ClearSelection();
                this.dataGridView1.Rows[e.Index].Selected = true;

                // Change current list data source item
                // (to ensure currency across all controls
                // bound to this BindingSource)
                this.carBindingSource.Position = e.Index;
            }
        }
Example #5
0
        private void drawFile(object sender, ItemFoundEventArgs e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new Action(() => this.drawFile(sender, e)));

                return;
            }
            FileInfo info     = e.Info as FileInfo;
            TreeNode fileNode = new TreeNode(info.Name, 0, 0);

            this.getNodeByPath(info.DirectoryName)
            .Nodes.Add(fileNode);
        }
Example #6
0
        private void drawDirectory(object sender, ItemFoundEventArgs e)
        {
            if (this.InvokeRequired)
            {
                Console.WriteLine("drawdirectory requires invoke-" + Thread.CurrentThread.ManagedThreadId);
                this.BeginInvoke(new Action(() => this.drawDirectory(sender, e)));

                return;
            }

            Console.WriteLine("drawdirectory-" + Thread.CurrentThread.ManagedThreadId);
            // root
            if (this.directoryTree.Nodes.Count == 0)
            {
                this.directoryTree.Nodes.Add(new TreeNode(e.Info.FullName, 1, 1));

                return;
            }
            DirectoryInfo info          = e.Info as DirectoryInfo;
            TreeNode      directoryNode = new TreeNode(info.Name, 1, 1);

            this.getNodeByPath(info.Parent.FullName)
            .Nodes.Add(directoryNode);
        }
Example #7
0
 private void Provider_ItemFound(object sender, ItemFoundEventArgs e)
 {
     Items.Add(e.Item);
 }
Example #8
0
        static void CreateSubscribers(DirectoryScanner scanner)
        {
            scanner.onItemFound += (object sender, ItemFoundEventArgs e) =>
            {
                lock (q1)
                {
                    q1.Enqueue(e);
                    Monitor.Pulse(q1);
                }
            };
            scanner.onItemFound += (object sender, ItemFoundEventArgs e) =>
            {
                lock (q2)
                {
                    q2.Enqueue(e);
                    Monitor.Pulse(q2);
                }
            };

            var thread = new Thread(() =>
            {
                log("subscribe");

                while (true)
                {
                    lock (q1)
                    {
                        while (q1.Count == 0)
                        {
                            Monitor.Wait(q1);
                        }
                        ItemFoundEventArgs i = q1.Dequeue();
                        log(i.Info.FullName);
                    }
                }
            });

            thread.Name = "Console output";

            var thread2 = new Thread(() =>
            {
                log("subscribe");

                while (true)
                {
                    lock (q2)
                    {
                        while (q2.Count == 0)
                        {
                            Monitor.Wait(q2);
                        }
                        ItemFoundEventArgs i = q2.Dequeue();
                        log(i.Info.FullName);
                    }
                }
            });

            thread2.Name = "Console output!!!!";

            thread.Start();
            thread2.Start();

            AsyncEventSubscriber <ItemFoundEventArgs> outputToConsole = new AsyncEventSubscriber <ItemFoundEventArgs>();

            outputToConsole.OnEvent += (object sender, ItemFoundEventArgs e) => {
                log(e.Info.FullName);
            };
            scanner.onItemFound += outputToConsole.Handler;
            outputToConsole.Thread.Start();

            // xml
            XmlWriter xmlWriter = XmlWriter.Create("1.xml");

            directoryWriter = new DirectoryXMLWriter(xmlWriter);
            AsyncEventSubscriber <ItemFoundEventArgs> writeToFile = new AsyncEventSubscriber <ItemFoundEventArgs>();
            bool first = true;

            writeToFile.OnEvent += (object sender, ItemFoundEventArgs e) => {
                lock (directoryWriter)
                {
                    if (first)
                    {
                        first = false;
                        directoryWriter.Start();
                    }

                    if (e.Info is DirectoryInfo)
                    {
                        directoryWriter.WriteDirectory(e.Info as DirectoryInfo);
                    }
                    else
                    {
                        directoryWriter.WriteFile(e.Info as FileInfo);
                    }
                }
            };
            scanner.onItemFound += writeToFile.Handler;
            writeToFile.Thread.Start();
        }