@@ -2426,7 +2426,7 @@ private void EnsureLoader()
24262426
24272427 internal virtual IParaDataLoader CreateParaLoader ( )
24282428 {
2429- return new InterlinViewCacheLoader ( new AnalysisGuessServices ( m_cache , IsParsingDevMode ( ) ) , GuessCache ) ;
2429+ return new InterlinViewCacheLoader ( new AnalysisGuessServices ( m_cache , IsParsingDevMode ( ) ) , GuessCache , RootSite ) ;
24302430 }
24312431
24322432 internal void RecordGuessIfNotKnown ( AnalysisOccurrence selected )
@@ -2559,10 +2559,11 @@ public class InterlinViewCacheLoader : IParaDataLoader
25592559 {
25602560 private InterlinViewDataCache m_guessCache ;
25612561 public InterlinViewCacheLoader ( AnalysisGuessServices guessServices ,
2562- InterlinViewDataCache guessCache )
2562+ InterlinViewDataCache guessCache , InterlinDocRootSiteBase rootSite )
25632563 {
25642564 GuessServices = guessServices ;
25652565 m_guessCache = guessCache ;
2566+ RootSite = rootSite ;
25662567 }
25672568
25682569 /// <summary>
@@ -2571,6 +2572,8 @@ public InterlinViewCacheLoader(AnalysisGuessServices guessServices,
25712572 public AnalysisGuessServices GuessServices { get ; private set ; }
25722573 public InterlinViewDataCache GuessCache { get { return m_guessCache ; } }
25732574
2575+ public InterlinDocRootSiteBase RootSite ;
2576+
25742577 #region IParaDataLoader Members
25752578
25762579 public void LoadParaData ( IStTxtPara para )
@@ -2630,7 +2633,12 @@ private void RecordGuessIfAvailable(AnalysisOccurrence occurrence)
26302633
26312634 // we don't provide guesses for glosses
26322635 if ( occurrence . Analysis is IWfiGloss )
2636+ {
2637+ if ( IsParsingDevMode ( ) )
2638+ // Trigger redisplay.
2639+ SetObjProp ( occurrence , InterlinViewDataCache . AnalysisMostApprovedFlid , 0 ) ;
26332640 return ;
2641+ }
26342642 // next get the best guess for wordform or analysis
26352643
26362644 IAnalysis wag = occurrence . Analysis ;
@@ -2647,6 +2655,13 @@ private void RecordGuessIfAvailable(AnalysisOccurrence occurrence)
26472655 }
26482656 }
26492657
2658+ internal bool IsParsingDevMode ( )
2659+ {
2660+ if ( RootSite ? . GetMaster ( ) == null )
2661+ return false ;
2662+ return RootSite . GetMaster ( ) . IsParsingDevMode ( ) ;
2663+ }
2664+
26502665 public IAnalysis GetGuessForWordform ( IWfiWordform wf , int ws )
26512666 {
26522667 return GuessServices . GetBestGuess ( wf , ws ) ;
@@ -2703,10 +2718,10 @@ internal class ParaDataUpdateTracker : InterlinViewCacheLoader
27032718 private HashSet < AnalysisOccurrence > m_annotationsChanged = new HashSet < AnalysisOccurrence > ( ) ;
27042719 private HashSet < AnalysisOccurrence > m_annotationsUnchanged = new HashSet < AnalysisOccurrence > ( ) ;
27052720 private AnalysisOccurrence m_currentAnnotation ;
2706- HashSet < int > m_analysesWithNewGuesses = new HashSet < int > ( ) ;
2721+ HashSet < int > m_wordformsWithNewGuesses = new HashSet < int > ( ) ;
27072722
2708- public ParaDataUpdateTracker ( AnalysisGuessServices guessServices , InterlinViewDataCache guessCache ) :
2709- base ( guessServices , guessCache )
2723+ public ParaDataUpdateTracker ( AnalysisGuessServices guessServices , InterlinViewDataCache guessCache , InterlinDocRootSiteBase rootSite ) :
2724+ base ( guessServices , guessCache , rootSite )
27102725 {
27112726 }
27122727
@@ -2716,9 +2731,9 @@ protected override void NoteCurrentAnnotation(AnalysisOccurrence occurrence)
27162731 base . NoteCurrentAnnotation ( occurrence ) ;
27172732 }
27182733
2719- public void NoteChangedAnalysis ( int hvo )
2734+ public void NoteChangedWordform ( int hvo )
27202735 {
2721- m_analysesWithNewGuesses . Add ( hvo ) ;
2736+ m_wordformsWithNewGuesses . Add ( hvo ) ;
27222737 }
27232738
27242739 private void MarkCurrentAnnotationAsChanged ( )
@@ -2739,7 +2754,7 @@ internal IList<AnalysisOccurrence> ChangedAnnotations
27392754 // Include occurrences that are unchanged but might add a yellow background.
27402755 foreach ( var unchangedAnnotation in m_annotationsUnchanged )
27412756 {
2742- if ( m_analysesWithNewGuesses . Contains ( unchangedAnnotation . Analysis . Hvo ) )
2757+ if ( m_wordformsWithNewGuesses . Contains ( unchangedAnnotation . Analysis . Wordform . Hvo ) )
27432758 {
27442759 m_annotationsChanged . Add ( unchangedAnnotation ) ;
27452760 }
@@ -2755,7 +2770,7 @@ protected override void SetObjProp(AnalysisOccurrence occurrence, int flid, int
27552770 {
27562771 base . SetObjProp ( occurrence , flid , newObjValue ) ;
27572772 m_annotationsChanged . Add ( occurrence ) ;
2758- m_analysesWithNewGuesses . Add ( occurrence . Analysis . Hvo ) ;
2773+ m_wordformsWithNewGuesses . Add ( occurrence . Analysis . Wordform . Hvo ) ;
27592774 MarkCurrentAnnotationAsChanged ( ) ;
27602775 }
27612776 else
0 commit comments