예제 #1
0
 protected override void Init()
 {
     Name            = "run";
     testDescription = "Runs minimalization function for first spectrum of chosen document.";
     templateflags   = new Flag[] {
         new Flag("series", typeof(bool), "run type:\n\t\tfalse - first spectra search (default)\n\t\ttrue - series search", false),
     };
     progressHandler = new System.ComponentModel.ProgressChangedEventHandler(project_SearchProgressChanged);
 }
예제 #2
0
        /// <summary>
        /// Reports the progress of package loading.
        /// </summary>
        /// <param name="position">Current position in the package stream being loaded.</param>
        /// <param name="length">Total size of the package being loaded.</param>
        protected void OnProgressChanged(long position, long length)
        {
            System.ComponentModel.ProgressChangedEventHandler handler = LoadProgressChanged;
            if (handler != null)
            {
                int percentage = (int)(100 * position / length);

                handler(this, new System.ComponentModel.ProgressChangedEventArgs(percentage, position));
            }
        }
예제 #3
0
        public static Image ScalePercentPixel(Bitmap SourceImage, int Percent, System.ComponentModel.ProgressChangedEventHandler Handler)
        {
            if (SourceImage == null)
            {
                return(null);
            }
            if (Percent == 100)
            {
                return(SourceImage);
            }

            float nPercent = ((float)Percent / 100);

            int sourceWidth  = SourceImage.Width;
            int sourceHeight = SourceImage.Height;

            int destWidth  = (int)(sourceWidth * nPercent);
            int destHeight = (int)(sourceHeight * nPercent);

            int maxIterations   = (sourceWidth * sourceHeight);
            int currentProgress = 0;

            Bitmap b = new Bitmap(destWidth, destHeight);

            using (Graphics g = Graphics.FromImage(b)) {
                for (int x = 0, i = 0; x < SourceImage.Width; x++)
                {
                    for (int y = 0; y < SourceImage.Height; y++)
                    {
                        Color drawColor = SourceImage.GetPixel(x, y);
                        g.FillRectangle(new SolidBrush(drawColor), new RectangleF((float)x * nPercent, (float)y * nPercent, nPercent, nPercent));

                        if (Handler != null)
                        {
                            i++;
                            int p = (int)(((float)i / maxIterations) * 100);
                            if (p > currentProgress)
                            {
                                currentProgress = p;
                                Handler(null, new System.ComponentModel.ProgressChangedEventArgs(p, null));
                            }
                        }
                    }
                }
            }

            return(b);
        }
예제 #4
0
        /// <summary>
        /// Extract the CMF file to the destination folder
        /// </summary>
        /// <param name="outputFolder">Destination folder</param>
        /// <param name="progressChangedCallback">The progress callback handler</param>
        public void ExtractAllEntries(string outputFolder, System.ComponentModel.ProgressChangedEventHandler progressChangedCallback)
        {
            if (this._disposed)
            {
                throw new System.ObjectDisposedException("Archive");
            }

            float  current = 0F;
            string fullpath;

            using (IReader reader = this.ExtractAllEntries())
                while (reader.MoveToNextEntry())
                {
                    fullpath = Path.Combine(outputFolder, reader.Entry.FileName);
                    Directory.CreateDirectory(Path.GetDirectoryName(fullpath));
                    reader.WriteEntryTo(fullpath);
                    current += 1;
                    progressChangedCallback?.Invoke(this, new System.ComponentModel.ProgressChangedEventArgs(Convert.ToInt32(current * 100 / this.FileCount), null));
                }
        }
예제 #5
0
 /// <summary>
 /// Extract the CMF file to the destination folder
 /// </summary>
 /// <param name="outputFolder">Destination folder</param>
 /// <param name="progressChangedCallback">The progress callback handler</param>
 public void ExtractAllEntries(string outputFolder, System.ComponentModel.ProgressChangedEventHandler progressChangedCallback)
 {
     this.archive.ExtractAllEntries(outputFolder, progressChangedCallback);
 }
예제 #6
0
 public SevenZipProgress(System.ComponentModel.ProgressChangedEventHandler h)
 {
     handler = h;
 }
        public void DownloadFiles(System.Collections.Specialized.StringCollection fileList, System.IO.DirectoryInfo directoryInfo, System.ComponentModel.ProgressChangedEventHandler progressChangedEventHandler, System.ComponentModel.RunWorkerCompletedEventHandler runWorkerCompletedEventHandler)
        {
            System.ComponentModel.BackgroundWorker worker = new System.ComponentModel.BackgroundWorker();
            if (progressChangedEventHandler != null)
            {
                worker.ProgressChanged           += progressChangedEventHandler;
                worker.WorkerReportsProgress      = true;
                worker.WorkerSupportsCancellation = true;
            }
            if (runWorkerCompletedEventHandler != null)
            {
                worker.RunWorkerCompleted += runWorkerCompletedEventHandler;
            }
            worker.DoWork += new System.ComponentModel.DoWorkEventHandler(DownloadFilesAsync);
            AsyncDataStruct ads = new AsyncDataStruct();

            ads.Directory = directoryInfo;
            ads.FileList  = fileList;
            worker.RunWorkerAsync(ads);
        }