/// <summary/> public static bool ShowNewDialog(IWin32Window parentForm, LcmCache cache, IHelpTopicProvider helpProvider, IApp app, FwWritingSystemSetupModel.ListType type, out IEnumerable <CoreWritingSystemDefinition> newWritingSystems) { newWritingSystems = new List <CoreWritingSystemDefinition>(); var model = new FwWritingSystemSetupModel(cache.ServiceLocator.WritingSystems, type, cache.ServiceLocator.WritingSystemManager, cache); var oldWsSet = new HashSet <WSListItemModel>(model.WorkingList); using (var dlg = new FwWritingSystemSetupDlg(model, helpProvider, app)) { dlg.ShowDialog(parentForm); if (dlg.DialogResult == DialogResult.OK) { newWritingSystems = model.WorkingList.Where(item => !oldWsSet.Contains(item)).Select(item => item.WorkingWs); return(true); } } return(false); }
/// <summary/> public FwNewLangProjWritingSystemsControl(FwNewLangProjectModel model, FwWritingSystemSetupModel.ListType type) { InitializeComponent(); if (type != FwWritingSystemSetupModel.ListType.Vernacular && type != FwWritingSystemSetupModel.ListType.Analysis) { throw new ArgumentException("Unsupported list type", nameof(type)); } _model = model; _listType = type; m_defaultAnalysisAndVernSameIcon.Visible = false; m_defaultAnalysisAndVernSame.Visible = false; if (type == FwWritingSystemSetupModel.ListType.Analysis) { m_lblWsTypeHeader.Text = FwCoreDlgs.NewProjectWizard_AnalysisHeader; m_lblExplainWsTypeUsage.Text = FwCoreDlgs.NewLangProjWizard_AnalysisWritingSystemExplanation; if (model.WritingSystemContainer.CurrentAnalysisWritingSystems.Count > 0) { m_defaultWsLabel.Text = model.WritingSystemContainer.CurrentAnalysisWritingSystems[0].DisplayLabel; } if (model.WritingSystemContainer.CurrentVernacularWritingSystems.First() == model.WritingSystemContainer.CurrentAnalysisWritingSystems.First()) { m_defaultAnalysisAndVernSameIcon.Visible = true; m_defaultAnalysisAndVernSame.Visible = true; } } else { if (model.WritingSystemContainer.CurrentVernacularWritingSystems.Count > 0) { m_defaultWsLabel.Text = model.WritingSystemContainer.CurrentVernacularWritingSystems[0].DisplayLabel; } } }