private void OnApplicationEvent(object sender, ServerEventArgs e) { if (!(e.ServerEvent is PropertyChangedEvent)) { return; } var ev = (PropertyChangedEvent)e.ServerEvent; if (ev.PropertyName == "Application") { ViewModel.IsLoading = false; _serverApplication = (ViewerApplication)ev.Value; ApplicationContext.Current.ViewerVersion = _serverApplication.VersionString; //TODO (CR May 2010): we don't unregister these EventMediator.RegisterEventHandler(_serverApplication.Viewer.Identifier, OnViewerEvent); ToolstripViewComponent.SetIconSize(_serverApplication.Viewer.ToolStripIconSize); ToolstripViewComponent.SetActionModel(_serverApplication.Viewer.ToolbarActions); _studyView.SetImageBoxes(_serverApplication.Viewer.ImageBoxes); return; } }
public virtual void Dispose(bool disposing) { if (!_disposed) { Shutdown(); // Must do this beofre we work with the EventMediator ToolstripViewComponent.Dispose(); if (_studyView != null) { StudyViewContainer.Children.Clear(); if (disposing) { _studyView.Dispose(); } _studyView = null; } if (EventMediator != null) { if (_serverApplication != null) { EventMediator.UnregisterEventHandler(typeof(ApplicationStartedEvent), ApplicationStarted); EventMediator.UnregisterEventHandler(_serverApplication.Viewer.Identifier); EventMediator.ServerApplicationStopped -= OnServerApplicationStopped; _serverApplication = null; } EventMediator.Dispose(); EventMediator = null; } _disposed = true; } }
private void OnViewerEvent(object sender, ServerEventArgs e) { if (!(e.ServerEvent is PropertyChangedEvent)) { return; } var ev = (PropertyChangedEvent)e.ServerEvent; //TODO (CR May 2010): this is in the method above, too. Which one works? if (ev.PropertyName == "Application") { _serverApplication = (ViewerApplication)ev.Value; //TODO (CR May 2010): we don't unregister these EventMediator.RegisterEventHandler(_serverApplication.Viewer.Identifier, OnViewerEvent); ToolstripViewComponent.SetIconSize(_serverApplication.Viewer.ToolStripIconSize); ToolstripViewComponent.SetActionModel(_serverApplication.Viewer.ToolbarActions); _studyView.SetImageBoxes(_serverApplication.Viewer.ImageBoxes); return; } if (ev.PropertyName == "ImageBoxes") { var imageBoxes = (Collection <ImageBox>)ev.Value; _serverApplication.Viewer.ImageBoxes = imageBoxes; _studyView.SetImageBoxes(imageBoxes); return; } if (ev.PropertyName == "ToolbarActions") { var actionModel = (Collection <WebActionNode>)ev.Value; _serverApplication.Viewer.ToolbarActions = actionModel; ToolstripViewComponent.SetActionModel(_serverApplication.Viewer.ToolbarActions); return; } }