Example #1
0
        public IProgressBarProperties Add(ProgressBarType type, string topic)
        {
            IProgressBarProperties           progressBar  = null;
            IPercentageProgressBarProperties pprogressBar = null;

            if (progressBars.ContainsKey(topic))
            {
                throw new Exception(string.Format("Duplicated work topic: {topic}"));
            }
            switch (type)
            {
            case ProgressBarType.CIRCULAR_PROGRESS_BAR:
                progressBar = new CircularProgressBar();
                break;

            case ProgressBarType.CIRCULAR_PERCENTAGE_PROGRESS_BAR:
                //create percentage circular bar
                pprogressBar = new PercentageCircularProgressBar();
                //               progressBarUpdate[topic] = ((IPercentageProgressBarProperties)progressBar).CurrentProgressValue;
                pprogressBar.Topic            = topic;
                PercentageProgressBars[topic] = pprogressBar;
                AddProgressBarToGUI(pprogressBar);
                return(pprogressBar);
            }
            progressBar.Topic   = topic;
            progressBars[topic] = progressBar;
            AddProgressBarToGUI(progressBar);
            return(progressBar);
        }
        private void AddProgressBarToGUI(IPercentageProgressBarProperties percentageProgressBar)
        {
            UserControl userControl = (UserControl)percentageProgressBar;

            DockPanel.SetDock(userControl, Dock.Left);
            ProgressBarDockPanel.Children.Add(userControl);
        }
 private void RemoveProgressBarFromGUI(IPercentageProgressBarProperties percentageProgressBar)
 {
     ProgressBarDockPanel.Children.Remove((UserControl)percentageProgressBar);
 }