예제 #1
0
        private void UpdateStylesPreviewImages(ImageItem source, Slide contentSlide, float slideWidth, float slideHeight)
        {
            var selectedId = StylesPreviewListSelectedId.Number;

            StylesPreviewList.Clear();

            if (!IsAbleToUpdateStylesPreviewImages(source, contentSlide))
            {
                return;
            }

            try
            {
                foreach (var stylesPreviewOption in StyleOptionsFactory.GetAllStylesPreviewOptions())
                {
                    var previewInfo = Designer.PreviewApplyStyle(source,
                                                                 contentSlide, slideWidth, slideHeight, stylesPreviewOption);
                    StylesPreviewList.Add(new ImageItem
                    {
                        ImageFile = previewInfo.PreviewApplyStyleImagePath,
                        Tooltip   = stylesPreviewOption.StyleName
                    });
                }
            }
            catch
            {
                View.ShowErrorMessageBox(TextCollection.PictureSlidesLabText.ErrorImageCorrupted);
            }

            StylesPreviewListSelectedId.Number = selectedId;
        }
        private void UpdateStylesPreviewImages(ImageItem source, Slide contentSlide, float slideWidth, float slideHeight)
        {
            Logger.Log("UpdateStylesPreviewImages begins");
            var selectedId = StylesPreviewListSelectedId.Number;

            StylesPreviewList.Clear();

            if (!IsAbleToUpdateStylesPreviewImages(source, contentSlide))
            {
                return;
            }

            var copiedPicture = LoadClipboardPicture();

            try
            {
                var allStyleOptions = OptionsFactory.GetAllStylesPreviewOptions();
                Logger.Log("Number of styles: " + allStyleOptions.Count);
                foreach (var stylesPreviewOption in allStyleOptions)
                {
                    var previewInfo = Designer.PreviewApplyStyle(source,
                                                                 contentSlide, slideWidth, slideHeight, stylesPreviewOption);
                    StylesPreviewList.Add(new ImageItem
                    {
                        ImageFile = previewInfo.PreviewApplyStyleImagePath,
                        Tooltip   = stylesPreviewOption.StyleName
                    });
                }
                GC.Collect();
            }
            catch (Exception e)
            {
                View.ShowErrorMessageBox(PictureSlidesLabText.ErrorImageCorrupted, e);
                Logger.LogException(e, "UpdateStylesPreviewImages");
            }
            SaveClipboardPicture(copiedPicture);

            StylesPreviewListSelectedId.Number = selectedId < 0 ? 0 : selectedId;
            Logger.Log("UpdateStylesPreviewImages done");
        }