Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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;
                }
            }
        }