public void CreateSlidesFromSelectedWidgets() { viewModel.NewSlides=new List<Slide>(); numberOfSlidesToSave = viewModel.SelectedWidgets.Count(); if(numberOfSlidesToSave == 0) { viewModel.DoneAddingSlides(); return; } numberOfSlidesSaved = 0; viewModel.Progressbar.IsVisible = true; viewModel.Progressbar.Message = "Creating slides..."; foreach (var widgetMetadata in viewModel.SelectedWidgets) { Widget newWidget = Activator.CreateInstance(widgetMetadata.Type) as Widget; var newSlideConfiguration = new SlideConfiguration() { Title = widgetMetadata.UserSelectedTitle, Duration = widgetMetadata.SecondsOnScreen, WidgetConfigurationId = newWidget.Configuration.Id, WidgetType = widgetMetadata.Type.FullName, WidgetXapName = widgetMetadata.XAPName }; var slideTitle = widgetMetadata.UserSelectedTitle ?? widgetMetadata.Name; var newSlide = new Slide { Title = slideTitle, Widget = newWidget, SecondsOnScreen = widgetMetadata.SecondsOnScreen }; slideConfigPersister.Save(newSlideConfiguration); viewModel.NewSlides.Add(newSlide); } }
partial void OnSetCurrentSlide(ref Slide value) { foreach (var slide in Slides) { slide.IsDisplayed = false; if (slide.Widget != null) slide.Widget.IsDisplayed = false; } if (value != null) value.IsDisplayed = true; if (value != null && value.Widget != null) value.Widget.IsDisplayed = true; }
private Slide CreateSlideFromConfig(SlideConfiguration slideConfiguration) { var widgetType = GetType(slideConfiguration.WidgetType); var widget = Activator.CreateInstance(widgetType) as Widget; widget.SetConfigurationId(slideConfiguration.WidgetConfigurationId); var newSlide = new Slide() { Title = slideConfiguration.Title, SecondsOnScreen = slideConfiguration.Duration, Widget = widget }; return newSlide; }
public override void Context() { base.Context(); Given_Slideshow_is_created(); Slide firstSlide = new Slide() {Title = "one", SecondsOnScreen = 1, Widget = new Widget()}; var slides = new ObservableCollection<Slide> { firstSlide, new Slide() {Title = "next", SecondsOnScreen = 100, Widget = new Widget()} }; And_Slides_is_set(slides); And_CurrentSlide_is_set(firstSlide); And_Start_Command_is_executed(); }
protected void And_SelectedSlide_is_set(Slide slide) { viewModel.Slideshow.CurrentSlide = slide; }
protected void And_index_of_Selected_Slide_is_sampled() { SelectedSlideIndex = viewModel.Slideshow.Slides.IndexOf(viewModel.Slideshow.CurrentSlide); SelectedSlide = viewModel.Slideshow.CurrentSlide; }
public void Then_assure_the_selected_slide_becomes_the_slide_to_the_left_for_the_removed_one() { And_Slideshow_has_Slides(); removedSlide = viewModel.Slideshow.Slides.Last(); And_SelectedSlide_is_set(removedSlide); And_index_of_Selected_Slide_is_sampled(); When_execute_Delete_Command(); var oldIndex = SelectedSlideIndex; And_index_of_Selected_Slide_is_sampled(); var newIndex = SelectedSlideIndex; newIndex.ShouldBe(oldIndex-1); }
public override void Context() { base.Context(); Given_EditSlideshowDialog_is_created(); And_Slideshow_has_Slides(); removedSlide = viewModel.Slideshow.Slides.First(); And_SelectedSlide_is_set(removedSlide); When_execute_Delete_Command(); }
partial void OnSetCurrentSlide(ref Slide value);