public frmCR2WDocument(CR2WDocumentViewModel documentViewModel) { vm = documentViewModel; vm.ClosingRequest += (sender, e) => this.Close(); vm.ActivateRequest += (sender, e) => this.Activate(); vm.PropertyChanged += ViewModel_PropertyChanged; InitializeComponent(); ApplyCustomTheme(); chunkList = new frmChunkList(vm) { DockAreas = DockAreas.Document }; propertyWindow = new frmChunkProperties(vm); backgroundWorker1.WorkerReportsProgress = true; backgroundWorker1.WorkerSupportsCancellation = true; backgroundWorker1.DoWork += backgroundWorker1_DoWork; backgroundWorker1.ProgressChanged += backgroundWorker1_ProgressChanged; backgroundWorker1.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted; m_deserializeDockContent = new DeserializeDockContent(GetContentFromPersistString); docLoggerService = new LoggerService(); docLoggerService.PropertyChanged += LoggerUpdated; docLoggerService.OnStringLogged += (sender, e) => MainController.LogString(e.Message, e.Logtype); }
public frmCR2WDocument() { InitializeComponent(); try { dockPanel.LoadFromXml( Path.Combine(Path.GetDirectoryName(Configuration.ConfigurationPath), "cr2wdocument_layout.xml"), DeserializeDockContent); } catch { } ApplyCustomTheme(); chunkList = new frmChunkList { File = File, DockAreas = DockAreas.Document }; chunkList.Show(dockPanel, DockState.Document); chunkList.OnSelectChunk += frmCR2WDocument_OnSelectChunk; propertyWindow = new frmChunkProperties(); propertyWindow.Show(dockPanel, DockState.DockBottom); propertyWindow.OnItemsChanged += PropertyWindow_OnItemsChanged; chunkList.Activate(); }
private void ViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) { case nameof(vm.File): chunkList.UpdateList(); break; case nameof(vm.SelectedChunks): if (propertyWindow == null || propertyWindow.IsDisposed) { propertyWindow = new frmChunkProperties(vm); propertyWindow.Show(FormPanel, DockState.DockRight); } if (vm.SelectedChunks.Count > 0) { if (vm.SelectedChunks.First().data is CBitmapTexture xbm) { if (ImageViewer == null || ImageViewer.IsDisposed) { ImageViewer = new frmImagePreview(); ImageViewer.Show(FormPanel, DockState.Document); } ImageViewer.SetImage(vm.SelectedChunks.First()); } } break; } }
public void frmCR2WDocument_OnSelectChunk(object sender, SelectChunkArgs e) { if (propertyWindow == null || propertyWindow.IsDisposed) { propertyWindow = new frmChunkProperties(); propertyWindow.Show(dockPanel, DockState.DockBottom); } propertyWindow.Chunk = e.Chunk; }