public override void ProgressChang(IAbstractMachine activationMachine, System.ComponentModel.ProgressChangedEventArgs entitiesState)
 {
     base.ProgressChang(activationMachine, entitiesState);
     if (entitiesState.UserState is string)
     {
         ProgressList.Add(String.Format("{0:T}: {1}", DateTime.Now, (String)entitiesState.UserState));
     }
 }
        public IProgressStatus Complete()
        {
            var notFinal = ProgressList.Where(s => !s.IsFinal).ToArray();

            if (notFinal.Any())
            {
                Assume.Fail(TextUtil.LineSeparate("Completing with non-final status:",                                                                                    // Not L10N
                                                  TextUtil.LineSeparate(notFinal.Select(s => string.Format("{0} {1}% - {2}", s.State, s.PercentComplete, s.FilePath))))); // Not L10N
            }
            return(ChangeProp(ImClone(this), s => s._complete = true));
        }
Exemple #3
0
        private void frm_ProgressList_Load(object sender, EventArgs e)
        {
            try
            {
                IsCancel = false;
                if (Work_List == null)
                {
                    Work_List = new ProgressList();
                    //IsCancel = false;
                }
                this.Size         = new Size(490, 90);
                groupBox1.Visible = false;
                pnl_btn.Visible   = false;

                if (Work_List != null)
                {
                    if (Work_List.Count > 0)
                    {
                        Work_List.Next();
                        this.Size         = new Size(550, 300);
                        groupBox1.Visible = true;
                        pnl_btn.Visible   = true;
                        Work_List[Work_List.CurrentIndex].Status = eProgressStatus.Processing;
                        foreach (var item in Work_List)
                        {
                            dgv_list.Rows.Add(item.SerialNo, item.Work_Title, item.Status);

                            if (item.Status == eProgressStatus.Done)
                            {
                                dgv_list.Rows[dgv_list.RowCount - 1].DefaultCellStyle.BackColor = Color.LightGreen;
                            }
                            dgv_list.Rows[dgv_list.RowCount - 1].Selected = false;
                        }
                        //dgv_list.Rows[Work_List.CurrentIndex].Selected = true;


                        dgv_list.Rows[Work_List.CurrentIndex].DefaultCellStyle.BackColor = Color.Yellow;

                        //dgv_list.Rows[Work_List.CurrentIndex].
                        dgv_list.FirstDisplayedScrollingRowIndex = Work_List.CurrentIndex;
                    }
                }
            }
            catch (ThreadAbortException ex1) { }
            catch (Exception ex) { }
            On = true;
            //Thread.Sleep(1000);
            timer1.Start();
            timer2.Start();
        }
Exemple #4
0
        private void MenuFilePreferences_Click(object sender, EventArgs e)
        {
            int tasks = Configuration.MaxConcurrentTasks;

            SettingsForm.Show(this);
            for (int i = tasks; i < Configuration.MaxConcurrentTasks; i++)
            {
                AddTaskScheduler();
            }
            for (int i = Configuration.MaxConcurrentTasks; i < tasks; i++)
            {
                RemoveTaskScheduler(ProgressList.OrderBy(p => p.Tasks.Count).LastOrDefault());
            }
        }
Exemple #5
0
        static void ProgressListSample()
        {
            var widget = new ProgressList("plist");

            widget.Width      = 20;
            widget.Margin.All = 1;
            widget.Items.Add(new ProgressItem()
            {
                Text = "Item A"
            });
            widget.Items.Add(new ProgressItem()
            {
                Text = "Item B"
            });
            widget.Items.Add(new ProgressItem()
            {
                Text = "Item C"
            });

            var random = new Random();

            Player.Mount(widget);

            do
            {
                widget.Items[random.Next(widget.Items.Count)].PerformStep();
                Thread.Sleep(500);
            } while (!AreTasksFinished());

            Console.WriteLine("--END--");

            bool AreTasksFinished()
            {
                return(100 == widget.Items.Select(s => s.Value).Sum() / widget.Items.Count);
            }
        }