当前位置: 首页>>代码示例>>C#>>正文


C# List.AddRange方法代码示例

本文整理汇总了C#中XCore.List.AddRange方法的典型用法代码示例。如果您正苦于以下问题:C# List.AddRange方法的具体用法?C# List.AddRange怎么用?C# List.AddRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在XCore.List的用法示例。


在下文中一共展示了List.AddRange方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetMergeinfo

		protected override DummyCmObject GetMergeinfo(WindowParams wp, List<DummyCmObject> mergeCandidates, out string guiControl, out string helpTopic)
		{
			wp.m_title = FdoUiStrings.ksMergeReversalEntry;
			wp.m_label = FdoUiStrings.ksEntries;

			var rie = (IReversalIndexEntry) Object;
			var filteredHvos = new HashSet<int>(rie.AllOwnedObjects.Select(obj => obj.Hvo)) { rie.Hvo }; // exclude `rie` and all of its subentries
			var wsIndex = m_cache.ServiceLocator.WritingSystemManager.GetWsFromStr(rie.ReversalIndex.WritingSystem);
			mergeCandidates.AddRange(from rieInner in rie.ReversalIndex.AllEntries
									 where !filteredHvos.Contains(rieInner.Hvo)
									 select new DummyCmObject(rieInner.Hvo, rieInner.ShortName, wsIndex));
			guiControl = "MergeReversalEntryList";
			helpTopic = "khtpMergeReversalEntry";
			return new DummyCmObject(m_hvo, rie.ShortName, wsIndex);
		}
开发者ID:bbriggs,项目名称:FieldWorks,代码行数:15,代码来源:ReversalIndexEntryUi.cs

