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); }