private void destroyPhotoSection(bool _callback) { if (sec_photo != null) { sec_photo.initiateNewCaption -= handleNewCaptionVORequest; sec_photo.requestNewPhotoList -= handlePhotoListStateUpdate; sec_photo.destroyInternals(); if (sec_photo is IDisposable) { (sec_photo as IDisposable).Dispose(); } sec_photo = null; if (_callback == true) { createPhotoSection(); } } }
private void createPhotoSection() { if (sec_photo == null) { sec_photo = new SectionPhoto(); sec_photo.initiateNewCaption += handleNewCaptionVORequest; sec_photo.requestNewPhotoList += handlePhotoListStateUpdate; sec_photo.init(ref _sensor, ref mainWindow, ref _primaryChromaImageList); } else { destroyPhotoSection(true); } }