SIL.FieldWorks.IText.InterlinDocForAnalysis.PropChanged C# (CSharp) Method

PropChanged() public method

public PropChanged ( int hvo, int tag, int ivMin, int cvIns, int cvDel ) : void
hvo int
tag int
ivMin int
cvIns int
cvDel int
return void
		public override void PropChanged(int hvo, int tag, int ivMin, int cvIns, int cvDel)
		{
			base.PropChanged(hvo, tag, ivMin, cvIns, cvDel);
			if (IsFocusBoxInstalled && FocusBox.SelectedOccurrence != null
				&& tag == SegmentTags.kflidAnalyses && FocusBox.SelectedOccurrence.Segment.Hvo == hvo)
			{
				int index = FocusBox.SelectedOccurrence.Index;
				var seg = FocusBox.SelectedOccurrence.Segment;
				if (!seg.IsValidObject || index >= seg.AnalysesRS.Count ||
					(FocusBox.SelectedOccurrence.Analysis is IPunctuationForm))
				{
					// Somebody drastically changed things under us, maybe from another window.
					// Try to fend off a crash.
					TryHideFocusBoxAndUninstall();
					return;
				}
				if (seg.AnalysesRS[index] != FocusBox.InitialAnalysis.Analysis)
				{
					// Somebody made a less drastic change under us. Reset the focus box.
					FocusBox.SelectOccurrence(FocusBox.SelectedOccurrence);
					MoveFocusBoxIntoPlace();
				}
			}
		}
InterlinDocForAnalysis