public void SelectApplication(ResearchApplication application) { if (_researchMatrixGrid == null) { return; } var parent = _researchMatrixGrid.Parent as FrameworkElement; while ((parent != null) && !(parent.Parent is Selector)) { parent = parent.Parent as FrameworkElement; } if ((parent != null) && parent.IsDescendantOf(this)) { parent.SetValue(Selector.IsSelectedProperty, true); } _researchMatrixGrid.BringIntoView(); if (_selectedApplication != null) { _selectedApplication.SetValue(Selector.IsSelectedProperty, false); _selectedApplication = null; } if (_applicationDetailsHost != null) { if (application != null) { foreach (Grid internalGrid in _researchMatrixGrid.Children) { foreach (ContentControl appContainer in internalGrid.Children) { if (((ResearchApplicationData)appContainer.Content).Application == application) { var detailsContainer = new ContentControl(); _selectedApplication = appContainer; _selectedApplication.SetValue(Selector.IsSelectedProperty, true); detailsContainer.Content = new ResearchApplicationDetails( application, AppContext.LocalPlayerEmpire); _applicationDetailsHost.Child = detailsContainer; break; } } } } else { _applicationDetailsHost.Child = null; } } }
public ResearchApplicationDetails(ResearchApplication application, CivilizationManager civManager) { if (application == null) { throw new ArgumentNullException("application"); } if (civManager == null) { throw new ArgumentNullException("civManager"); } _application = application; _civManager = civManager; }
public ResearchApplicationData(ResearchApplication application, ResearchPool pool) { if (application == null) { throw new ArgumentNullException("application"); } if (pool == null) { throw new ArgumentNullException("pool"); } _application = application; _pool = pool; }