Example #1
0
        public SlideImageComponent(EditorResourceProvider resourceProvider, String subdirectory, String currentImageName, bool hasFullscreenDisplay)
            : base("Lecture.GUI.SlideImageComponent.SlideImageComponent.layout", "Image")
        {
            this.resourceProvider = resourceProvider;
            this.subdirectory     = subdirectory;

            Button browseButton = (Button)widget.findWidget("Browse");

            browseButton.MouseButtonClick += browseButton_MouseButtonClick;

            showFullscreen                 = new CheckButton(widget.findWidget("FullscreenCheck") as Button);
            showFullscreen.Checked         = hasFullscreenDisplay;
            showFullscreen.CheckedChanged += ShowFullscreen_CheckedChanged;

            imagePreview = (ImageBox)widget.findWidget("Image");
            imagePanel   = widget.findWidget("ImagePanel");
            imageAtlas   = new ImageAtlas("SlideImageComponentAtlas_" + Guid.NewGuid().ToString("D"), new IntSize2(imagePreview.Width, imagePreview.Height));

            loadingLabel = widget.findWidget("LoadLabel");

            if (currentImageName != null)
            {
                String loadPath = Path.Combine(subdirectory, currentImageName);
                if (resourceProvider.exists(loadPath))
                {
                    System.Threading.ThreadPool.QueueUserWorkItem(o =>
                    {
                        openImageBGThread(loadPath, false);
                    });
                }
                else
                {
                    loadingLabel.Visible = false;
                }
            }
            else
            {
                loadingLabel.Visible = false;
            }
            imageName = currentImageName;
        }