示例2: CollectSegmentForms

		private List<int> CollectSegmentForms(int ichMinCurSeg, int ichLimCurSeg, ref int ichLimLast,
			ref ITsString tssFirstWordOfNextSegment)
		{
			List<int> formsInSegment = new List<int>();
			List<int> punctuationAnnotations = new List<int>();
			int ichMin, ichLim;
			m_wordMaker.CurrentCharOffset = ichMinCurSeg;
			ITsString tssWord;
			if (tssFirstWordOfNextSegment != null)
			{
				tssWord = tssFirstWordOfNextSegment;
				// back up by this word.
				ichLim = ichMinCurSeg;
				ichMin = ichLim - tssWord.Length;
			}
			else
			{
				tssWord = m_wordMaker.NextWord(out ichMin, out ichLim);
			}
			int ctwfics = 0;
			do
			{
				if (tssWord == null)
				{
					// we've run out of twfics. collect the last remaining punctuation annotations.
					//Debug.Assert(m_tssPara.Length == ichLimCurSeg);
					CreatePunctAnnotations(ichLimLast, ichLimCurSeg, punctuationAnnotations);
					break;
				}

				if (ichLimLast != ichMin)
				{
					// we need to add punctuations to the current segment.
					CreatePunctAnnotations(ichLimLast, Math.Min(ichMin, ichLimCurSeg), punctuationAnnotations);
					formsInSegment.AddRange(punctuationAnnotations);
					punctuationAnnotations.Clear();
					if (ichMin >= ichLimCurSeg)
					{
						// we need to add this twfic to the next segment.
						tssFirstWordOfNextSegment = tssWord;
						ichLimLast = ichLimCurSeg;
						break;
					}
				}
				// Create (or reuse if possible) twfic annotations.
				ITsString tssWordAnn;
				formsInSegment.Add(CreateOrReuseAnnotation(tssWord, ichMin, ichLim, ctwfics, out tssWordAnn));
				if (tssWordAnn != null && tssWord.Length < tssWordAnn.Length)
				{
					// this must be a phrase, so advance appropriately in the text.
					ichLimLast = ichMin + tssWordAnn.Length;
					m_wordMaker.CurrentCharOffset = ichLimLast;
				}
				else
				{
					// still stepping by the word boundary.
					ichLimLast = ichLim;
				}
				ctwfics++;
				tssWord = m_wordMaker.NextWord(out ichMin, out ichLim);
			} while (true);
			formsInSegment.AddRange(punctuationAnnotations);
			return formsInSegment;
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:64,代码来源:ITextUtils.cs

示例3: ProcessAnalysesAndLexEntries

		private void ProcessAnalysesAndLexEntries(ProgressDialogWorkingOn progress, IWfiWordform wfOld, IWfiWordform wfNew)
		{
			wfOld.SpellingStatus = (int)SpellingStatusStates.incorrect;

			//if (UpdateLexicalEntries)
			//{
			//    foreach (IWfiAnalysis wa in wfOld.AnalysesOC)
			//    {
			//        if (wa.MorphBundlesOS.Count == 1)
			//        {
			//        }
			//    }
			//}
			if (!KeepAnalyses)
			{
				// Remove multi-morpheme anals in src wf.
				List<IWfiAnalysis> goners = new List<IWfiAnalysis>();
				foreach (IWfiAnalysis goner in wfOld.AnalysesOC)
				{
					if (goner.MorphBundlesOS.Count > 1)
					{
						goners.Add(goner);
				}
				}
				foreach (IWfiAnalysis goner in goners)
				{
					IWfiWordform wf = goner.OwnerOfClass<IWfiWordform>();
					wf.AnalysesOC.Remove(goner);
				}
				goners.Clear();
			}
			if (UpdateLexicalEntries)
			{
				// Change LE allo on single morpheme anals.
				foreach (IWfiAnalysis update in wfOld.AnalysesOC)
				{
					if (update.MorphBundlesOS.Count != 1)
						continue; // Skip any with zero or more than one.

					IWfiMorphBundle mb = update.MorphBundlesOS[0];
					ITsString tss = mb.Form.get_String(m_vernWs);
					string srcForm = tss.Text;
					if (srcForm != null)
					{
						// Change morph bundle form.
						mb.Form.set_String(m_vernWs, NewSpelling);
					}
					IMoForm mf = mb.MorphRA;
					if (mf != null)
					{
						mf.Form.set_String(m_vernWs, NewSpelling);
					}
				}
			}

			// Move remaining anals from src wf to new wf.
			// This changes the owners of the remaining ones,
			// since it is an owning property.
			var analyses = new List<IWfiAnalysis>();
			analyses.AddRange(wfOld.AnalysesOC);
			foreach (var anal in analyses)
				wfNew.AnalysesOC.Add(anal);
		}
开发者ID:bbriggs,项目名称:FieldWorks,代码行数:63,代码来源:RespellerDlg.cs

示例4: ComputeValue

		protected override void ComputeValue(List<ICmObject> chosenObjs, int hvoItem, out List<ICmObject> oldVals,
			out List<ICmObject> newVal)
		{
			if (!m_doingSuggest)
			{
				base.ComputeValue(chosenObjs, hvoItem, out oldVals, out newVal);
				return;
			}

			oldVals = GetOldVals(hvoItem);

			// ComputeValue() is used by FakeDoIt to put values in the suggestion cache,
			// and by DoIt to get values from the cache (and thereby not repeat the search).

			if (m_suggestionCache.TryGetValue(hvoItem, out newVal))
			{
				return; // This must be the DoIt pass; MakeSuggestions clears out the cache each time.
			}

			// resist the temptation to do "newVal = oldVals"
			// if we change newVal we don't want oldVals to change
			newVal = new List<ICmObject>();
			newVal.AddRange(oldVals);

			var curObject = m_cache.ServiceLocator.GetObject(hvoItem) as ILexSense;
			if (curObject == null)
				return;

			var matches = m_semDomRepo.FindCachedDomainsThatMatchWordsInSense(m_searchCache, curObject);

			foreach (var domain in matches)
			{
				if (!newVal.Contains(domain))
					newVal.Add(domain);
			}

			m_suggestionCache[hvoItem] = newVal; // This must be the FakeDoIt pass; cache semantic domains.
		}
开发者ID:sillsdev,项目名称:FieldWorks,代码行数:38,代码来源:BulkEditBar.cs

示例5: AddItem

		public override void AddItem(int hvoNew)
		{
			CheckDisposed();

			List<int> lexemes = new List<int>();
			ILexEntryRef ler = m_obj as ILexEntryRef;
			if (m_flid == (int)LexEntryRef.LexEntryRefTags.kflidComponentLexemes)
				lexemes.AddRange(ler.ComponentLexemesRS.HvoArray);
			else if (m_flid == (int)LexEntryRef.LexEntryRefTags.kflidPrimaryLexemes)
				lexemes.AddRange(ler.PrimaryLexemesRS.HvoArray);
			// don't add a duplicate items.
			if (!lexemes.Contains(hvoNew))
			{
				lexemes.Add(hvoNew);
				SetItems(lexemes);
			}
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:17,代码来源:EntrySequenceReferenceLauncher.cs

示例6: FindAllRootBoxes

		/// <summary>
		///
		/// </summary>
		/// <param name="control"></param>
		/// <returns>List contain zero or more IVwRootbox objects.</returns>
		private List<IVwRootBox> FindAllRootBoxes(Control control)
		{
			List<IVwRootBox> rootboxes = new List<IVwRootBox>();
			if (control is IRootSite)
			{

				rootboxes.AddRange((control as IRootSite).AllRootBoxes());
			}
			foreach (Control c in control.Controls)
			{
				rootboxes.AddRange(FindAllRootBoxes(c));
			}
			return rootboxes;
		}
开发者ID:sillsdev,项目名称:FieldWorks,代码行数:19,代码来源:FwXWindow.cs

示例7: AddSimpleItems

		private static void AddSimpleItems(List<string> results, string remaining)
		{
			if (string.IsNullOrWhiteSpace(remaining))
				return;
			results.AddRange(remaining.Split(new[] {','}, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).Where(x => !string.IsNullOrWhiteSpace(x)));
		}
开发者ID:sillsdev,项目名称:FieldWorks,代码行数:6,代码来源:InterlinearSfmImportWizard.cs

示例8: BuildLayoutTree

		private List<LayoutTreeNode> BuildLayoutTree(XmlNode xnLayoutType)
		{   // configure LayoutType via its child configure nodes
			List<LayoutTreeNode> rgltn = new List<LayoutTreeNode>();
			foreach (XmlNode config in xnLayoutType.ChildNodes)
			{   // expects a configure element
				if (config is XmlComment || config.Name != "configure")
					continue;
				var ltn = BuildMainLayout(config);
				if (XmlUtils.GetOptionalBooleanAttributeValue(config, "hideConfig", false))
					rgltn.AddRange(ltn.Nodes.Cast<LayoutTreeNode>());
				else
					rgltn.Add(ltn);
			}
			return rgltn;
		}
开发者ID:bbriggs,项目名称:FieldWorks,代码行数:15,代码来源:XmlDocConfigureDlg.cs

示例9: AllRootBoxes

		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// A list of zero or more internal rootboxes.
		/// </summary>
		/// <returns></returns>
		/// ------------------------------------------------------------------------------------
		public virtual List<IVwRootBox> AllRootBoxes()
		{
			CheckDisposed();

			List<IVwRootBox> rootboxes = new List<IVwRootBox>();
			for (int i = 0; i < m_slaves.Count; i++)
			{
				if (m_slaves[i] is IRootSite)
				{
					IRootSite rs = (IRootSite)m_slaves[i];
					rootboxes.AddRange(rs.AllRootBoxes());
				}
			}
			return rootboxes;
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:21,代码来源:RootSite.cs

示例10: GetMessageTargets

		/// <summary>
		/// return an array of all of the objects which should
		/// 1) be queried when looking for someone to deliver a message to
		/// 2) be potential recipients of a broadcast
		/// </summary>
		/// <returns></returns>
		public IxCoreColleague[] GetMessageTargets()
		{
			CheckDisposed();

			List<IxCoreColleague> colleagues = new List<IxCoreColleague>();
			if (m_list != null && m_list is IxCoreColleague)
				colleagues.AddRange((m_list as IxCoreColleague).GetMessageTargets());
			colleagues.Add(this);
			return colleagues.ToArray();
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:16,代码来源:RecordClerk.cs

示例11: CreateComboAndTreeItems

		private void CreateComboAndTreeItems(string sLayoutType)
		{
			var configureLayouts = XmlUtils.FindNode(m_configurationParameters, "configureLayouts");
			var layoutTypes = new List<XmlNode>();
			layoutTypes.AddRange(configureLayouts.ChildNodes.OfType<XmlNode>().Where(x => x.Name == "layoutType"));
			Debug.Assert(layoutTypes.Count > 0);
			var xnConfig = layoutTypes[0].SelectSingleNode("configure");
			Debug.Assert(xnConfig != null);
			var configClass = XmlUtils.GetManditoryAttributeValue(xnConfig, "class");
			foreach (var xn in m_layouts.GetLayoutTypes())
			{
				var xnConfigure = xn.SelectSingleNode("configure");
				if (XmlUtils.GetManditoryAttributeValue(xnConfigure, "class") == configClass)
					layoutTypes.Add(xn);
			}
			foreach (var xnLayoutType in layoutTypes)
			{
				if (xnLayoutType is XmlComment || xnLayoutType.Name != "layoutType")
					continue;
				string sLabel = XmlUtils.GetAttributeValue(xnLayoutType, "label");
				if (sLabel == "$wsName")
				{
					string sLayout = XmlUtils.GetAttributeValue(xnLayoutType, "layout");
					Debug.Assert(sLayout.EndsWith("-$ws"));
					bool fReversalIndex = true;
					foreach (XmlNode config in xnLayoutType.ChildNodes)
					{
						if (config is XmlComment || config.Name != "configure")
							continue;
						string sClass = XmlUtils.GetAttributeValue(config, "class");
						if (sClass != "ReversalIndexEntry")
						{
							fReversalIndex = false;
							break;
						}
					}
					if (!fReversalIndex)
						continue;
					foreach (IReversalIndex ri in m_cache.LangProject.LexDbOA.CurrentReversalIndices)
					{
						IWritingSystem ws = m_cache.ServiceLocator.WritingSystemManager.Get(ri.WritingSystem);
						string sWsTag = ws.Id;
						m_layouts.ExpandWsTaggedNodes(sWsTag);	// just in case we have a new index.
						// Create a copy of the layoutType node for the specific writing system.
						XmlNode xnRealLayout = CreateWsSpecficLayoutType(xnLayoutType,
							ws.DisplayLabel, sLayout.Replace("$ws", sWsTag), sWsTag);
						List<LayoutTreeNode> rgltnStyle = BuildLayoutTree(xnRealLayout);
						m_cbDictType.Items.Add(new LayoutTypeComboItem(xnRealLayout, rgltnStyle));
					}
				}
				else
				{
					List<LayoutTreeNode> rgltnStyle = BuildLayoutTree(xnLayoutType);
					m_cbDictType.Items.Add(new LayoutTypeComboItem(xnLayoutType, rgltnStyle));
				}
			}
			int idx = -1;
			for (int i = 0; i < m_cbDictType.Items.Count; ++i)
			{
				var item = m_cbDictType.Items[i] as LayoutTypeComboItem;
				if (item != null && item.LayoutName == sLayoutType)
				{
					idx = i;
					break;
				}
			}
			if (idx < 0)
				idx = 0;
			m_cbDictType.SelectedIndex = idx;
		}
开发者ID:bbriggs,项目名称:FieldWorks,代码行数:70,代码来源:XmlDocConfigureDlg.cs

示例12: CoreDoIt

		/// <summary>
		/// Core of the DoIt method, may be called with or without progress dialog.
		/// </summary>
		/// <param name="dlg"></param>
		private void CoreDoIt(ProgressDialogWorkingOn dlg)
		{
			// While we do the changes which we can much more efficiently Undo/Redo in this action,
			// we don't want the various changes we make generating masses of SqlUndoActions.
			IActionHandler handler = m_cache.ActionHandlerAccessor;
			m_cache.MainCacheAccessor.SetActionHandler(null);
			m_hvoNewWf = WfiWordform.FindOrCreateWordform(m_cache, m_newSpelling, m_vernWs, true);
			try
			{
				foreach (KeyValuePair<int, ParaChangeInfo> pair in m_changedParas)
				{
					UpdateOffsets(pair.Key, pair.Value);
					// Review JohnT: should we do the PropChanged, or not?? If not, we should force
					// a Refresh when the dialog closes.
					if (!pair.Value.OldContents.Equals(pair.Value.NewContents))
						pair.Value.SetString(m_cache, pair.Value.NewContents, true);
					UpdateProgress(dlg);
				}
				UpdateInstanceOf(m_hvoNewWf, dlg);
			}
			finally
			{
				m_cache.MainCacheAccessor.SetActionHandler(handler);
			}
			if (dlg != null)
				dlg.WorkingOnText = MEStrings.ksDealingAnalyses;
			m_cache.BeginUndoTask(string.Format(MEStrings.ksUndoChangeSpelling, m_oldSpelling, m_newSpelling),
				string.Format(MEStrings.ksRedoChangeSpelling, m_oldSpelling, m_newSpelling));
			m_cache.ActionHandlerAccessor.AddAction(this);
			UpdateProgress(dlg);

			// The destination wordform really exists and should be marked correct.
			IWfiWordform wf = WfiWordform.CreateFromDBObject(m_cache, m_hvoNewWf);
			m_oldOccurrencesNewWf = wf.OccurrencesInTexts.ToArray();
			m_fWasNewSpellingCorrect = wf.SpellingStatus == (int)SpellingStatusStates.correct;
			wf.SpellingStatus = (int)SpellingStatusStates.correct;
			EnchantHelper.SetSpellingStatus(m_newSpelling, m_vernWs,
				m_cache.LanguageWritingSystemFactoryAccessor, true);
			UpdateProgress(dlg);

			m_hvoOldWf = WfiWordform.FindOrCreateWordform(m_cache, m_oldSpelling, m_vernWs, true);
			IWfiWordform wfOld = WfiWordform.CreateFromDBObject(m_cache, m_hvoOldWf);
			m_oldOccurrencesOldWf = wfOld.OccurrencesInTexts.ToArray();
			m_fWasOldSpellingCorrect = wfOld.SpellingStatus == (int)SpellingStatusStates.correct;
			UpdateProgress(dlg);

			// Compute new occurrence lists, save and cache
			Set<int> changes = new Set<int>();
			foreach (ParaChangeInfo info in m_changedParas.Values)
				changes.AddRange(info.Changes);
			if (AllChanged)
			{
				m_newOccurrencesOldWf = new int[0]; // no remaining occurrences
			}
			else
			{
				// Only some changed, need to figure m_newOccurrences
				List<int> newOccurrencesOldWf = new List<int>();
				foreach (int hvo in m_oldOccurrencesOldWf)
					if (!changes.Contains(hvo))
						newOccurrencesOldWf.Add(hvo);
				m_newOccurrencesOldWf = newOccurrencesOldWf.ToArray();
			}
			UpdateProgress(dlg);
			List<int> newOccurrences = new List<int>(m_oldOccurrencesNewWf.Length + changes.Count);
			newOccurrences.AddRange(m_oldOccurrencesNewWf);
			foreach (int hvo in changes)
			{
				if (m_cache.IsDummyObject(hvo))
					// if this is a dummy annotation, make sure we update the owner
					m_cache.VwCacheDaAccessor.CacheObjProp(hvo, (int)CmObjectFields.kflidCmObject_Owner, m_hvoNewWf);
				newOccurrences.Add(hvo);
			}
			m_newOccurrencesNewWf = newOccurrences.ToArray();
			int vhId = BaseVirtualHandler.GetInstalledHandlerTag(m_cache, "WfiWordform", "OccurrencesInTexts");
			m_cache.VwCacheDaAccessor.CacheVecProp(m_hvoOldWf, vhId, m_newOccurrencesOldWf, m_newOccurrencesOldWf.Length);
			m_cache.VwCacheDaAccessor.CacheVecProp(m_hvoNewWf, vhId, m_newOccurrencesNewWf, m_newOccurrencesNewWf.Length);
			SendCountVirtualPropChanged(m_hvoNewWf);
			SendCountVirtualPropChanged(m_hvoOldWf);
			UpdateProgress(dlg);

			// Deal with analyses.
			if (CopyAnalyses)
			{
				foreach (WfiAnalysis analysis in wfOld.AnalysesOC)
				{
					// Only copy approved analyses.
					if (analysis.GetAgentOpinion(m_cache.LangProject.DefaultUserAgent) != Opinions.approves)
						continue;
					IWfiAnalysis newAnalysis = wf.AnalysesOC.Add(new WfiAnalysis());
					foreach (WfiGloss gloss in analysis.MeaningsOC)
					{
						IWfiGloss newGloss = newAnalysis.MeaningsOC.Add(new WfiGloss());
						newGloss.Form.CopyAlternatives(gloss.Form);
					}
					foreach (WfiMorphBundle bundle in analysis.MorphBundlesOS)
//.........这里部分代码省略.........
开发者ID:sillsdev,项目名称:WorldPad,代码行数:101,代码来源:RespellerDlg.cs

示例13: ConcordParagraphsOfTexts

		internal static List<int> ConcordParagraphsOfTexts(FdoCache cache, int[] hvosStText, ProgressState progress,
			IMatcher matcher, ConcordanceControl.ConcordanceLines line)
		{
			using (ParagraphParser pp = new ParagraphParser(cache))
			{
				// this will effectively clear ConcordanceWordforms, which seems overkill, but
				// since we are changing the occurrences on those wordforms,
				// and also possibly adding many new wordforms, we should just allow RecordLists that use
				// ConcordanceWordforms to reload the list.
				// (Enhance: is there any way we can make those lists be smart about when they need to reload,
				// rather than forcing them to?)
				(pp.m_wfi as WordformInventory).SuspendUpdatingConcordanceWordforms = true;
				pp.CreateDummyWordforms = true;
				pp.m_hvosStText = hvosStText;
				if (matcher != null)
					pp.m_matchingAnnotations = new List<int>();
				ParagraphParser.ResetParseSessionDependentStaticData();

				List<int> hvosParas = new List<int>();
				ISilDataAccess sda = cache.MainCacheAccessor;
				foreach (int hvo in hvosStText)
				{
					int chvoMax = sda.get_VecSize(hvo, (int)StText.StTextTags.kflidParagraphs);
					using (ArrayPtr arrayPtr = MarshalEx.ArrayToNative(chvoMax, typeof(int)))
					{
						int chvo;
						sda.VecProp(hvo, (int)StText.StTextTags.kflidParagraphs, chvoMax, out chvo, arrayPtr);
						Debug.Assert(chvo == chvoMax);
						hvosParas.AddRange((int[])MarshalEx.NativeToArray(arrayPtr, chvo, typeof(int)));
					}
				}
				int[] hvosStTxtPara = hvosParas.ToArray();
				// Estimate the number of total number of milestones we'll set.
				// Enhance: we could construct a way to set percentage done based upon
				// number of texts and paragraphs in each text.
				if (progress is MilestoneProgressState)
				{
					MilestoneProgressState mp = progress as SIL.FieldWorks.Common.Controls.MilestoneProgressState;
					for (int i = 0; i < hvosStTxtPara.Length; ++i)
					{
						mp.AddMilestone(1);
					}
				}
				// Preload all the paragraphs.
				cache.PreloadIfMissing(hvosStTxtPara, (int)StTxtPara.StTxtParaTags.kflidContents, 0, false);

				// Parse each text to load our paragraph and wordform segment annotations.
				int cPara = 0;
				using (SuppressSubTasks suppressor = new SuppressSubTasks(cache, true))
				{
					foreach (IStTxtPara para in new FdoObjectSet<IStTxtPara>(cache, hvosStTxtPara, false))
					{
						++cPara;
						pp.Parse(para, matcher, line);
						progress.SetMilestone();
						progress.Breath();
						if (pp.m_matchingAnnotations != null &&
							pp.m_matchingAnnotations.Count >= ConcordanceControl.MaxConcordanceMatches())
						{
							MessageBox.Show(String.Format(ITextStrings.ksShowingOnlyTheFirstXXXMatches,
								pp.m_matchingAnnotations.Count, cPara, hvosStTxtPara.Length),
								ITextStrings.ksNotice, MessageBoxButtons.OK, MessageBoxIcon.Information);
							break;
						}
					}
					pp.CleanupLeftoverAnnotations(progress);
				}
				progress.SetMilestone();
				progress.Breath();
				(pp.m_wfi as WordformInventory).SuspendUpdatingConcordanceWordforms = false;
				return pp.m_matchingAnnotations;
			}
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:73,代码来源:ITextUtils.cs

示例14: appendIntArray

		private static int[] appendIntArray(int[] first, int[] second)
		{
			if (first.Length == 0)
				return second;
			if (second.Length == 0)
				return first;
			List<int> result = new List<int>(first);
			result.AddRange(second);
			return result.ToArray();
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:10,代码来源:ITextUtils.cs

示例15: OnLoadSettings

		/// ------------------------------------------------------------------------------------
		/// <summary>
		/// Save misc. view settings.
		/// </summary>
		/// ------------------------------------------------------------------------------------
		protected override void OnLoadSettings(RegistryKey key)
		{
			base.OnLoadSettings(key);

			if (m_availableChecksTree.Nodes.Count == 0)
				return;

			string value = key.GetValue("SelectedCheck", null) as string;
			if (string.IsNullOrEmpty(value))
			{
				m_availableChecksTree.SelectedNode = m_availableChecksTree.Nodes[0];
				return;
			}

			Guid checkId = new Guid(value);

			// Get all the checked ScrChkTreeNodes
			List<TreeNode> nodes = new List<TreeNode>(m_availableChecksTree.GetNodesOfTypeWithState(
				typeof(ScrChkTreeNode), TriStateTreeView.CheckState.Checked));

			// Add to it, all the unchecked ScrChkTreeNodes
			nodes.AddRange(m_availableChecksTree.GetNodesOfTypeWithState(
				typeof(ScrChkTreeNode), TriStateTreeView.CheckState.Unchecked));

			// Find the node corresponding to the check id that was found in the registry.
			foreach (TreeNode node in nodes)
			{
				if (((ScrChkTreeNode)node).ScrCheck.CheckId == checkId)
				{
					m_availableChecksTree.SelectedNode = node;
					return;
				}
			}
		}
开发者ID:sillsdev,项目名称:WorldPad,代码行数:39,代码来源:EditorialChecksControl.cs


注:本文中的XCore.List.AddRange方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。