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